Merge branch 'spi-4.20' into spi-next
This commit is contained in:
@@ -53,20 +53,8 @@ Required properties:
|
||||
- clocks: Serial engine core clock needed by the device.
|
||||
|
||||
Qualcomm Technologies Inc. GENI Serial Engine based SPI Controller
|
||||
|
||||
Required properties:
|
||||
- compatible: Must contain "qcom,geni-spi".
|
||||
- reg: Must contain SPI register location and length.
|
||||
- interrupts: Must contain SPI controller interrupts.
|
||||
- clock-names: Must contain "se".
|
||||
- clocks: Serial engine core clock needed by the device.
|
||||
- spi-max-frequency: Specifies maximum SPI clock frequency, units - Hz.
|
||||
- #address-cells: Must be <1> to define a chip select address on
|
||||
the SPI bus.
|
||||
- #size-cells: Must be <0>.
|
||||
|
||||
SPI slave nodes must be children of the SPI master node and conform to SPI bus
|
||||
binding as described in Documentation/devicetree/bindings/spi/spi-bus.txt.
|
||||
node binding is described in
|
||||
Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.txt.
|
||||
|
||||
Example:
|
||||
geniqup@8c0000 {
|
||||
@@ -103,17 +91,4 @@ Example:
|
||||
pinctrl-1 = <&qup_1_uart_3_sleep>;
|
||||
};
|
||||
|
||||
spi0: spi@a84000 {
|
||||
compatible = "qcom,geni-spi";
|
||||
reg = <0xa84000 0x4000>;
|
||||
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "se";
|
||||
clocks = <&clock_gcc GCC_QUPV3_WRAP0_S0_CLK>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&qup_1_spi_2_active>;
|
||||
pinctrl-1 = <&qup_1_spi_2_sleep>;
|
||||
spi-max-frequency = <19200000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
}
|
||||
|
39
Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.txt
Normal file
39
Documentation/devicetree/bindings/spi/qcom,spi-geni-qcom.txt
Normal file
@@ -0,0 +1,39 @@
|
||||
GENI based Qualcomm Universal Peripheral (QUP) Serial Peripheral Interface (SPI)
|
||||
|
||||
The QUP v3 core is a GENI based 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: Must contain "qcom,geni-spi".
|
||||
- reg: Must contain SPI register location and length.
|
||||
- interrupts: Must contain SPI controller interrupts.
|
||||
- clock-names: Must contain "se".
|
||||
- clocks: Serial engine core clock needed by the device.
|
||||
- #address-cells: Must be <1> to define a chip select address on
|
||||
the SPI bus.
|
||||
- #size-cells: Must be <0>.
|
||||
|
||||
SPI Controller nodes must be child of GENI based Qualcomm Universal
|
||||
Peripharal. Please refer GENI based QUP wrapper controller node bindings
|
||||
described in Documentation/devicetree/bindings/soc/qcom/qcom,geni-se.txt.
|
||||
|
||||
SPI slave nodes must be children of the SPI master node and conform to SPI bus
|
||||
binding as described in Documentation/devicetree/bindings/spi/spi-bus.txt.
|
||||
|
||||
Example:
|
||||
spi0: spi@a84000 {
|
||||
compatible = "qcom,geni-spi";
|
||||
reg = <0xa84000 0x4000>;
|
||||
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "se";
|
||||
clocks = <&clock_gcc GCC_QUPV3_WRAP0_S0_CLK>;
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&qup_1_spi_2_active>;
|
||||
pinctrl-1 = <&qup_1_spi_2_sleep>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
36
Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.txt
Normal file
36
Documentation/devicetree/bindings/spi/qcom,spi-qcom-qspi.txt
Normal file
@@ -0,0 +1,36 @@
|
||||
Qualcomm Quad Serial Peripheral Interface (QSPI)
|
||||
|
||||
The QSPI controller allows SPI protocol communication in single, dual, or quad
|
||||
wire transmission modes for read/write access to slaves such as NOR flash.
|
||||
|
||||
Required properties:
|
||||
- compatible: An SoC specific identifier followed by "qcom,qspi-v1", such as
|
||||
"qcom,sdm845-qspi", "qcom,qspi-v1"
|
||||
- reg: Should contain the base register location and length.
|
||||
- interrupts: Interrupt number used by the controller.
|
||||
- clocks: Should contain the core and AHB clock.
|
||||
- clock-names: Should be "core" for core clock and "iface" for AHB clock.
|
||||
|
||||
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:
|
||||
|
||||
qspi: spi@88df000 {
|
||||
compatible = "qcom,sdm845-qspi", "qcom,qspi-v1";
|
||||
reg = <0x88df000 0x600>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "iface", "core";
|
||||
clocks = <&gcc GCC_QSPI_CNOC_PERIPH_AHB_CLK>,
|
||||
<&gcc GCC_QSPI_CORE_CLK>;
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <25000000>;
|
||||
spi-tx-bus-width = <2>;
|
||||
spi-rx-bus-width = <2>;
|
||||
};
|
||||
};
|
@@ -2,7 +2,9 @@ Renesas MSIOF spi controller
|
||||
|
||||
Required properties:
|
||||
- compatible : "renesas,msiof-r8a7743" (RZ/G1M)
|
||||
"renesas,msiof-r8a7744" (RZ/G1N)
|
||||
"renesas,msiof-r8a7745" (RZ/G1E)
|
||||
"renesas,msiof-r8a774a1" (RZ/G2M)
|
||||
"renesas,msiof-r8a7790" (R-Car H2)
|
||||
"renesas,msiof-r8a7791" (R-Car M2-W)
|
||||
"renesas,msiof-r8a7792" (R-Car V2H)
|
||||
@@ -11,10 +13,14 @@ Required properties:
|
||||
"renesas,msiof-r8a7795" (R-Car H3)
|
||||
"renesas,msiof-r8a7796" (R-Car M3-W)
|
||||
"renesas,msiof-r8a77965" (R-Car M3-N)
|
||||
"renesas,msiof-r8a77970" (R-Car V3M)
|
||||
"renesas,msiof-r8a77980" (R-Car V3H)
|
||||
"renesas,msiof-r8a77990" (R-Car E3)
|
||||
"renesas,msiof-r8a77995" (R-Car D3)
|
||||
"renesas,msiof-sh73a0" (SH-Mobile AG5)
|
||||
"renesas,sh-mobile-msiof" (generic SH-Mobile compatibile device)
|
||||
"renesas,rcar-gen2-msiof" (generic R-Car Gen2 and RZ/G1 compatible device)
|
||||
"renesas,rcar-gen3-msiof" (generic R-Car Gen3 compatible device)
|
||||
"renesas,rcar-gen3-msiof" (generic R-Car Gen3 and RZ/G2 compatible device)
|
||||
"renesas,sh-msiof" (deprecated)
|
||||
|
||||
When compatible with the generic version, nodes
|
||||
|
@@ -2,7 +2,7 @@ Synopsys DesignWare AMBA 2.0 Synchronous Serial Interface.
|
||||
|
||||
Required properties:
|
||||
- compatible : "snps,dw-apb-ssi" or "mscc,<soc>-spi", where soc is "ocelot" or
|
||||
"jaguar2"
|
||||
"jaguar2", or "amazon,alpine-dw-apb-ssi"
|
||||
- reg : The register base for the controller. For "mscc,<soc>-spi", a second
|
||||
register set is required (named ICPU_CFG:SPI_MST)
|
||||
- interrupts : One interrupt, used by the controller.
|
||||
|
@@ -3,6 +3,7 @@
|
||||
Required properties:
|
||||
- compatible :
|
||||
- "fsl,imx7ulp-spi" for LPSPI compatible with the one integrated on i.MX7ULP soc
|
||||
- "fsl,imx8qxp-spi" for LPSPI compatible with the one integrated on i.MX8QXP soc
|
||||
- reg : address and length of the lpspi master registers
|
||||
- interrupts : lpspi interrupt
|
||||
- clocks : lpspi clock specifier
|
||||
|
24
Documentation/devicetree/bindings/spi/spi-pxa2xx.txt
Normal file
24
Documentation/devicetree/bindings/spi/spi-pxa2xx.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
PXA2xx SSP SPI Controller
|
||||
|
||||
Required properties:
|
||||
- compatible: Must be "marvell,mmp2-ssp".
|
||||
- reg: Offset and length of the device's register set.
|
||||
- interrupts: Should be the interrupt number.
|
||||
- clocks: Should contain a single entry describing the clock input.
|
||||
- #address-cells: Number of cells required to define a chip select address.
|
||||
- #size-cells: Should be zero.
|
||||
|
||||
Optional properties:
|
||||
- cs-gpios: list of GPIO chip selects. See the SPI bus bindings,
|
||||
Documentation/devicetree/bindings/spi/spi-bus.txt
|
||||
|
||||
Child nodes represent devices on the SPI bus
|
||||
See ../spi/spi-bus.txt
|
||||
|
||||
Example:
|
||||
ssp1: spi@d4035000 {
|
||||
compatible = "marvell,mmp2-ssp";
|
||||
reg = <0xd4035000 0x1000>;
|
||||
clocks = <&soc_clocks MMP2_CLK_SSP0>;
|
||||
interrupts = <0>;
|
||||
};
|
@@ -3,7 +3,7 @@ Device tree configuration for Renesas RSPI/QSPI driver
|
||||
Required properties:
|
||||
- compatible : For Renesas Serial Peripheral Interface on legacy SH:
|
||||
"renesas,rspi-<soctype>", "renesas,rspi" as fallback.
|
||||
For Renesas Serial Peripheral Interface on RZ/A1H:
|
||||
For Renesas Serial Peripheral Interface on RZ/A:
|
||||
"renesas,rspi-<soctype>", "renesas,rspi-rz" as fallback.
|
||||
For Quad Serial Peripheral Interface on R-Car Gen2 and
|
||||
RZ/G1 devices:
|
||||
@@ -11,7 +11,9 @@ Required properties:
|
||||
Examples with soctypes are:
|
||||
- "renesas,rspi-sh7757" (SH)
|
||||
- "renesas,rspi-r7s72100" (RZ/A1H)
|
||||
- "renesas,rspi-r7s9210" (RZ/A2)
|
||||
- "renesas,qspi-r8a7743" (RZ/G1M)
|
||||
- "renesas,qspi-r8a7744" (RZ/G1N)
|
||||
- "renesas,qspi-r8a7745" (RZ/G1E)
|
||||
- "renesas,qspi-r8a7790" (R-Car H2)
|
||||
- "renesas,qspi-r8a7791" (R-Car M2-W)
|
||||
|
32
Documentation/devicetree/bindings/spi/spi-slave-mt27xx.txt
Normal file
32
Documentation/devicetree/bindings/spi/spi-slave-mt27xx.txt
Normal file
@@ -0,0 +1,32 @@
|
||||
Binding for MTK SPI Slave controller
|
||||
|
||||
Required properties:
|
||||
- compatible: should be one of the following.
|
||||
- mediatek,mt2712-spi-slave: for mt2712 platforms
|
||||
- reg: Address and length of the register set for the device.
|
||||
- interrupts: Should contain spi interrupt.
|
||||
- clocks: phandles to input clocks.
|
||||
It's clock gate, and should be <&infracfg CLK_INFRA_AO_SPI1>.
|
||||
- clock-names: should be "spi" for the clock gate.
|
||||
|
||||
Optional properties:
|
||||
- assigned-clocks: it's mux clock, should be <&topckgen CLK_TOP_SPISLV_SEL>.
|
||||
- assigned-clock-parents: parent of mux clock.
|
||||
It's PLL, and should be one of the following.
|
||||
- <&topckgen CLK_TOP_UNIVPLL1_D2>: specify parent clock 312MHZ.
|
||||
It's the default one.
|
||||
- <&topckgen CLK_TOP_UNIVPLL1_D4>: specify parent clock 156MHZ.
|
||||
- <&topckgen CLK_TOP_UNIVPLL2_D4>: specify parent clock 104MHZ.
|
||||
- <&topckgen CLK_TOP_UNIVPLL1_D8>: specify parent clock 78MHZ.
|
||||
|
||||
Example:
|
||||
- SoC Specific Portion:
|
||||
spis1: spi@10013000 {
|
||||
compatible = "mediatek,mt2712-spi-slave";
|
||||
reg = <0 0x10013000 0 0x100>;
|
||||
interrupts = <GIC_SPI 283 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&infracfg CLK_INFRA_AO_SPI1>;
|
||||
clock-names = "spi";
|
||||
assigned-clocks = <&topckgen CLK_TOP_SPISLV_SEL>;
|
||||
assigned-clock-parents = <&topckgen CLK_TOP_UNIVPLL1_D2>;
|
||||
};
|
26
Documentation/devicetree/bindings/spi/spi-sprd.txt
Normal file
26
Documentation/devicetree/bindings/spi/spi-sprd.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
Spreadtrum SPI Controller
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "sprd,sc9860-spi".
|
||||
- reg: Offset and length of SPI controller register space.
|
||||
- interrupts: Should contain SPI interrupt.
|
||||
- clock-names: Should contain following entries:
|
||||
"spi" for SPI clock,
|
||||
"source" for SPI source (parent) clock,
|
||||
"enable" for SPI module enable clock.
|
||||
- clocks: List of clock input name strings sorted in the same order
|
||||
as the clock-names property.
|
||||
- #address-cells: The number of cells required to define a chip select
|
||||
address on the SPI bus. Should be set to 1.
|
||||
- #size-cells: Should be set to 0.
|
||||
|
||||
Example:
|
||||
spi0: spi@70a00000{
|
||||
compatible = "sprd,sc9860-spi";
|
||||
reg = <0 0x70a00000 0 0x1000>;
|
||||
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clock-names = "spi", "source","enable";
|
||||
clocks = <&clk_spi0>, <&ext_26m>, <&clk_ap_apb_gates 5>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
44
Documentation/devicetree/bindings/spi/spi-stm32-qspi.txt
Normal file
44
Documentation/devicetree/bindings/spi/spi-stm32-qspi.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
* STMicroelectronics Quad Serial Peripheral Interface(QSPI)
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "st,stm32f469-qspi"
|
||||
- reg: the first contains the register location and length.
|
||||
the second contains the memory mapping address and length
|
||||
- reg-names: should contain the reg names "qspi" "qspi_mm"
|
||||
- interrupts: should contain the interrupt for the device
|
||||
- clocks: the phandle of the clock needed by the QSPI controller
|
||||
- A pinctrl must be defined to set pins in mode of operation for QSPI transfer
|
||||
|
||||
Optional properties:
|
||||
- resets: must contain the phandle to the reset controller.
|
||||
|
||||
A spi flash (NOR/NAND) must be a child of spi node and could have some
|
||||
properties. Also see jedec,spi-nor.txt.
|
||||
|
||||
Required properties:
|
||||
- reg: chip-Select number (QSPI controller may connect 2 flashes)
|
||||
- spi-max-frequency: max frequency of spi bus
|
||||
|
||||
Optional property:
|
||||
- spi-rx-bus-width: see ./spi-bus.txt for the description
|
||||
|
||||
Example:
|
||||
|
||||
qspi: spi@a0001000 {
|
||||
compatible = "st,stm32f469-qspi";
|
||||
reg = <0xa0001000 0x1000>, <0x90000000 0x10000000>;
|
||||
reg-names = "qspi", "qspi_mm";
|
||||
interrupts = <91>;
|
||||
resets = <&rcc STM32F4_AHB3_RESET(QSPI)>;
|
||||
clocks = <&rcc 0 STM32F4_AHB3_CLOCK(QSPI)>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&pinctrl_qspi0>;
|
||||
|
||||
flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-rx-bus-width = <4>;
|
||||
spi-max-frequency = <108000000>;
|
||||
...
|
||||
};
|
||||
};
|
Reference in New Issue
Block a user