123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- * Device tree bindings for Atmel Flexcom (Flexible Serial Communication Unit)
- The Atmel Flexcom is just a wrapper which embeds a SPI controller, an I2C
- controller and an USART. Only one function can be used at a time and is chosen
- at boot time according to the device tree.
- Required properties:
- - compatible: Should be "atmel,sama5d2-flexcom"
- - reg: Should be the offset/length value for Flexcom dedicated
- I/O registers (without USART, TWI or SPI registers).
- - clocks: Should be the Flexcom peripheral clock from PMC.
- - #address-cells: Should be <1>
- - #size-cells: Should be <1>
- - ranges: Should be one range for the full I/O register region
- (including USART, TWI and SPI registers).
- - atmel,flexcom-mode: Should be one of the following values:
- - <1> for USART
- - <2> for SPI
- - <3> for I2C
- Required child:
- A single available child device of type matching the "atmel,flexcom-mode"
- property.
- The phandle provided by the clocks property of the child is the same as one for
- the Flexcom parent.
- For other properties, please refer to the documentations of the respective
- device:
- - ../serial/atmel-usart.txt
- - ../spi/spi_atmel.txt
- - ../i2c/i2c-at91.txt
- Example:
- flexcom@f8034000 {
- compatible = "atmel,sama5d2-flexcom";
- reg = <0xf8034000 0x200>;
- clocks = <&flx0_clk>;
- #address-cells = <1>;
- #size-cells = <1>;
- ranges = <0x0 0xf8034000 0x800>;
- atmel,flexcom-mode = <2>;
- spi@400 {
- compatible = "atmel,at91rm9200-spi";
- reg = <0x400 0x200>;
- interrupts = <19 IRQ_TYPE_LEVEL_HIGH 7>;
- pinctrl-names = "default";
- pinctrl-0 = <&pinctrl_flx0_default>;
- #address-cells = <1>;
- #size-cells = <0>;
- clocks = <&flx0_clk>;
- clock-names = "spi_clk";
- atmel,fifo-size = <32>;
- mtd_dataflash@0 {
- compatible = "atmel,at25f512b";
- reg = <0>;
- spi-max-frequency = <20000000>;
- };
- };
- };
|