This article begins by analyzing the kernel's I2C subsystem.
Description: 1. The kernel version of the analysis is 2.6.37.1
2. Development Board for TQ2440, onboard ARM9 (s3c2440)
3.I2C equipment for AT24C02
4. The sequence of analysis is the registration order of the Kernel I2C subsystem (that is, the order in which this series of articles is published).
It is
I2C bus driver.
Code accessed by the user.
The functions in i2c-core.c/I2C-. h are the encapsulation call routines that your actual I2C bus driver needs to implement. Each
The adapter must declare some callback functions to implement these standard calls.
I2C. h: i2c_get_fu
I2C subsystem framework, i2c Subsystem
1 I2C subsystem framework
The Linux I2C subsystem consists of the I2C core layer, I2C bus driver, and I2C device driver.
(1)
Linux under the I2C-driven loading process, divided into I2C equipment layer, I2C adapter layer and I2C core layer
The I2C device driver layer is the drive we write for a particular I2C device, and the following is the
Linux using IIC Bus Read and write I2C from device registers by Handavei @ Jilin Normal University handawei@jusontech.com reproduced please be sure to indicate the source ******************* *******
2012.7.16 1, this paper gives the implementation program of I2C from device using IIC bus under Linux.
2, this paper gives some very hidden error solutions in programming. 3, this article's reading and writing p
Open the kernel configuration entry config_i2c_chardev and load the I2c-dev module.
Device node:/dev/i2c-x.
User space accesses any I2C device mounted to the I2C adapter through the device node.
The Read/write function of the I2c-dev module does not support block transport,
This document describes how to develop an I2C interface touch screen driver mounted on the friendly mini-2440 platform.
Kernel edition linux-2.6.32.2,The platform is a touch screen with the arm9-s3c2440 + I2C interface.
For exampleLinux I2C driver architectureDescriptionHttp://www.lupaworld.com/273398/viewspace-204237.html
To mount a new
Probe Method of I2C driver framework, i2c framework probe
The Linux-based I2C driver adopts the probe method. The Linux driver for any device supporting I2C bus can be written according to the following framework.
The I2C device connects to the cpu's specific
busy, wait for the specified time, if it is still busy, it means that the I2C bus is down (because 99.9% is because our I2C communication timing is not very strict with the I2C protocol, or the encapsulated I2C communication module does not contain the Defense Code (error recovery Code). In this case, we need to call
Original article: Documentation/I2C/upgrading-clientsTranslator: Guo shaobei2010/05/10
Update I2C drivers to the new 2.6 Driver Model========================================================== ==========
Note: the I2C driver here refers to the I2C client driver, for example, RTC, USBTransceiver driver and so on.
Ben doo
Through the/dev/i2c-n node, the user can directly access the I2C peripheral registers on the userspace board, mainly through i2c_rdwr this IO control command to pass i2c_msg array to kernel to execute. The following code can complete this function:
#include
In android/external/new I2c-util directory, the above source code into ANDROID/EXTERNAL/
data when the SCL is lowSjmp rwaitj3
5. Summary
Based on the arbitration principle in the bus protocol, the proposed method of simulating I2C multi-master communication based on latency comparison not only reflects the efficiency of I2C bus, but also has good scalability. It enables common MCU with no I2C interface to be applied in Multi-master communication sys
Is STM32 hardware I2C a pitfall ?, Stm32 hardware i2c
/**
**************************************** **************************************
* @ Author Maoxiao Hu
* @ Version V1.0.0
* @ Date May-2015
**************************************** **************************************
*
**************************************** **************************************
**/
I have been debugging the hardware
After reading the I2C official agreement document, take s3c2440 and EEPROM to verify it.
Originally want to use s3c2440 SDA and SCL pin Gpio to simulate, but in the absence of an oscilloscope for a week, how can not come out, finally or give up. Even reference to Linux under the i2c-algo-bit.c and I2C-GPIO.C, Still not tuned out. If there is an oscilloscope, it m
settings to register Cdev:cdev_init (cdev,file_operations); Cdev_add ()(1) Read:{/* Check whether the I2c_adapter supports read-byte functionality/* I2c_check_functionality (I2c_func_smbus_read_byte_data) i2c_smbus_read_byte_data ()/ /from EEPROM read a byte of Data copy_to_user ()//Copy to user space}Not all I2C or SMBus adapters implement all the functionality on the I2C
I2C bus learning-check for missing traps-S3C2440 I2C Controller
After learning the theoretical part of the IIC bus protocol, I think we should learn how to operate the 2440 IIC controller. After all, it is all about learning the S3C2440, so I will add this part. The I2C interface of S3C2440 can work in four modes: Host transmitter, host receiver, slave transmitt
A cssp specification-visual enhancement engine chip produced by quick logic is used to enhance the image data output to the Panel. Schematic:
Generally, you only need to add an I2C device and write it to the register group during initialization. Linux I2C architecture:I2C core i2c-core.c: Provides
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.