64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
* 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>;
 | 
						|
		};
 | 
						|
	};
 | 
						|
};
 |