036-v6.4-0001-arm64-dts-broadcom-bcmbca-Add-spi-controller-node.patch 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. From f5d83b714e304d5f3229da434af2eeea033c4f5d Mon Sep 17 00:00:00 2001
  2. From: William Zhang <[email protected]>
  3. Date: Mon, 6 Feb 2023 22:58:15 -0800
  4. Subject: [PATCH] arm64: dts: broadcom: bcmbca: Add spi controller node
  5. Add support for HSSPI controller in ARMv8 chip dts files.
  6. Signed-off-by: William Zhang <[email protected]>
  7. Link: https://lore.kernel.org/r/[email protected]
  8. Signed-off-by: Florian Fainelli <[email protected]>
  9. ---
  10. .../boot/dts/broadcom/bcmbca/bcm4908.dtsi | 18 +++++++++++++++++
  11. .../boot/dts/broadcom/bcmbca/bcm4912.dtsi | 20 +++++++++++++++++++
  12. .../boot/dts/broadcom/bcmbca/bcm63146.dtsi | 19 ++++++++++++++++++
  13. .../boot/dts/broadcom/bcmbca/bcm63158.dtsi | 19 ++++++++++++++++++
  14. .../boot/dts/broadcom/bcmbca/bcm6813.dtsi | 20 +++++++++++++++++++
  15. .../boot/dts/broadcom/bcmbca/bcm6856.dtsi | 18 +++++++++++++++++
  16. .../boot/dts/broadcom/bcmbca/bcm6858.dtsi | 18 +++++++++++++++++
  17. .../boot/dts/broadcom/bcmbca/bcm94908.dts | 4 ++++
  18. .../boot/dts/broadcom/bcmbca/bcm94912.dts | 4 ++++
  19. .../boot/dts/broadcom/bcmbca/bcm963146.dts | 4 ++++
  20. .../boot/dts/broadcom/bcmbca/bcm963158.dts | 4 ++++
  21. .../boot/dts/broadcom/bcmbca/bcm96813.dts | 4 ++++
  22. .../boot/dts/broadcom/bcmbca/bcm96856.dts | 4 ++++
  23. .../boot/dts/broadcom/bcmbca/bcm96858.dts | 4 ++++
  24. 14 files changed, 160 insertions(+)
  25. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
  26. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4908.dtsi
  27. @@ -107,6 +107,12 @@
  28. clock-frequency = <50000000>;
  29. clock-output-names = "periph";
  30. };
  31. +
  32. + hsspi_pll: hsspi-pll {
  33. + compatible = "fixed-clock";
  34. + #clock-cells = <0>;
  35. + clock-frequency = <400000000>;
  36. + };
  37. };
  38. soc {
  39. @@ -528,6 +534,18 @@
  40. #size-cells = <0>;
  41. };
  42. + hsspi: spi@1000{
  43. + #address-cells = <1>;
  44. + #size-cells = <0>;
  45. + compatible = "brcm,bcm4908-hsspi", "brcm,bcmbca-hsspi-v1.0";
  46. + reg = <0x1000 0x600>;
  47. + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  48. + clocks = <&hsspi_pll &hsspi_pll>;
  49. + clock-names = "hsspi", "pll";
  50. + num-cs = <8>;
  51. + status = "disabled";
  52. + };
  53. +
  54. nand-controller@1800 {
  55. #address-cells = <1>;
  56. #size-cells = <0>;
  57. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi
  58. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm4912.dtsi
  59. @@ -79,6 +79,7 @@
  60. #clock-cells = <0>;
  61. clock-frequency = <200000000>;
  62. };
  63. +
  64. uart_clk: uart-clk {
  65. compatible = "fixed-factor-clock";
  66. #clock-cells = <0>;
  67. @@ -86,6 +87,12 @@
  68. clock-div = <4>;
  69. clock-mult = <1>;
  70. };
  71. +
  72. + hsspi_pll: hsspi-pll {
  73. + compatible = "fixed-clock";
  74. + #clock-cells = <0>;
  75. + clock-frequency = <200000000>;
  76. + };
  77. };
  78. psci {
  79. @@ -117,6 +124,19 @@
  80. #size-cells = <1>;
  81. ranges = <0x0 0x0 0xff800000 0x800000>;
  82. + hsspi: spi@1000 {
  83. + #address-cells = <1>;
  84. + #size-cells = <0>;
  85. + compatible = "brcm,bcm4912-hsspi", "brcm,bcmbca-hsspi-v1.1";
  86. + reg = <0x1000 0x600>, <0x2610 0x4>;
  87. + reg-names = "hsspi", "spim-ctrl";
  88. + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  89. + clocks = <&hsspi_pll &hsspi_pll>;
  90. + clock-names = "hsspi", "pll";
  91. + num-cs = <8>;
  92. + status = "disabled";
  93. + };
  94. +
  95. uart0: serial@12000 {
  96. compatible = "arm,pl011", "arm,primecell";
  97. reg = <0x12000 0x1000>;
  98. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm63146.dtsi
  99. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm63146.dtsi
  100. @@ -60,6 +60,7 @@
  101. #clock-cells = <0>;
  102. clock-frequency = <200000000>;
  103. };
  104. +
  105. uart_clk: uart-clk {
  106. compatible = "fixed-factor-clock";
  107. #clock-cells = <0>;
  108. @@ -67,6 +68,12 @@
  109. clock-div = <4>;
  110. clock-mult = <1>;
  111. };
  112. +
  113. + hsspi_pll: hsspi-pll {
  114. + compatible = "fixed-clock";
  115. + #clock-cells = <0>;
  116. + clock-frequency = <200000000>;
  117. + };
  118. };
  119. psci {
  120. @@ -99,6 +106,18 @@
  121. #size-cells = <1>;
  122. ranges = <0x0 0x0 0xff800000 0x800000>;
  123. + hsspi: spi@1000 {
  124. + #address-cells = <1>;
  125. + #size-cells = <0>;
  126. + compatible = "brcm,bcm63146-hsspi", "brcm,bcmbca-hsspi-v1.0";
  127. + reg = <0x1000 0x600>;
  128. + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  129. + clocks = <&hsspi_pll &hsspi_pll>;
  130. + clock-names = "hsspi", "pll";
  131. + num-cs = <8>;
  132. + status = "disabled";
  133. + };
  134. +
  135. uart0: serial@12000 {
  136. compatible = "arm,pl011", "arm,primecell";
  137. reg = <0x12000 0x1000>;
  138. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi
  139. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm63158.dtsi
  140. @@ -79,6 +79,7 @@
  141. #clock-cells = <0>;
  142. clock-frequency = <200000000>;
  143. };
  144. +
  145. uart_clk: uart-clk {
  146. compatible = "fixed-factor-clock";
  147. #clock-cells = <0>;
  148. @@ -86,6 +87,12 @@
  149. clock-div = <4>;
  150. clock-mult = <1>;
  151. };
  152. +
  153. + hsspi_pll: hsspi-pll {
  154. + compatible = "fixed-clock";
  155. + #clock-cells = <0>;
  156. + clock-frequency = <400000000>;
  157. + };
  158. };
  159. psci {
  160. @@ -117,6 +124,18 @@
  161. #size-cells = <1>;
  162. ranges = <0x0 0x0 0xff800000 0x800000>;
  163. + hsspi: spi@1000 {
  164. + #address-cells = <1>;
  165. + #size-cells = <0>;
  166. + compatible = "brcm,bcm63158-hsspi", "brcm,bcmbca-hsspi-v1.0";
  167. + reg = <0x1000 0x600>;
  168. + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  169. + clocks = <&hsspi_pll &hsspi_pll>;
  170. + clock-names = "hsspi", "pll";
  171. + num-cs = <8>;
  172. + status = "disabled";
  173. + };
  174. +
  175. uart0: serial@12000 {
  176. compatible = "arm,pl011", "arm,primecell";
  177. reg = <0x12000 0x1000>;
  178. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm6813.dtsi
  179. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm6813.dtsi
  180. @@ -79,6 +79,7 @@
  181. #clock-cells = <0>;
  182. clock-frequency = <200000000>;
  183. };
  184. +
  185. uart_clk: uart-clk {
  186. compatible = "fixed-factor-clock";
  187. #clock-cells = <0>;
  188. @@ -86,6 +87,12 @@
  189. clock-div = <4>;
  190. clock-mult = <1>;
  191. };
  192. +
  193. + hsspi_pll: hsspi-pll {
  194. + compatible = "fixed-clock";
  195. + #clock-cells = <0>;
  196. + clock-frequency = <200000000>;
  197. + };
  198. };
  199. psci {
  200. @@ -117,6 +124,19 @@
  201. #size-cells = <1>;
  202. ranges = <0x0 0x0 0xff800000 0x800000>;
  203. + hsspi: spi@1000 {
  204. + #address-cells = <1>;
  205. + #size-cells = <0>;
  206. + compatible = "brcm,bcm6813-hsspi", "brcm,bcmbca-hsspi-v1.1";
  207. + reg = <0x1000 0x600>, <0x2610 0x4>;
  208. + reg-names = "hsspi", "spim-ctrl";
  209. + interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
  210. + clocks = <&hsspi_pll &hsspi_pll>;
  211. + clock-names = "hsspi", "pll";
  212. + num-cs = <8>;
  213. + status = "disabled";
  214. + };
  215. +
  216. uart0: serial@12000 {
  217. compatible = "arm,pl011", "arm,primecell";
  218. reg = <0x12000 0x1000>;
  219. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm6856.dtsi
  220. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm6856.dtsi
  221. @@ -60,6 +60,12 @@
  222. #clock-cells = <0>;
  223. clock-frequency = <200000000>;
  224. };
  225. +
  226. + hsspi_pll: hsspi-pll {
  227. + compatible = "fixed-clock";
  228. + #clock-cells = <0>;
  229. + clock-frequency = <400000000>;
  230. + };
  231. };
  232. psci {
  233. @@ -100,5 +106,17 @@
  234. clock-names = "refclk";
  235. status = "disabled";
  236. };
  237. +
  238. + hsspi: spi@1000 {
  239. + #address-cells = <1>;
  240. + #size-cells = <0>;
  241. + compatible = "brcm,bcm6856-hsspi", "brcm,bcmbca-hsspi-v1.0";
  242. + reg = <0x1000 0x600>;
  243. + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  244. + clocks = <&hsspi_pll &hsspi_pll>;
  245. + clock-names = "hsspi", "pll";
  246. + num-cs = <8>;
  247. + status = "disabled";
  248. + };
  249. };
  250. };
  251. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi
  252. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm6858.dtsi
  253. @@ -78,6 +78,12 @@
  254. #clock-cells = <0>;
  255. clock-frequency = <200000000>;
  256. };
  257. +
  258. + hsspi_pll: hsspi-pll {
  259. + compatible = "fixed-clock";
  260. + #clock-cells = <0>;
  261. + clock-frequency = <400000000>;
  262. + };
  263. };
  264. psci {
  265. @@ -137,5 +143,17 @@
  266. clock-names = "refclk";
  267. status = "disabled";
  268. };
  269. +
  270. + hsspi: spi@1000 {
  271. + #address-cells = <1>;
  272. + #size-cells = <0>;
  273. + compatible = "brcm,bcm6858-hsspi", "brcm,bcmbca-hsspi-v1.0";
  274. + reg = <0x1000 0x600>;
  275. + interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
  276. + clocks = <&hsspi_pll &hsspi_pll>;
  277. + clock-names = "hsspi", "pll";
  278. + num-cs = <8>;
  279. + status = "disabled";
  280. + };
  281. };
  282. };
  283. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dts
  284. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm94908.dts
  285. @@ -28,3 +28,7 @@
  286. &uart0 {
  287. status = "okay";
  288. };
  289. +
  290. +&hsspi {
  291. + status = "okay";
  292. +};
  293. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts
  294. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm94912.dts
  295. @@ -28,3 +28,7 @@
  296. &uart0 {
  297. status = "okay";
  298. };
  299. +
  300. +&hsspi {
  301. + status = "okay";
  302. +};
  303. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm963146.dts
  304. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm963146.dts
  305. @@ -28,3 +28,7 @@
  306. &uart0 {
  307. status = "okay";
  308. };
  309. +
  310. +&hsspi {
  311. + status = "okay";
  312. +};
  313. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts
  314. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm963158.dts
  315. @@ -28,3 +28,7 @@
  316. &uart0 {
  317. status = "okay";
  318. };
  319. +
  320. +&hsspi {
  321. + status = "okay";
  322. +};
  323. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm96813.dts
  324. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm96813.dts
  325. @@ -28,3 +28,7 @@
  326. &uart0 {
  327. status = "okay";
  328. };
  329. +
  330. +&hsspi {
  331. + status = "okay";
  332. +};
  333. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm96856.dts
  334. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm96856.dts
  335. @@ -28,3 +28,7 @@
  336. &uart0 {
  337. status = "okay";
  338. };
  339. +
  340. +&hsspi {
  341. + status = "okay";
  342. +};
  343. --- a/arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts
  344. +++ b/arch/arm64/boot/dts/broadcom/bcmbca/bcm96858.dts
  345. @@ -28,3 +28,7 @@
  346. &uart0 {
  347. status = "okay";
  348. };
  349. +
  350. +&hsspi {
  351. + status = "okay";
  352. +};