Merge tag 'for-5.4-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / spi / spi-mt65xx.txt
1 Binding for MTK SPI controller
2
3 Required properties:
4 - compatible: should be one of the following.
5     - mediatek,mt2701-spi: for mt2701 platforms
6     - mediatek,mt2712-spi: for mt2712 platforms
7     - mediatek,mt6589-spi: for mt6589 platforms
8     - mediatek,mt6765-spi: for mt6765 platforms
9     - mediatek,mt7622-spi: for mt7622 platforms
10     - "mediatek,mt7629-spi", "mediatek,mt7622-spi": for mt7629 platforms
11     - mediatek,mt8135-spi: for mt8135 platforms
12     - mediatek,mt8173-spi: for mt8173 platforms
13     - mediatek,mt8183-spi: for mt8183 platforms
14     - "mediatek,mt8516-spi", "mediatek,mt2712-spi": for mt8516 platforms
15
16 - #address-cells: should be 1.
17
18 - #size-cells: should be 0.
19
20 - reg: Address and length of the register set for the device
21
22 - interrupts: Should contain spi interrupt
23
24 - clocks: phandles to input clocks.
25   The first should be one of the following. It's PLL.
26    -  <&clk26m>: specify parent clock 26MHZ.
27    -  <&topckgen CLK_TOP_SYSPLL3_D2>: specify parent clock 109MHZ.
28                                       It's the default one.
29    -  <&topckgen CLK_TOP_SYSPLL4_D2>: specify parent clock 78MHZ.
30    -  <&topckgen CLK_TOP_UNIVPLL2_D4>: specify parent clock 104MHZ.
31    -  <&topckgen CLK_TOP_UNIVPLL1_D8>: specify parent clock 78MHZ.
32   The second should be <&topckgen CLK_TOP_SPI_SEL>. It's clock mux.
33   The third is <&pericfg CLK_PERI_SPI0>. It's clock gate.
34
35 - clock-names: shall be "parent-clk" for the parent clock, "sel-clk" for the
36   muxes clock, and "spi-clk" for the clock gate.
37
38 Optional properties:
39 -cs-gpios: see spi-bus.txt.
40
41 - mediatek,pad-select: specify which pins group(ck/mi/mo/cs) spi
42   controller used. This is an array, the element value should be 0~3,
43   only required for MT8173.
44     0: specify GPIO69,70,71,72 for spi pins.
45     1: specify GPIO102,103,104,105 for spi pins.
46     2: specify GPIO128,129,130,131 for spi pins.
47     3: specify GPIO5,6,7,8 for spi pins.
48
49 Example:
50
51 - SoC Specific Portion:
52 spi: spi@1100a000 {
53         compatible = "mediatek,mt8173-spi";
54         #address-cells = <1>;
55         #size-cells = <0>;
56         reg = <0 0x1100a000 0 0x1000>;
57         interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_LOW>;
58         clocks = <&topckgen CLK_TOP_SYSPLL3_D2>,
59                  <&topckgen CLK_TOP_SPI_SEL>,
60                  <&pericfg CLK_PERI_SPI0>;
61         clock-names = "parent-clk", "sel-clk", "spi-clk";
62         cs-gpios = <&pio 105 GPIO_ACTIVE_LOW>, <&pio 72 GPIO_ACTIVE_LOW>;
63         mediatek,pad-select = <1>, <0>;
64 };