0001-Add-OSD32MP1-BRK-device-tree-support.patch 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509
  1. From 4731b1f73e0bfe3e3539f6b7c17e0f5366996a98 Mon Sep 17 00:00:00 2001
  2. From: "neeraj.dantu" <dantuguf14105@gmail.com>
  3. Date: Sun, 21 Nov 2021 23:26:05 -0600
  4. Subject: [PATCH 1/2] Add OSD32MP1-BRK device tree support
  5. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
  6. ---
  7. arch/arm/dts/Makefile | 3 +-
  8. .../dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi | 119 ++
  9. .../dts/stm32mp157c-osd32mp1-brk-u-boot.dtsi | 219 ++++
  10. arch/arm/dts/stm32mp157c-osd32mp1-brk.dts | 1120 +++++++++++++++++
  11. 4 files changed, 1460 insertions(+), 1 deletion(-)
  12. create mode 100644 arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi
  13. create mode 100644 arch/arm/dts/stm32mp157c-osd32mp1-brk-u-boot.dtsi
  14. create mode 100644 arch/arm/dts/stm32mp157c-osd32mp1-brk.dts
  15. diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
  16. index 83677c3d4f..6e67c6d18a 100644
  17. --- a/arch/arm/dts/Makefile
  18. +++ b/arch/arm/dts/Makefile
  19. @@ -959,7 +959,8 @@ dtb-$(CONFIG_STM32MP15x) += \
  20. stm32mp157f-ed1.dtb \
  21. stm32mp157f-ev1.dtb \
  22. stm32mp15xx-dhcom-pdk2.dtb \
  23. - stm32mp15xx-dhcor-avenger96.dtb
  24. + stm32mp15xx-dhcor-avenger96.dtb \
  25. + stm32mp157c-osd32mp1-brk.dtb
  26. dtb-$(CONFIG_SOC_K3_AM6) += k3-am654-base-board.dtb k3-am654-r5-base-board.dtb
  27. dtb-$(CONFIG_SOC_K3_J721E) += k3-j721e-common-proc-board.dtb \
  28. diff --git a/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi b/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi
  29. new file mode 100644
  30. index 0000000000..362f3281b8
  31. --- /dev/null
  32. +++ b/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi
  33. @@ -0,0 +1,119 @@
  34. +/*
  35. + * Copyright (C) 2015-2018, STMicroelectronics - All Rights Reserved
  36. + *
  37. + * SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause
  38. + *
  39. + */
  40. +
  41. +/*
  42. + * File generated by STMicroelectronics STM32CubeMX DDR Tool for MPUs
  43. + * DDR type: DDR3 / DDR3L
  44. + * DDR width: 16bits
  45. + * DDR density: 4Gb
  46. + * System frequency: 533000Khz
  47. + * Relaxed Timing Mode: false
  48. + * Address mapping type: RBC
  49. + *
  50. + * Save Date: 2020.08.20, save Time: 10:57:25
  51. + */
  52. +
  53. +#define DDR_MEM_NAME "DDR3-DDR3L 16bits 533000Khz"
  54. +#define DDR_MEM_SPEED 533000
  55. +#define DDR_MEM_SIZE 0x20000000
  56. +
  57. +#define DDR_MSTR 0x00041401
  58. +#define DDR_MRCTRL0 0x00000010
  59. +#define DDR_MRCTRL1 0x00000000
  60. +#define DDR_DERATEEN 0x00000000
  61. +#define DDR_DERATEINT 0x00800000
  62. +#define DDR_PWRCTL 0x00000000
  63. +#define DDR_PWRTMG 0x00400010
  64. +#define DDR_HWLPCTL 0x00000000
  65. +#define DDR_RFSHCTL0 0x00210000
  66. +#define DDR_RFSHCTL3 0x00000000
  67. +#define DDR_RFSHTMG 0x0081008B
  68. +#define DDR_CRCPARCTL0 0x00000000
  69. +#define DDR_DRAMTMG0 0x121B2414
  70. +#define DDR_DRAMTMG1 0x000A041C
  71. +#define DDR_DRAMTMG2 0x0608090F
  72. +#define DDR_DRAMTMG3 0x0050400C
  73. +#define DDR_DRAMTMG4 0x08040608
  74. +#define DDR_DRAMTMG5 0x06060403
  75. +#define DDR_DRAMTMG6 0x02020002
  76. +#define DDR_DRAMTMG7 0x00000202
  77. +#define DDR_DRAMTMG8 0x00001005
  78. +#define DDR_DRAMTMG14 0x000000A0
  79. +#define DDR_ZQCTL0 0xC2000040
  80. +#define DDR_DFITMG0 0x02060105
  81. +#define DDR_DFITMG1 0x00000202
  82. +#define DDR_DFILPCFG0 0x07000000
  83. +#define DDR_DFIUPD0 0xC0400003
  84. +#define DDR_DFIUPD1 0x00000000
  85. +#define DDR_DFIUPD2 0x00000000
  86. +#define DDR_DFIPHYMSTR 0x00000000
  87. +#define DDR_ODTCFG 0x06000600
  88. +#define DDR_ODTMAP 0x00000001
  89. +#define DDR_SCHED 0x00000C01
  90. +#define DDR_SCHED1 0x00000000
  91. +#define DDR_PERFHPR1 0x01000001
  92. +#define DDR_PERFLPR1 0x08000200
  93. +#define DDR_PERFWR1 0x08000400
  94. +#define DDR_DBG0 0x00000000
  95. +#define DDR_DBG1 0x00000000
  96. +#define DDR_DBGCMD 0x00000000
  97. +#define DDR_POISONCFG 0x00000000
  98. +#define DDR_PCCFG 0x00000010
  99. +#define DDR_PCFGR_0 0x00010000
  100. +#define DDR_PCFGW_0 0x00000000
  101. +#define DDR_PCFGQOS0_0 0x02100C03
  102. +#define DDR_PCFGQOS1_0 0x00800100
  103. +#define DDR_PCFGWQOS0_0 0x01100C03
  104. +#define DDR_PCFGWQOS1_0 0x01000200
  105. +#define DDR_PCFGR_1 0x00010000
  106. +#define DDR_PCFGW_1 0x00000000
  107. +#define DDR_PCFGQOS0_1 0x02100C03
  108. +#define DDR_PCFGQOS1_1 0x00800040
  109. +#define DDR_PCFGWQOS0_1 0x01100C03
  110. +#define DDR_PCFGWQOS1_1 0x01000200
  111. +#define DDR_ADDRMAP1 0x00070707
  112. +#define DDR_ADDRMAP2 0x00000000
  113. +#define DDR_ADDRMAP3 0x1F000000
  114. +#define DDR_ADDRMAP4 0x00001F1F
  115. +#define DDR_ADDRMAP5 0x06060606
  116. +#define DDR_ADDRMAP6 0x0F060606
  117. +#define DDR_ADDRMAP9 0x00000000
  118. +#define DDR_ADDRMAP10 0x00000000
  119. +#define DDR_ADDRMAP11 0x00000000
  120. +#define DDR_PGCR 0x01442E02
  121. +#define DDR_PTR0 0x0022AA5B
  122. +#define DDR_PTR1 0x04841104
  123. +#define DDR_PTR2 0x042DA068
  124. +#define DDR_ACIOCR 0x10400812
  125. +#define DDR_DXCCR 0x00000C40
  126. +#define DDR_DSGCR 0xF200011F
  127. +#define DDR_DCR 0x0000000B
  128. +#define DDR_DTPR0 0x38D488D0
  129. +#define DDR_DTPR1 0x098B00D8
  130. +#define DDR_DTPR2 0x10023600
  131. +#define DDR_MR0 0x00000840
  132. +#define DDR_MR1 0x00000000
  133. +#define DDR_MR2 0x00000208
  134. +#define DDR_MR3 0x00000000
  135. +#define DDR_ODTCR 0x00010000
  136. +#define DDR_ZQ0CR1 0x00000038
  137. +#define DDR_DX0GCR 0x0000CE81
  138. +#define DDR_DX0DLLCR 0x40000000
  139. +#define DDR_DX0DQTR 0xFFFFFFFF
  140. +#define DDR_DX0DQSTR 0x3DB02000
  141. +#define DDR_DX1GCR 0x0000CE81
  142. +#define DDR_DX1DLLCR 0x40000000
  143. +#define DDR_DX1DQTR 0xFFFFFFFF
  144. +#define DDR_DX1DQSTR 0x3DB02000
  145. +#define DDR_DX2GCR 0x0000CE80
  146. +#define DDR_DX2DLLCR 0x40000000
  147. +#define DDR_DX2DQTR 0xFFFFFFFF
  148. +#define DDR_DX2DQSTR 0x3DB02000
  149. +#define DDR_DX3GCR 0x0000CE80
  150. +#define DDR_DX3DLLCR 0x40000000
  151. +#define DDR_DX3DQTR 0xFFFFFFFF
  152. +#define DDR_DX3DQSTR 0x3DB02000
  153. diff --git a/arch/arm/dts/stm32mp157c-osd32mp1-brk-u-boot.dtsi b/arch/arm/dts/stm32mp157c-osd32mp1-brk-u-boot.dtsi
  154. new file mode 100644
  155. index 0000000000..b7284f3028
  156. --- /dev/null
  157. +++ b/arch/arm/dts/stm32mp157c-osd32mp1-brk-u-boot.dtsi
  158. @@ -0,0 +1,219 @@
  159. +/* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause*/
  160. +/*
  161. + * Copyright (C) 2020, Octavo Systems LLC - All Rights Reserved
  162. + */
  163. +
  164. +/* For more information on Device Tree configuration, please refer to
  165. + * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration
  166. + */
  167. +
  168. +#include <dt-bindings/clock/stm32mp1-clksrc.h>
  169. +#include "stm32mp15-osd32mp1-ddr3-1x4Gb.dtsi"
  170. +#include "stm32mp15-u-boot.dtsi"
  171. +#include "stm32mp15-ddr.dtsi"
  172. +
  173. +
  174. +/ {
  175. +
  176. + aliases{
  177. + i2c0 = &i2c4;
  178. + mmc0 = &sdmmc1;
  179. + usb0 = &usbotg_hs;
  180. + };
  181. +
  182. + config{
  183. + u-boot,boot-led = "LED2_GRN";
  184. + u-boot,error-led = "LED2_RED";
  185. + u-boot,mmc-env-partition = "fip";
  186. + st,stm32prog-gpios = <&gpiod 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
  187. + };
  188. +
  189. +#ifdef CONFIG_STM32MP15x_STM32IMAGE
  190. + config {
  191. + u-boot,mmc-env-partition = "ssbl";
  192. + };
  193. +
  194. + /* only needed for boot with TF-A, witout FIP support */
  195. + firmware {
  196. + optee {
  197. + compatible = "linaro,optee-tz";
  198. + method = "smc";
  199. + };
  200. + };
  201. +
  202. + reserved-memory {
  203. + optee@de000000 {
  204. + reg = <0xde000000 0x02000000>;
  205. + no-map;
  206. + };
  207. + };
  208. +#endif
  209. +
  210. +}; /*root*/
  211. +
  212. +#ifndef CONFIG_TFABOOT
  213. +
  214. +&clk_hse {
  215. + st,digbypass;
  216. +};
  217. +
  218. +&rcc {
  219. + u-boot,dm-pre-reloc;
  220. + st,clksrc = <
  221. + CLK_MPU_PLL1P
  222. + CLK_AXI_PLL2P
  223. + CLK_MCU_PLL3P
  224. + CLK_PLL12_HSE
  225. + CLK_PLL3_HSE
  226. + CLK_PLL4_HSE
  227. + CLK_RTC_LSE
  228. + CLK_MCO1_DISABLED
  229. + CLK_MCO2_DISABLED
  230. + >;
  231. + st,clkdiv = <
  232. + 1 /*MPU*/
  233. + 0 /*AXI*/
  234. + 0 /*MCU*/
  235. + 1 /*APB1*/
  236. + 1 /*APB2*/
  237. + 1 /*APB3*/
  238. + 1 /*APB4*/
  239. + 2 /*APB5*/
  240. + 23 /*RTC*/
  241. + 0 /*MCO1*/
  242. + 0 /*MCO2*/
  243. + >;
  244. + st,pkcs = <
  245. + CLK_CKPER_HSE
  246. + CLK_FMC_ACLK
  247. + CLK_QSPI_ACLK
  248. + CLK_ETH_DISABLED
  249. + CLK_SDMMC12_PLL4P
  250. + CLK_DSI_DSIPLL
  251. + CLK_STGEN_HSE
  252. + CLK_USBPHY_HSE
  253. + CLK_SPI2S1_PLL3Q
  254. + CLK_SPI2S23_PLL3Q
  255. + CLK_SPI45_HSI
  256. + CLK_SPI6_HSI
  257. + CLK_I2C46_HSI
  258. + CLK_SDMMC3_PLL4P
  259. + CLK_USBO_USBPHY
  260. + CLK_ADC_CKPER
  261. + CLK_CEC_LSE
  262. + CLK_I2C12_HSI
  263. + CLK_I2C35_HSI
  264. + CLK_UART1_HSI
  265. + CLK_UART24_HSI
  266. + CLK_UART35_HSI
  267. + CLK_UART6_HSI
  268. + CLK_UART78_HSI
  269. + CLK_SPDIF_PLL4P
  270. + CLK_FDCAN_PLL4R
  271. + CLK_SAI1_PLL3Q
  272. + CLK_SAI2_PLL3Q
  273. + CLK_SAI3_PLL3Q
  274. + CLK_SAI4_PLL3Q
  275. + CLK_RNG1_LSI
  276. + CLK_RNG2_LSI
  277. + CLK_LPTIM1_PCLK1
  278. + CLK_LPTIM23_PCLK3
  279. + CLK_LPTIM45_LSE
  280. + >;
  281. + pll2:st,pll@1 {
  282. + compatible = "st,stm32mp1-pll";
  283. + reg = <1>;
  284. + cfg = < 2 65 1 0 0 PQR(1,1,1) >;
  285. + frac = < 0x1400 >;
  286. + u-boot,dm-pre-reloc;
  287. + };
  288. + pll3:st,pll@2 {
  289. + compatible = "st,stm32mp1-pll";
  290. + reg = <2>;
  291. + cfg = < 1 33 1 16 36 PQR(1,1,1) >;
  292. + frac = < 0x1a04 >;
  293. + u-boot,dm-pre-reloc;
  294. + };
  295. + pll4:st,pll@3 {
  296. + compatible = "st,stm32mp1-pll";
  297. + reg = <3>;
  298. + cfg = < 3 98 5 7 7 PQR(1,1,1) >;
  299. + u-boot,dm-pre-reloc;
  300. + };
  301. +};
  302. +
  303. +&i2c4{
  304. + u-boot,dm-pre-reloc;
  305. +};
  306. +
  307. +&i2c4_pins_z_mx {
  308. + u-boot,dm-pre-reloc;
  309. + pins {
  310. + u-boot,dm-pre-reloc;
  311. + };
  312. +};
  313. +
  314. +&sdmmc1{
  315. + u-boot,dm-pre-reloc;
  316. +};
  317. +
  318. +&sdmmc1_pins_mx {
  319. + u-boot,dm-spl;
  320. + pins1 {
  321. + u-boot,dm-spl;
  322. + };
  323. + pins2 {
  324. + u-boot,dm-spl;
  325. + };
  326. +};
  327. +
  328. +#endif /*CONFIG_TFABOOT*/
  329. +
  330. +&cryp1{
  331. + u-boot,dm-pre-reloc;
  332. +};
  333. +
  334. +&hash1{
  335. + u-boot,dm-pre-reloc;
  336. +};
  337. +
  338. +&uart4{
  339. + u-boot,dm-pre-reloc;
  340. +};
  341. +
  342. +&usbotg_hs{
  343. + u-boot,dm-pre-reloc;
  344. + u-boot,force-b-session-valid;
  345. + hnp-srp-disable;
  346. + dr_mode = "peripheral";
  347. +};
  348. +
  349. +&usbphyc{
  350. + u-boot,dm-pre-reloc;
  351. +};
  352. +
  353. +&usbphyc_port0{
  354. + u-boot,dm-pre-reloc;
  355. +};
  356. +
  357. +&usbphyc_port1{
  358. + u-boot,dm-pre-reloc;
  359. +};
  360. +
  361. +&adc{
  362. + status = "okay";
  363. +};
  364. +
  365. +#ifndef CONFIG_STM32MP1_TRUSTED
  366. +&i2s2{
  367. + clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
  368. +};
  369. +
  370. +&pmic{
  371. + u-boot,dm-pre-reloc;
  372. +};
  373. +
  374. +&sai2{
  375. + clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
  376. +};
  377. +#endif /*CONFIG_STM32MP1_TRUSTED*/
  378. diff --git a/arch/arm/dts/stm32mp157c-osd32mp1-brk.dts b/arch/arm/dts/stm32mp157c-osd32mp1-brk.dts
  379. new file mode 100644
  380. index 0000000000..d5f2793f54
  381. --- /dev/null
  382. +++ b/arch/arm/dts/stm32mp157c-osd32mp1-brk.dts
  383. @@ -0,0 +1,1120 @@
  384. +/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
  385. +/*
  386. + * Copyright (C) Octavo Systems LLC 2020 - All Rights Reserved
  387. + */
  388. +
  389. +/* For more information on Device Tree configuration, please refer to
  390. + * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration
  391. + */
  392. +
  393. +/dts-v1/;
  394. +#include <dt-bindings/pinctrl/stm32-pinfunc.h>
  395. +#include "stm32mp157.dtsi"
  396. +#include "stm32mp15xc.dtsi"
  397. +#include "stm32mp15xxac-pinctrl.dtsi"
  398. +#include "stm32mp15-m4-srm.dtsi"
  399. +#include <dt-bindings/mfd/st,stpmic1.h>
  400. +#include <dt-bindings/gpio/gpio.h>
  401. +#include <dt-bindings/rtc/rtc-stm32.h>
  402. +
  403. +/ {
  404. + model = "Octavo OSD32MP1 BRK board";
  405. + compatible = "st,stm32mp157c-osd32mp1-brk", "st,stm32mp157";
  406. +
  407. + memory@c0000000 {
  408. + device_type = "memory";
  409. + reg = <0xc0000000 0x20000000>;
  410. + };
  411. +
  412. + reserved-memory {
  413. + #address-cells = <1>;
  414. + #size-cells = <1>;
  415. + ranges;
  416. +
  417. + mcuram2:mcuram2@10000000{
  418. + compatible = "shared-dma-pool";
  419. + reg = <0x10000000 0x40000>;
  420. + no-map;
  421. + };
  422. +
  423. + vdev0vring0:vdev0vring0@10040000{
  424. + compatible = "shared-dma-pool";
  425. + reg = <0x10040000 0x1000>;
  426. + no-map;
  427. + };
  428. +
  429. + vdev0vring1:vdev0vring1@10041000{
  430. + compatible = "shared-dma-pool";
  431. + reg = <0x10041000 0x1000>;
  432. + no-map;
  433. + };
  434. +
  435. + vdev0buffer:vdev0buffer@10042000{
  436. + compatible = "shared-dma-pool";
  437. + reg = <0x10042000 0x4000>;
  438. + no-map;
  439. + };
  440. +
  441. + mcuram:mcuram@30000000{
  442. + compatible = "shared-dma-pool";
  443. + reg = <0x30000000 0x40000>;
  444. + no-map;
  445. + };
  446. +
  447. + retram:retram@38000000{
  448. + compatible = "shared-dma-pool";
  449. + reg = <0x38000000 0x10000>;
  450. + no-map;
  451. + };
  452. +
  453. + gpu_reserved:gpu@d4000000{
  454. + reg = <0xd4000000 0x4000000>;
  455. + no-map;
  456. + };
  457. + };
  458. +
  459. + led{
  460. + compatible = "gpio-leds";
  461. +
  462. + red1{
  463. + label = "LED1_RED";
  464. + gpios = <&gpioz 6 GPIO_ACTIVE_LOW>;
  465. + linux,default-trigger = "heartbeat";
  466. + status = "okay";
  467. + default-state = "off";
  468. + };
  469. +
  470. + green1{
  471. + label = "LED1_GRN";
  472. + gpios = <&gpioz 7 GPIO_ACTIVE_LOW>;
  473. + status = "okay";
  474. + default-state = "on";
  475. + };
  476. +
  477. + red2{
  478. + label = "LED2_RED";
  479. + gpios = <&gpioi 8 GPIO_ACTIVE_LOW>;
  480. + status = "okay";
  481. + default-state = "off";
  482. + };
  483. +
  484. + green2{
  485. + label = "LED2_GRN";
  486. + gpios = <&gpioi 9 GPIO_ACTIVE_LOW>;
  487. + default-state = "off";
  488. + };
  489. + };
  490. +
  491. + usb_phy_tuning:usb-phy-tuning{
  492. + st,hs-dc-level = <2>;
  493. + st,fs-rftime-tuning;
  494. + st,hs-rftime-reduction;
  495. + st,hs-current-trim = <15>;
  496. + st,hs-impedance-trim = <1>;
  497. + st,squelch-level = <3>;
  498. + st,hs-rx-offset = <2>;
  499. + st,no-lsfs-sc;
  500. + };
  501. +
  502. + vin:vin{
  503. + compatible = "regulator-fixed";
  504. + regulator-name = "vin";
  505. + regulator-min-microvolt = <5000000>;
  506. + regulator-max-microvolt = <5000000>;
  507. + regulator-always-on;
  508. + };
  509. +
  510. + aliases{
  511. + serial0 = &uart4;
  512. + serial2 = &usart2;
  513. + serial5 = &uart5;
  514. + serial7 = &uart7;
  515. + serial1 = &uart8;
  516. + };
  517. +
  518. + chosen{
  519. + stdout-path = "serial0:115200n8";
  520. + };
  521. +
  522. +}; /*root*/
  523. +
  524. +&pinctrl {
  525. + u-boot,dm-pre-reloc;
  526. + i2c1_pins_mx: i2c1-0 {
  527. + pins {
  528. + pinmux = <STM32_PINMUX('H', 11, AF5)>, /* I2C1_SCL */
  529. + <STM32_PINMUX('H', 12, AF5)>; /* I2C1_SDA */
  530. + bias-disable;
  531. + drive-open-drain;
  532. + slew-rate = <0>;
  533. + };
  534. + };
  535. +
  536. + i2c1_pins_sleep_mx: i2c1-1 {
  537. + pins {
  538. + pinmux = <STM32_PINMUX('H', 11, ANALOG)>, /* I2C1_SCL */
  539. + <STM32_PINMUX('H', 12, ANALOG)>; /* I2C1_SDA */
  540. + };
  541. + };
  542. +
  543. + i2c2_pins_mx: i2c2-0 {
  544. + pins {
  545. + pinmux = <STM32_PINMUX('F', 1, AF4)>, /* I2C2_SCL */
  546. + <STM32_PINMUX('G', 15, AF4)>; /* I2C2_SDA */
  547. + bias-disable;
  548. + drive-open-drain;
  549. + slew-rate = <0>;
  550. + };
  551. + };
  552. +
  553. + i2c2_pins_sleep_mx: i2c2-1 {
  554. + pins {
  555. + pinmux = <STM32_PINMUX('F', 1, ANALOG)>, /* I2C2_SCL */
  556. + <STM32_PINMUX('G', 15, ANALOG)>; /* I2C2_SDA */
  557. + };
  558. + };
  559. +
  560. + i2c5_pins_mx: i2c5-0 {
  561. + pins {
  562. + pinmux = <STM32_PINMUX('D', 1, AF4)>, /* I2C5_SCL */
  563. + <STM32_PINMUX('D', 0, AF4)>; /* I2C5_SDA */
  564. + bias-disable;
  565. + drive-open-drain;
  566. + slew-rate = <0>;
  567. + };
  568. + };
  569. +
  570. + i2c5_pins_sleep_mx: i2c5-1 {
  571. + pins {
  572. + pinmux = <STM32_PINMUX('D', 1, ANALOG)>, /* I2C5_SCL */
  573. + <STM32_PINMUX('D', 0, ANALOG)>; /* I2C5_SDA */
  574. + };
  575. + };
  576. +
  577. + spi2_pins_mx: spi2-0 {
  578. + pins1 {
  579. + pinmux = <STM32_PINMUX('I', 1, AF5)>, /* SPI2_SCK */
  580. + <STM32_PINMUX('I', 3, AF5)>; /* SPI2_MOSI */
  581. + bias-disable;
  582. + drive-push-pull;
  583. + slew-rate = <1>;
  584. + };
  585. +
  586. + pins2 {
  587. + pinmux = <STM32_PINMUX('I', 2, AF5)>; /* SPI2_MISO */
  588. + bias-disable;
  589. + };
  590. + };
  591. +
  592. + spi2_sleep_pins_mx: spi2-sleep-0 {
  593. + pins {
  594. + pinmux = <STM32_PINMUX('I', 1, ANALOG)>, /* SPI2_SCK */
  595. + <STM32_PINMUX('I', 2, ANALOG)>, /* SPI2_MISO */
  596. + <STM32_PINMUX('I', 3, ANALOG)>; /* SPI2_MOSI */
  597. + };
  598. + };
  599. +
  600. + spi4_pins_mx: spi4-0 {
  601. + pins1 {
  602. + pinmux = <STM32_PINMUX('E', 12, AF5)>, /* SPI4_SCK */
  603. + <STM32_PINMUX('E', 14, AF5)>; /* SPI4_MOSI */
  604. + bias-disable;
  605. + drive-push-pull;
  606. + slew-rate = <1>;
  607. + };
  608. +
  609. + pins2 {
  610. + pinmux = <STM32_PINMUX('E', 13, AF5)>; /* SPI4_MISO */
  611. + bias-disable;
  612. + };
  613. + };
  614. +
  615. + spi4_sleep_pins_mx: spi4-sleep-0 {
  616. + pins {
  617. + pinmux = <STM32_PINMUX('E', 12, ANALOG)>, /* SPI2_SCK */
  618. + <STM32_PINMUX('E', 13, ANALOG)>, /* SPI2_MISO */
  619. + <STM32_PINMUX('E', 14, ANALOG)>; /* SPI2_MOSI */
  620. + };
  621. + };
  622. +
  623. + usart2_pins_mx: usart2-0 {
  624. + pins1 {
  625. + pinmux = <STM32_PINMUX('F', 5, AF7)>; /* USART2_TX */
  626. + bias-disable;
  627. + drive-push-pull;
  628. + slew-rate = <0>;
  629. + };
  630. + pins2 {
  631. + pinmux = <STM32_PINMUX('F', 4, AF7)>; /* USART2_RX */
  632. + bias-disable;
  633. + };
  634. + };
  635. +
  636. + usart2_idle_pins_mx: usart2-idle-0 {
  637. + pins1 {
  638. + pinmux = <STM32_PINMUX('F', 5, ANALOG)>; /* USART2_TX */
  639. + };
  640. + pins2 {
  641. + pinmux = <STM32_PINMUX('F', 4, AF7)>; /* USART2_RX */
  642. + bias-disable;
  643. + };
  644. + };
  645. +
  646. + usart2_sleep_pins_mx: usart2-sleep-0 {
  647. + pins {
  648. + pinmux = <STM32_PINMUX('F', 5, ANALOG)>, /* USART2_TX */
  649. + <STM32_PINMUX('F', 4, ANALOG)>; /* USART2_RX */
  650. + };
  651. + };
  652. +
  653. + uart5_pins_mx: uart5-0 {
  654. + pins1 {
  655. + pinmux = <STM32_PINMUX('B', 13, AF14)>; /* USART5_TX */
  656. + bias-disable;
  657. + drive-push-pull;
  658. + slew-rate = <0>;
  659. + };
  660. + pins2 {
  661. + pinmux = <STM32_PINMUX('B', 12, AF14)>; /* USART5_RX */
  662. + bias-disable;
  663. + };
  664. + };
  665. +
  666. + uart5_idle_pins_mx: uart5-idle-0 {
  667. + pins1 {
  668. + pinmux = <STM32_PINMUX('B', 13, ANALOG)>; /* USART5_TX */
  669. + };
  670. + pins2 {
  671. + pinmux = <STM32_PINMUX('B', 12, AF14)>; /* USART5_RX */
  672. + bias-disable;
  673. + };
  674. + };
  675. +
  676. + uart5_sleep_pins_mx: uart5-sleep-0 {
  677. + pins {
  678. + pinmux = <STM32_PINMUX('B', 13, ANALOG)>, /* USART5_TX */
  679. + <STM32_PINMUX('B', 12, ANALOG)>; /* USART5_RX */
  680. + };
  681. + };
  682. +
  683. + uart7_pins_mx: uart7-0 {
  684. + pins1 {
  685. + pinmux = <STM32_PINMUX('A', 15, AF13)>; /* USART7_TX */
  686. + bias-disable;
  687. + drive-push-pull;
  688. + slew-rate = <0>;
  689. + };
  690. + pins2 {
  691. + pinmux = <STM32_PINMUX('B', 3, AF13)>; /* USART7_RX */
  692. + bias-disable;
  693. + };
  694. + };
  695. +
  696. + uart7_idle_pins_mx: uart7-idle-0 {
  697. + pins1 {
  698. + pinmux = <STM32_PINMUX('A', 15, ANALOG)>; /* USART7_TX */
  699. + };
  700. + pins2 {
  701. + pinmux = <STM32_PINMUX('B', 3, AF13)>; /* USART7_RX */
  702. + bias-disable;
  703. + };
  704. + };
  705. +
  706. + uart7_sleep_pins_mx: uart7-sleep-0 {
  707. + pins {
  708. + pinmux = <STM32_PINMUX('A', 15, ANALOG)>, /* USART7_TX */
  709. + <STM32_PINMUX('B', 3, ANALOG)>; /* USART7_RX */
  710. + };
  711. + };
  712. +
  713. + uart8_pins_mx: uart8-0 {
  714. + pins1 {
  715. + pinmux = <STM32_PINMUX('E', 1, AF8)>; /* USART8_TX */
  716. + bias-disable;
  717. + drive-push-pull;
  718. + slew-rate = <0>;
  719. + };
  720. + pins2 {
  721. + pinmux = <STM32_PINMUX('E', 0, AF8)>; /* USART8_RX */
  722. + bias-disable;
  723. + };
  724. + };
  725. +
  726. + uart8_idle_pins_mx: uart8-idle-0 {
  727. + pins1 {
  728. + pinmux = <STM32_PINMUX('E', 1, ANALOG)>; /* USART8_TX */
  729. + };
  730. + pins2 {
  731. + pinmux = <STM32_PINMUX('E', 0, AF8)>; /* USART8_RX */
  732. + bias-disable;
  733. + };
  734. + };
  735. +
  736. + uart8_sleep_pins_mx: uart8-sleep-0 {
  737. + pins {
  738. + pinmux = <STM32_PINMUX('E', 1, ANALOG)>, /* USART8_TX */
  739. + <STM32_PINMUX('E', 0, ANALOG)>; /* USART8_RX */
  740. + };
  741. + };
  742. +
  743. + m_can1_pins_mx: m-can1-0 {
  744. + pins1 {
  745. + pinmux = <STM32_PINMUX('H', 13, AF9)>; /* CAN1_TX */
  746. + slew-rate = <0>;
  747. + drive-push-pull;
  748. + bias-disable;
  749. + };
  750. + pins2 {
  751. + pinmux = <STM32_PINMUX('H', 14, AF9)>; /* CAN1_RX */
  752. + bias-disable;
  753. + };
  754. + };
  755. +
  756. + m_can1_sleep_pins_mx: m_can1-sleep@0 {
  757. + pins {
  758. + pinmux = <STM32_PINMUX('H', 13, ANALOG)>, /* CAN1_TX */
  759. + <STM32_PINMUX('H', 14, ANALOG)>; /* CAN1_RX */
  760. + };
  761. + };
  762. +
  763. + pwm1_pins_mx: pwm1-0 {
  764. + pins {
  765. + pinmux = <STM32_PINMUX('A', 9, AF1)>; /* TIM1_CH2 */
  766. + bias-pull-down;
  767. + drive-push-pull;
  768. + slew-rate = <0>;
  769. + };
  770. + };
  771. +
  772. + pwm1_sleep_pins_mx: pwm1-sleep-0 {
  773. + pins {
  774. + pinmux = <STM32_PINMUX('A', 9, ANALOG)>; /* TIM1_CH1 */
  775. + };
  776. + };
  777. +
  778. + pwm3_pins_mx: pwm3-0 {
  779. + pins {
  780. + pinmux = <STM32_PINMUX('B', 5, AF2)>; /* TIM3_CH2 */
  781. + bias-pull-down;
  782. + drive-push-pull;
  783. + slew-rate = <0>;
  784. + };
  785. + };
  786. +
  787. + pwm3_sleep_pins_mx: pwm3-sleep-0 {
  788. + pins {
  789. + pinmux = <STM32_PINMUX('B', 5, ANALOG)>; /* TIM3_CH2 */
  790. + };
  791. + };
  792. +
  793. + pwm4_pins_mx: pwm4-0 {
  794. + pins {
  795. + pinmux = <STM32_PINMUX('B', 7, AF2)>; /* TIM4_CH2 */
  796. + bias-pull-down;
  797. + drive-push-pull;
  798. + slew-rate = <0>;
  799. + };
  800. + };
  801. +
  802. + pwm4_sleep_pins_mx: pwm4-sleep-0 {
  803. + pins {
  804. + pinmux = <STM32_PINMUX('B', 7, ANALOG)>; /* TIM4_CH2 */
  805. + };
  806. + };
  807. +
  808. + pwm8_pins_mx: pwm8-0 {
  809. + pins {
  810. + pinmux = <STM32_PINMUX('I', 6, AF3)>; /* TIM8_CH2 */
  811. + bias-pull-down;
  812. + drive-push-pull;
  813. + slew-rate = <0>;
  814. + };
  815. + };
  816. +
  817. + pwm8_sleep_pins_mx: pwm8-sleep-0 {
  818. + pins {
  819. + pinmux = <STM32_PINMUX('I', 6, ANALOG)>; /* TIM8_CH2 */
  820. + };
  821. + };
  822. +
  823. +
  824. + pwm12_pins_mx: pwm12-0 {
  825. + pins {
  826. + pinmux = <STM32_PINMUX('H', 9, AF2)>; /* TIM12_CH2 */
  827. + bias-pull-down;
  828. + drive-push-pull;
  829. + slew-rate = <0>;
  830. + };
  831. + };
  832. +
  833. + pwm12_sleep_pins_mx: pwm12-sleep-0 {
  834. + pins {
  835. + pinmux = <STM32_PINMUX('H', 9, ANALOG)>; /* TIM12_CH2 */
  836. + };
  837. + };
  838. +
  839. + sdmmc1_pins_mx: sdmmc1_mx-0 {
  840. + u-boot,dm-pre-reloc;
  841. + pins1 {
  842. + u-boot,dm-pre-reloc;
  843. + pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
  844. + <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
  845. + <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
  846. + <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
  847. + <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
  848. + bias-disable;
  849. + drive-push-pull;
  850. + slew-rate = <1>;
  851. + };
  852. + pins2 {
  853. + u-boot,dm-pre-reloc;
  854. + pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
  855. + bias-disable;
  856. + drive-push-pull;
  857. + slew-rate = <2>;
  858. + };
  859. + };
  860. +
  861. + sdmmc1_opendrain_pins_mx: sdmmc1_opendrain_mx-0 {
  862. + u-boot,dm-pre-reloc;
  863. + pins1 {
  864. + u-boot,dm-pre-reloc;
  865. + pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
  866. + <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
  867. + <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
  868. + <STM32_PINMUX('C', 11, AF12)>; /* SDMMC1_D3 */
  869. + bias-disable;
  870. + drive-push-pull;
  871. + slew-rate = <1>;
  872. + };
  873. + pins2 {
  874. + u-boot,dm-pre-reloc;
  875. + pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
  876. + bias-disable;
  877. + drive-push-pull;
  878. + slew-rate = <2>;
  879. + };
  880. + pins3 {
  881. + u-boot,dm-pre-reloc;
  882. + pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
  883. + bias-disable;
  884. + drive-open-drain;
  885. + slew-rate = <1>;
  886. + };
  887. + };
  888. +
  889. + sdmmc1_sleep_pins_mx: sdmmc1_sleep_mx-0 {
  890. + u-boot,dm-pre-reloc;
  891. + pins {
  892. + u-boot,dm-pre-reloc;
  893. + pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1_D0 */
  894. + <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1_D1 */
  895. + <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1_D2 */
  896. + <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1_D3 */
  897. + <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1_CK */
  898. + <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1_CMD */
  899. + };
  900. + };
  901. +
  902. + uart4_pins_mx: uart4_mx-0 {
  903. + u-boot,dm-pre-reloc;
  904. + pins1 {
  905. + u-boot,dm-pre-reloc;
  906. + pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
  907. + /* pull-up on rx to avoid floating level */
  908. + bias-pull-up;
  909. + };
  910. + pins2 {
  911. + u-boot,dm-pre-reloc;
  912. + pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
  913. + bias-disable;
  914. + drive-push-pull;
  915. + slew-rate = <0>;
  916. + };
  917. + };
  918. +
  919. + uart4_sleep_pins_mx: uart4_sleep_mx-0 {
  920. + u-boot,dm-pre-reloc;
  921. + pins {
  922. + u-boot,dm-pre-reloc;
  923. + pinmux = <STM32_PINMUX('B', 2, ANALOG)>, /* UART4_RX */
  924. + <STM32_PINMUX('G', 11, ANALOG)>; /* UART4_TX */
  925. + };
  926. + };
  927. +};
  928. +
  929. +&pinctrl_z {
  930. + u-boot,dm-pre-reloc;
  931. +
  932. + i2c4_pins_z_mx: i2c4_mx-0 {
  933. + u-boot,dm-pre-reloc;
  934. + pins {
  935. + u-boot,dm-pre-reloc;
  936. + pinmux = <STM32_PINMUX('Z', 4, AF6)>, /* I2C4_SCL */
  937. + <STM32_PINMUX('Z', 5, AF6)>; /* I2C4_SDA */
  938. + bias-disable;
  939. + drive-open-drain;
  940. + slew-rate = <0>;
  941. + };
  942. + };
  943. +
  944. + i2c4_sleep_pins_z_mx: i2c4_sleep_mx-0 {
  945. + u-boot,dm-pre-reloc;
  946. + pins {
  947. + u-boot,dm-pre-reloc;
  948. + pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C4_SCL */
  949. + <STM32_PINMUX('Z', 5, ANALOG)>; /* I2C4_SDA */
  950. + };
  951. + };
  952. +
  953. + spi6_pins_mx: spi6-0 {
  954. + pins1 {
  955. + pinmux = <STM32_PINMUX('Z', 0, AF8)>, /* SPI6_SCK */
  956. + <STM32_PINMUX('Z', 2, AF8)>; /* SPI6_MOSI */
  957. + bias-disable;
  958. + drive-push-pull;
  959. + slew-rate = <1>;
  960. + };
  961. +
  962. + pins2 {
  963. + pinmux = <STM32_PINMUX('Z', 1, AF8)>; /* SPI6_MISO */
  964. + bias-disable;
  965. + };
  966. + };
  967. +
  968. + spi6_sleep_pins_mx: spi6-sleep-0 {
  969. + pins {
  970. + pinmux = <STM32_PINMUX('Z', 0, ANALOG)>, /* SPI6_SCK */
  971. + <STM32_PINMUX('Z', 1, ANALOG)>, /* SPI6_MISO */
  972. + <STM32_PINMUX('Z', 2, ANALOG)>; /* SPI6_MOSI */
  973. + };
  974. + };
  975. +};
  976. +
  977. +&m4_rproc{
  978. + memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
  979. + <&vdev0vring1>, <&vdev0buffer>;
  980. + mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
  981. + mbox-names = "vq0", "vq1", "shutdown";
  982. + interrupt-parent = <&exti>;
  983. + interrupts = <68 1>;
  984. + wakeup-source;
  985. + status = "okay";
  986. +};
  987. +
  988. +&pwr_regulators {
  989. + vdd-supply = <&vdd>;
  990. + vdd_3v3_usbfs-supply = <&vdd_usb>;
  991. +};
  992. +
  993. +
  994. +&crc1{
  995. + status = "okay";
  996. +};
  997. +
  998. +&cryp1{
  999. + u-boot,dm-pre-reloc;
  1000. + status = "okay";
  1001. +};
  1002. +
  1003. +&dma1{
  1004. + status = "okay";
  1005. + sram = <&dma_pool>;
  1006. +};
  1007. +
  1008. +&dma2{
  1009. + status = "okay";
  1010. + sram = <&dma_pool>;
  1011. +};
  1012. +
  1013. +&dts{
  1014. + status = "okay";
  1015. +};
  1016. +
  1017. +&gpu{
  1018. + status = "okay";
  1019. + contiguous-area = <&gpu_reserved>;
  1020. +};
  1021. +
  1022. +&hash1{
  1023. + u-boot,dm-pre-reloc;
  1024. + status = "okay";
  1025. +};
  1026. +
  1027. +&hsem{
  1028. + status = "okay";
  1029. +};
  1030. +
  1031. +&i2c1 {
  1032. + pinctrl-names = "default", "sleep";
  1033. + pinctrl-0 = <&i2c1_pins_mx>;
  1034. + pinctrl-1 = <&i2c1_pins_sleep_mx>;
  1035. + i2c-scl-rising-time-ns = <100>;
  1036. + i2c-scl-falling-time-ns = <7>;
  1037. + status = "okay";
  1038. + /delete-property/dmas;
  1039. + /delete-property/dma-names;
  1040. +};
  1041. +
  1042. +&i2c2 {
  1043. + pinctrl-names = "default", "sleep";
  1044. + pinctrl-0 = <&i2c2_pins_mx>;
  1045. + pinctrl-1 = <&i2c2_pins_sleep_mx>;
  1046. + i2c-scl-rising-time-ns = <100>;
  1047. + i2c-scl-falling-time-ns = <7>;
  1048. + status = "okay";
  1049. + /delete-property/dmas;
  1050. + /delete-property/dma-names;
  1051. +};
  1052. +
  1053. +&i2c5 {
  1054. + pinctrl-names = "default", "sleep";
  1055. + pinctrl-0 = <&i2c5_pins_mx>;
  1056. + pinctrl-1 = <&i2c5_pins_sleep_mx>;
  1057. + i2c-scl-rising-time-ns = <100>;
  1058. + i2c-scl-falling-time-ns = <7>;
  1059. + status = "okay";
  1060. + /delete-property/dmas;
  1061. + /delete-property/dma-names;
  1062. +};
  1063. +
  1064. +&i2c4{
  1065. + u-boot,dm-pre-reloc;
  1066. + pinctrl-names = "default", "sleep";
  1067. + pinctrl-0 = <&i2c4_pins_z_mx>;
  1068. + pinctrl-1 = <&i2c4_sleep_pins_z_mx>;
  1069. + status = "okay";
  1070. +
  1071. + i2c-scl-rising-time-ns = <185>;
  1072. + i2c-scl-falling-time-ns = <20>;
  1073. + clock-frequency = <400000>;
  1074. + /delete-property/ dmas;
  1075. + /delete-property/ dma-names;
  1076. +
  1077. + pmic:stpmic@33{
  1078. + compatible = "st,stpmic1";
  1079. + reg = <0x33>;
  1080. + interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
  1081. + interrupt-controller;
  1082. + #interrupt-cells = <2>;
  1083. + status = "okay";
  1084. +
  1085. + regulators{
  1086. + compatible = "st,stpmic1-regulators";
  1087. + buck1-supply = <&vin>;
  1088. + buck2-supply = <&vin>;
  1089. + buck3-supply = <&vin>;
  1090. + buck4-supply = <&vin>;
  1091. + ldo1-supply = <&v3v3>;
  1092. + ldo2-supply = <&vin>;
  1093. + ldo3-supply = <&vdd_ddr>;
  1094. + ldo4-supply = <&vin>;
  1095. + ldo5-supply = <&vin>;
  1096. + ldo6-supply = <&v3v3>;
  1097. + vref_ddr-supply = <&vin>;
  1098. + boost-supply = <&vin>;
  1099. + pwr_sw1-supply = <&bst_out>;
  1100. + pwr_sw2-supply = <&bst_out>;
  1101. +
  1102. + vddcore:buck1{
  1103. + regulator-name = "vddcore";
  1104. + regulator-min-microvolt = <1200000>;
  1105. + regulator-max-microvolt = <1350000>;
  1106. + regulator-always-on;
  1107. + regulator-initial-mode = <0>;
  1108. + regulator-over-current-protection;
  1109. + };
  1110. +
  1111. + vdd_ddr:buck2{
  1112. + regulator-name = "vdd_ddr";
  1113. + regulator-min-microvolt = <1350000>;
  1114. + regulator-max-microvolt = <1350000>;
  1115. + regulator-always-on;
  1116. + regulator-initial-mode = <0>;
  1117. + regulator-over-current-protection;
  1118. + };
  1119. +
  1120. + vdd:buck3{
  1121. + regulator-name = "vdd";
  1122. + regulator-min-microvolt = <3300000>;
  1123. + regulator-max-microvolt = <3300000>;
  1124. + regulator-always-on;
  1125. + st,mask-reset;
  1126. + regulator-initial-mode = <0>;
  1127. + regulator-over-current-protection;
  1128. + };
  1129. +
  1130. + v3v3:buck4{
  1131. + regulator-name = "v3v3";
  1132. + regulator-min-microvolt = <3300000>;
  1133. + regulator-max-microvolt = <3300000>;
  1134. + regulator-always-on;
  1135. + regulator-over-current-protection;
  1136. + regulator-initial-mode = <0>;
  1137. + };
  1138. +
  1139. + v1v8_audio:ldo1{
  1140. + regulator-name = "v1v8_audio";
  1141. + regulator-min-microvolt = <1800000>;
  1142. + regulator-max-microvolt = <1800000>;
  1143. + regulator-always-on;
  1144. + interrupts = <IT_CURLIM_LDO1 0>;
  1145. + };
  1146. +
  1147. + v3v3_hdmi:ldo2{
  1148. + regulator-name = "v3v3_hdmi";
  1149. + regulator-min-microvolt = <3300000>;
  1150. + regulator-max-microvolt = <3300000>;
  1151. + regulator-always-on;
  1152. + interrupts = <IT_CURLIM_LDO2 0>;
  1153. + };
  1154. +
  1155. + vtt_ddr:ldo3{
  1156. + regulator-name = "vtt_ddr";
  1157. + regulator-min-microvolt = <500000>;
  1158. + regulator-max-microvolt = <750000>;
  1159. + regulator-always-on;
  1160. + regulator-over-current-protection;
  1161. + };
  1162. +
  1163. + vdd_usb:ldo4{
  1164. + regulator-name = "vdd_usb";
  1165. + interrupts = <IT_CURLIM_LDO4 0>;
  1166. + };
  1167. +
  1168. + vdda:ldo5{
  1169. + regulator-name = "vdda";
  1170. + regulator-min-microvolt = <2900000>;
  1171. + regulator-max-microvolt = <2900000>;
  1172. + interrupts = <IT_CURLIM_LDO5 0>;
  1173. + regulator-boot-on;
  1174. + };
  1175. +
  1176. + v1v2_hdmi:ldo6{
  1177. + regulator-name = "v1v2_hdmi";
  1178. + regulator-min-microvolt = <1200000>;
  1179. + regulator-max-microvolt = <1200000>;
  1180. + regulator-always-on;
  1181. + interrupts = <IT_CURLIM_LDO6 0>;
  1182. + };
  1183. +
  1184. + vref_ddr:vref_ddr{
  1185. + regulator-name = "vref_ddr";
  1186. + regulator-always-on;
  1187. + regulator-over-current-protection;
  1188. + };
  1189. +
  1190. + bst_out:boost{
  1191. + regulator-name = "bst_out";
  1192. + interrupts = <IT_OCP_BOOST 0>;
  1193. + };
  1194. +
  1195. + vbus_otg:pwr_sw1{
  1196. + regulator-name = "vbus_otg";
  1197. + interrupts = <IT_OCP_OTG 0>;
  1198. + };
  1199. +
  1200. + vbus_sw:pwr_sw2{
  1201. + regulator-name = "vbus_sw";
  1202. + interrupts = <IT_OCP_SWOUT 0>;
  1203. + regulator-active-discharge = <1>;
  1204. + };
  1205. + };
  1206. +
  1207. + onkey{
  1208. + compatible = "st,stpmic1-onkey";
  1209. + interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>;
  1210. + interrupt-names = "onkey-falling", "onkey-rising";
  1211. + power-off-time-sec = <10>;
  1212. + status = "okay";
  1213. + };
  1214. +
  1215. + watchdog {
  1216. + compatible = "st,stpmic1-wdt";
  1217. + status = "disabled";
  1218. + };
  1219. + };
  1220. + eeprom@50 {
  1221. + compatible = "atmel,24c02";
  1222. + reg = <0x50>;
  1223. + pagesize = <16>;
  1224. + };
  1225. +};
  1226. +
  1227. +&ipcc{
  1228. + status = "okay";
  1229. +};
  1230. +
  1231. +&iwdg2{
  1232. + status = "okay";
  1233. + timeout-sec = <32>;
  1234. +};
  1235. +
  1236. +&mdma1{
  1237. + status = "okay";
  1238. +};
  1239. +
  1240. +&rcc{
  1241. + u-boot,dm-pre-reloc;
  1242. + status = "okay";
  1243. +};
  1244. +
  1245. +&rng1{
  1246. + status = "okay";
  1247. +};
  1248. +
  1249. +&rtc{
  1250. + status = "okay";
  1251. +};
  1252. +
  1253. +&sdmmc1{
  1254. + u-boot,dm-pre-reloc;
  1255. + pinctrl-names = "default", "opendrain", "sleep";
  1256. + pinctrl-0 = <&sdmmc1_pins_mx>;
  1257. + pinctrl-1 = <&sdmmc1_opendrain_pins_mx>;
  1258. + pinctrl-2 = <&sdmmc1_sleep_pins_mx>;
  1259. + status = "okay";
  1260. +
  1261. + cd-gpios = <&gpiog 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
  1262. + disable-wp;
  1263. + st,neg-edge;
  1264. + bus-width = <4>;
  1265. + vmmc-supply = <&v3v3>;
  1266. +};
  1267. +
  1268. +&tamp{
  1269. + status = "okay";
  1270. +};
  1271. +
  1272. +&uart4{
  1273. + u-boot,dm-pre-reloc;
  1274. + pinctrl-names = "default", "sleep";
  1275. + pinctrl-0 = <&uart4_pins_mx>;
  1276. + pinctrl-1 = <&uart4_sleep_pins_mx>;
  1277. + status = "okay";
  1278. +
  1279. + /delete-property/ dmas;
  1280. + /delete-property/ dma-names;
  1281. +};
  1282. +
  1283. +&usbh_ehci{
  1284. + status = "okay";
  1285. + phys = <&usbphyc_port0>;
  1286. +};
  1287. +
  1288. +&usbh_ohci{
  1289. + status = "okay";
  1290. +};
  1291. +
  1292. +&usbotg_hs{
  1293. + u-boot,dm-pre-reloc;
  1294. + status = "okay";
  1295. + phys = <&usbphyc_port1 0>;
  1296. + phy-names = "usb2-phy";
  1297. +};
  1298. +
  1299. +&usbphyc{
  1300. + u-boot,dm-pre-reloc;
  1301. + status = "okay";
  1302. +};
  1303. +
  1304. +&usbphyc_port0{
  1305. + u-boot,dm-pre-reloc;
  1306. + status = "okay";
  1307. + phy-supply = <&vdd_usb>;
  1308. + st,phy-tuning = <&usb_phy_tuning>;
  1309. +};
  1310. +
  1311. +&usbphyc_port1{
  1312. + u-boot,dm-pre-reloc;
  1313. + status = "okay";
  1314. + phy-supply = <&vdd_usb>;
  1315. + st,phy-tuning = <&usb_phy_tuning>;
  1316. +};
  1317. +
  1318. +&adc {
  1319. + vdd-supply = <&vdd>;
  1320. + vdda-supply = <&vdda>;
  1321. + vref-supply = <&vdda>;
  1322. + status = "okay";
  1323. + adc1: adc@0 {
  1324. + st,min-sample-time-nsecs = <5000>;
  1325. + st,adc-channels = <0 1>;
  1326. + status = "okay";
  1327. + };
  1328. +
  1329. + adc2: adc@100 {
  1330. + status = "okay";
  1331. + };
  1332. +
  1333. + adc_temp: temp {
  1334. + status = "okay";
  1335. + };
  1336. +};
  1337. +
  1338. +&usbh_ohci{
  1339. + phys = <&usbphyc_port0>;
  1340. +};
  1341. +
  1342. +&cpu0{
  1343. + cpu-supply = <&vddcore>;
  1344. +};
  1345. +
  1346. +&cpu1{
  1347. + cpu-supply = <&vddcore>;
  1348. +};
  1349. +
  1350. +&sram{
  1351. + dma_pool:dma_pool@0{
  1352. + reg = <0x50000 0x10000>;
  1353. + pool;
  1354. + };
  1355. +};
  1356. +
  1357. +&spi2 {
  1358. + pinctrl-names = "default", "sleep";
  1359. + pinctrl-0 = <&spi2_pins_mx>;
  1360. + pinctrl-1 = <&spi2_sleep_pins_mx>;
  1361. + cs-gpios = <&gpioi 0 0>;
  1362. + status = "okay";
  1363. +
  1364. + spidev2: spidev2@0{
  1365. + compatible = "rohm,dh2228fv";
  1366. + spi-max-frequency = <30000000>;
  1367. + reg = <0>;
  1368. + };
  1369. +};
  1370. +
  1371. +&spi4 {
  1372. + pinctrl-names = "default", "sleep";
  1373. + pinctrl-0 = <&spi4_pins_mx>;
  1374. + pinctrl-1 = <&spi4_sleep_pins_mx>;
  1375. + cs-gpios = <&gpioe 11 0>;
  1376. + status = "okay";
  1377. +
  1378. + spidev4: spidev4@0{
  1379. + compatible = "rohm,dh2228fv";
  1380. + spi-max-frequency = <30000000>;
  1381. + reg = <0>;
  1382. + };
  1383. +};
  1384. +
  1385. +&spi6 {
  1386. + pinctrl-names = "default", "sleep";
  1387. + pinctrl-0 = <&spi6_pins_mx>;
  1388. + pinctrl-1 = <&spi6_sleep_pins_mx>;
  1389. + cs-gpios = <&gpioz 3 0>;
  1390. + status = "okay";
  1391. +
  1392. + spidev6: spidev6@0{
  1393. + compatible = "rohm,dh2228fv";
  1394. + spi-max-frequency = <30000000>;
  1395. + reg = <0>;
  1396. + };
  1397. +};
  1398. +
  1399. +&usart2 {
  1400. + pinctrl-names = "default", "sleep", "idle";
  1401. + pinctrl-0 = <&usart2_pins_mx>;
  1402. + pinctrl-1 = <&usart2_sleep_pins_mx>;
  1403. + pinctrl-2 = <&usart2_idle_pins_mx>;
  1404. + status = "okay";
  1405. +};
  1406. +
  1407. +&uart5 {
  1408. + pinctrl-names = "default", "sleep", "idle";
  1409. + pinctrl-0 = <&uart5_pins_mx>;
  1410. + pinctrl-1 = <&uart5_sleep_pins_mx>;
  1411. + pinctrl-2 = <&uart5_idle_pins_mx>;
  1412. + status = "okay";
  1413. +};
  1414. +
  1415. +&uart7 {
  1416. + pinctrl-names = "default", "sleep", "idle";
  1417. + pinctrl-0 = <&uart7_pins_mx>;
  1418. + pinctrl-1 = <&uart7_sleep_pins_mx>;
  1419. + pinctrl-2 = <&uart7_idle_pins_mx>;
  1420. + status = "okay";
  1421. +};
  1422. +
  1423. +&uart8 {
  1424. + pinctrl-names = "default", "sleep", "idle";
  1425. + pinctrl-0 = <&uart8_pins_mx>;
  1426. + pinctrl-1 = <&uart8_sleep_pins_mx>;
  1427. + pinctrl-2 = <&uart8_idle_pins_mx>;
  1428. + status = "okay";
  1429. +};
  1430. +
  1431. +&m_can1 {
  1432. + pinctrl-names = "default";
  1433. + pinctrl-0 = <&m_can1_pins_mx>;
  1434. + status = "okay";
  1435. + can-transceiver {
  1436. + max-bitrate = <5000000>;
  1437. + };
  1438. +};
  1439. +
  1440. +&timers1 {
  1441. + status = "okay";
  1442. + /* spare dmas for other usage */
  1443. + /delete-property/dmas;
  1444. + /delete-property/dma-names;
  1445. + pwm1: pwm {
  1446. + pinctrl-names = "default", "sleep";
  1447. + pinctrl-0 = <&pwm1_pins_mx>;
  1448. + pinctrl-1 = <&pwm1_sleep_pins_mx>;
  1449. + status = "okay";
  1450. + };
  1451. +};
  1452. +
  1453. +&timers3 {
  1454. + status = "okay";
  1455. + /* spare dmas for other usage */
  1456. + /delete-property/dmas;
  1457. + /delete-property/dma-names;
  1458. + pwm3: pwm {
  1459. + pinctrl-names = "default", "sleep";
  1460. + pinctrl-0 = <&pwm3_pins_mx>;
  1461. + pinctrl-1 = <&pwm3_sleep_pins_mx>;
  1462. + status = "okay";
  1463. + };
  1464. +};
  1465. +
  1466. +&timers4 {
  1467. + status = "okay";
  1468. + /* spare dmas for other usage */
  1469. + /delete-property/dmas;
  1470. + /delete-property/dma-names;
  1471. + pwm4: pwm {
  1472. + pinctrl-names = "default", "sleep";
  1473. + pinctrl-0 = <&pwm4_pins_mx>;
  1474. + pinctrl-1 = <&pwm4_sleep_pins_mx>;
  1475. + status = "okay";
  1476. + };
  1477. +};
  1478. +
  1479. +&timers8 {
  1480. + status = "okay";
  1481. + /* spare dmas for other usage */
  1482. + /delete-property/dmas;
  1483. + /delete-property/dma-names;
  1484. + pwm8: pwm {
  1485. + pinctrl-names = "default", "sleep";
  1486. + pinctrl-0 = <&pwm8_pins_mx>;
  1487. + pinctrl-1 = <&pwm8_sleep_pins_mx>;
  1488. + status = "okay";
  1489. + };
  1490. +};
  1491. +
  1492. +&timers12 {
  1493. + status = "okay";
  1494. + /* spare dmas for other usage */
  1495. + /delete-property/dmas;
  1496. + /delete-property/dma-names;
  1497. + pwm12: pwm {
  1498. + pinctrl-names = "default", "sleep";
  1499. + pinctrl-0 = <&pwm12_pins_mx>;
  1500. + pinctrl-1 = <&pwm12_sleep_pins_mx>;
  1501. + status = "okay";
  1502. + };
  1503. +};
  1504. --
  1505. 2.25.1