forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.2 KiB
82 lines
2.2 KiB
I2C for Atmel platforms |
|
|
|
Required properties : |
|
- compatible : Must be one of: |
|
"atmel,at91rm9200-i2c", |
|
"atmel,at91sam9261-i2c", |
|
"atmel,at91sam9260-i2c", |
|
"atmel,at91sam9g20-i2c", |
|
"atmel,at91sam9g10-i2c", |
|
"atmel,at91sam9x5-i2c", |
|
"atmel,sama5d4-i2c", |
|
"atmel,sama5d2-i2c", |
|
"microchip,sam9x60-i2c". |
|
- reg: physical base address of the controller and length of memory mapped |
|
region. |
|
- interrupts: interrupt number to the cpu. |
|
- #address-cells = <1>; |
|
- #size-cells = <0>; |
|
- clocks: phandles to input clocks. |
|
|
|
Optional properties: |
|
- clock-frequency: Desired I2C bus frequency in Hz, otherwise defaults to 100000 |
|
- dmas: A list of two dma specifiers, one for each entry in dma-names. |
|
- dma-names: should contain "tx" and "rx". |
|
- atmel,fifo-size: maximum number of data the RX and TX FIFOs can store for FIFO |
|
capable I2C controllers. |
|
- i2c-sda-hold-time-ns: TWD hold time, only available for: |
|
"atmel,sama5d4-i2c", |
|
"atmel,sama5d2-i2c", |
|
"microchip,sam9x60-i2c". |
|
- scl-gpios: specify the gpio related to SCL pin |
|
- sda-gpios: specify the gpio related to SDA pin |
|
- pinctrl: add extra pinctrl to configure i2c pins to gpio function for i2c |
|
bus recovery, call it "gpio" state |
|
- Child nodes conforming to i2c bus binding |
|
|
|
|
|
Examples : |
|
|
|
i2c0: i2c@fff84000 { |
|
compatible = "atmel,at91sam9g20-i2c"; |
|
reg = <0xfff84000 0x100>; |
|
interrupts = <12 4 6>; |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
clocks = <&twi0_clk>; |
|
clock-frequency = <400000>; |
|
|
|
24c512@50 { |
|
compatible = "atmel,24c512"; |
|
reg = <0x50>; |
|
pagesize = <128>; |
|
} |
|
} |
|
|
|
i2c0: i2c@f8034600 { |
|
compatible = "atmel,sama5d2-i2c"; |
|
reg = <0xf8034600 0x100>; |
|
interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>; |
|
dmas = <&dma0 |
|
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)) |
|
AT91_XDMAC_DT_PERID(11)>, |
|
<&dma0 |
|
(AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1)) |
|
AT91_XDMAC_DT_PERID(12)>; |
|
dma-names = "tx", "rx"; |
|
#address-cells = <1>; |
|
#size-cells = <0>; |
|
clocks = <&flx0>; |
|
atmel,fifo-size = <16>; |
|
i2c-sda-hold-time-ns = <336>; |
|
pinctrl-names = "default", "gpio"; |
|
pinctrl-0 = <&pinctrl_i2c0>; |
|
pinctrl-1 = <&pinctrl_i2c0_gpio>; |
|
sda-gpios = <&pioA 30 GPIO_ACTIVE_HIGH>; |
|
scl-gpios = <&pioA 31 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; |
|
|
|
wm8731: wm8731@1a { |
|
compatible = "wm8731"; |
|
reg = <0x1a>; |
|
}; |
|
};
|
|
|