104 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| Qualcomm Universal Peripheral (QUP) Serial Peripheral Interface (SPI)
 | |
| 
 | |
| The QUP core is an AHB slave that provides a common data path (an output FIFO
 | |
| and an input FIFO) for serial peripheral interface (SPI) mini-core.
 | |
| 
 | |
| SPI in master mode supports up to 50MHz, up to four chip selects, programmable
 | |
| data path from 4 bits to 32 bits and numerous protocol variants.
 | |
| 
 | |
| Required properties:
 | |
| - compatible:     Should contain:
 | |
| 		  "qcom,spi-qup-v1.1.1" for 8660, 8960 and 8064.
 | |
| 		  "qcom,spi-qup-v2.1.1" for 8974 and later
 | |
| 		  "qcom,spi-qup-v2.2.1" for 8974 v2 and later.
 | |
| 
 | |
| - reg:            Should contain base register location and length
 | |
| - interrupts:     Interrupt number used by this controller
 | |
| 
 | |
| - clocks:         Should contain the core clock and the AHB clock.
 | |
| - clock-names:    Should be "core" for the core clock and "iface" for the
 | |
|                   AHB clock.
 | |
| 
 | |
| - #address-cells: Number of cells required to define a chip select
 | |
|                   address on the SPI bus. Should be set to 1.
 | |
| - #size-cells:    Should be zero.
 | |
| 
 | |
| Optional properties:
 | |
| - spi-max-frequency: Specifies maximum SPI clock frequency,
 | |
|                      Units - Hz. Definition as per
 | |
|                      Documentation/devicetree/bindings/spi/spi-bus.txt
 | |
| - num-cs:	total number of chipselects
 | |
| - cs-gpios:	should specify GPIOs used for chipselects.
 | |
| 		The gpios will be referred to as reg = <index> in the SPI child
 | |
| 		nodes.  If unspecified, a single SPI device without a chip
 | |
| 		select can be used.
 | |
| 
 | |
| - dmas:         Two DMA channel specifiers following the convention outlined
 | |
|                 in bindings/dma/dma.txt
 | |
| - dma-names:    Names for the dma channels, if present. There must be at
 | |
|                 least one channel named "tx" for transmit and named "rx" for
 | |
|                 receive.
 | |
| 
 | |
| SPI slave nodes must be children of the SPI master node and can contain
 | |
| properties described in Documentation/devicetree/bindings/spi/spi-bus.txt
 | |
| 
 | |
| Example:
 | |
| 
 | |
| 	spi_8: spi@f9964000 { /* BLSP2 QUP2 */
 | |
| 
 | |
| 		compatible = "qcom,spi-qup-v2";
 | |
| 		#address-cells = <1>;
 | |
| 		#size-cells = <0>;
 | |
| 		reg = <0xf9964000 0x1000>;
 | |
| 		interrupts = <0 102 0>;
 | |
| 		spi-max-frequency = <19200000>;
 | |
| 
 | |
| 		clocks = <&gcc GCC_BLSP2_QUP2_SPI_APPS_CLK>, <&gcc GCC_BLSP2_AHB_CLK>;
 | |
| 		clock-names = "core", "iface";
 | |
| 
 | |
| 		dmas = <&blsp1_bam 13>, <&blsp1_bam 12>;
 | |
| 		dma-names = "rx", "tx";
 | |
| 
 | |
| 		pinctrl-names = "default";
 | |
| 		pinctrl-0 = <&spi8_default>;
 | |
| 
 | |
| 		device@0 {
 | |
| 			compatible = "arm,pl022-dummy";
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <1>;
 | |
| 			reg = <0>; /* Chip select 0 */
 | |
| 			spi-max-frequency = <19200000>;
 | |
| 			spi-cpol;
 | |
| 		};
 | |
| 
 | |
| 		device@1 {
 | |
| 			compatible = "arm,pl022-dummy";
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <1>;
 | |
| 			reg = <1>; /* Chip select 1 */
 | |
| 			spi-max-frequency = <9600000>;
 | |
| 			spi-cpha;
 | |
| 		};
 | |
| 
 | |
| 		device@2 {
 | |
| 			compatible = "arm,pl022-dummy";
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <1>;
 | |
| 			reg = <2>; /* Chip select 2 */
 | |
| 			spi-max-frequency = <19200000>;
 | |
| 			spi-cpol;
 | |
| 			spi-cpha;
 | |
| 		};
 | |
| 
 | |
| 		device@3 {
 | |
| 			compatible = "arm,pl022-dummy";
 | |
| 			#address-cells = <1>;
 | |
| 			#size-cells = <1>;
 | |
| 			reg = <3>; /* Chip select 3 */
 | |
| 			spi-max-frequency = <19200000>;
 | |
| 			spi-cpol;
 | |
| 			spi-cpha;
 | |
| 			spi-cs-high;
 | |
| 		};
 | |
| 	};
 | 
