130-dts-mt7629-add-snand-support.patch 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. From c813fbe806257c574240770ef716fbee19f7dbfa Mon Sep 17 00:00:00 2001
  2. From: Xiangsheng Hou <[email protected]>
  3. Date: Thu, 6 Jun 2019 16:29:04 +0800
  4. Subject: [PATCH] spi: spi-mem: Mediatek: Add SPI Nand support for MT7629
  5. Signed-off-by: Xiangsheng Hou <[email protected]>
  6. ---
  7. arch/arm/boot/dts/mediatek/mt7629-rfb.dts | 45 ++++++++++++++++++++++++++++++++
  8. arch/arm/boot/dts/mediatek/mt7629.dtsi | 22 ++++++++++++++++
  9. 3 files changed, 79 insertions(+)
  10. --- a/arch/arm/boot/dts/mediatek/mt7629.dtsi
  11. +++ b/arch/arm/boot/dts/mediatek/mt7629.dtsi
  12. @@ -271,6 +271,27 @@
  13. status = "disabled";
  14. };
  15. + snfi: spi@1100d000 {
  16. + compatible = "mediatek,mt7629-snand";
  17. + reg = <0x1100d000 0x1000>;
  18. + interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_LOW>;
  19. + clocks = <&pericfg CLK_PERI_NFI_PD>, <&pericfg CLK_PERI_SNFI_PD>;
  20. + clock-names = "nfi_clk", "pad_clk";
  21. + nand-ecc-engine = <&bch>;
  22. + #address-cells = <1>;
  23. + #size-cells = <0>;
  24. + status = "disabled";
  25. + };
  26. +
  27. + bch: ecc@1100e000 {
  28. + compatible = "mediatek,mt7622-ecc";
  29. + reg = <0x1100e000 0x1000>;
  30. + interrupts = <GIC_SPI 95 IRQ_TYPE_LEVEL_LOW>;
  31. + clocks = <&pericfg CLK_PERI_NFIECC_PD>;
  32. + clock-names = "nfiecc_clk";
  33. + status = "disabled";
  34. + };
  35. +
  36. spi: spi@1100a000 {
  37. compatible = "mediatek,mt7629-spi",
  38. "mediatek,mt7622-spi";
  39. --- a/arch/arm/boot/dts/mediatek/mt7629-rfb.dts
  40. +++ b/arch/arm/boot/dts/mediatek/mt7629-rfb.dts
  41. @@ -255,6 +255,50 @@
  42. };
  43. };
  44. +&bch {
  45. + status = "okay";
  46. +};
  47. +
  48. +&snfi {
  49. + pinctrl-names = "default";
  50. + pinctrl-0 = <&serial_nand_pins>;
  51. + status = "okay";
  52. + flash@0 {
  53. + compatible = "spi-nand";
  54. + reg = <0>;
  55. + spi-tx-bus-width = <4>;
  56. + spi-rx-bus-width = <4>;
  57. + nand-ecc-engine = <&snfi>;
  58. +
  59. + partitions {
  60. + compatible = "fixed-partitions";
  61. + #address-cells = <1>;
  62. + #size-cells = <1>;
  63. +
  64. + partition@0 {
  65. + label = "Bootloader";
  66. + reg = <0x00000 0x0100000>;
  67. + read-only;
  68. + };
  69. +
  70. + partition@100000 {
  71. + label = "Config";
  72. + reg = <0x100000 0x0040000>;
  73. + };
  74. +
  75. + partition@140000 {
  76. + label = "factory";
  77. + reg = <0x140000 0x0080000>;
  78. + };
  79. +
  80. + partition@1c0000 {
  81. + label = "firmware";
  82. + reg = <0x1c0000 0x1000000>;
  83. + };
  84. + };
  85. + };
  86. +};
  87. +
  88. &spi {
  89. pinctrl-names = "default";
  90. pinctrl-0 = <&spi_pins>;