spi-mt65xx.txt 2.0 KB

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