0001-Add-OSD32MP1-RED-Device-Tree-support.patch 39 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730
  1. From ad8ef01e630f1c60ac9fa22a1e05af61ce1c0569 Mon Sep 17 00:00:00 2001
  2. From: "neeraj.dantu" <neeraj.dantu@octavosystems.com>
  3. Date: Sun, 31 Jan 2021 21:03:30 -0600
  4. Subject: [PATCH 1/2] Add OSD32MP1-RED Device Tree support
  5. Signed-off-by: neeraj.dantu <neeraj.dantu@octavosystems.com>
  6. [Kory: from https://github.com/octavosystems/osd32mp1-build-tools/tree/395ebd1f4832353c2bc66bbf3346b07d5243e44d/patches/u-boot-2018.11]
  7. Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
  8. ---
  9. arch/arm/dts/osd32mp1-red-u-boot.dtsi | 242 +++
  10. arch/arm/dts/osd32mp1-red.dts | 1311 +++++++++++++++++
  11. ...m32mp15-osd32mp1-ddr3-1x4Gb-1066-binG.dtsi | 119 ++
  12. arch/arm/dts/stm32mp157c.dtsi | 4 +
  13. 4 files changed, 1676 insertions(+)
  14. create mode 100644 arch/arm/dts/osd32mp1-red-u-boot.dtsi
  15. create mode 100644 arch/arm/dts/osd32mp1-red.dts
  16. create mode 100644 arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb-1066-binG.dtsi
  17. diff --git a/arch/arm/dts/osd32mp1-red-u-boot.dtsi b/arch/arm/dts/osd32mp1-red-u-boot.dtsi
  18. new file mode 100644
  19. index 0000000000..801b021145
  20. --- /dev/null
  21. +++ b/arch/arm/dts/osd32mp1-red-u-boot.dtsi
  22. @@ -0,0 +1,242 @@
  23. +/* SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause*/
  24. +/*
  25. + * Copyright (C) 2020, STMicroelectronics - All Rights Reserved
  26. + * Author: STM32CubeMX code generation for STMicroelectronics.
  27. + */
  28. +
  29. +/* For more information on Device Tree configuration, please refer to
  30. + * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration
  31. + */
  32. +
  33. +#include <dt-bindings/clock/stm32mp1-clksrc.h>
  34. +#include "stm32mp15-osd32mp1-ddr3-1x4Gb-1066-binG.dtsi"
  35. +
  36. +#include "stm32mp157-u-boot.dtsi"
  37. +#include "stm32mp15-ddr.dtsi"
  38. +
  39. +
  40. +
  41. +
  42. +/ {
  43. +
  44. +
  45. + aliases {
  46. + i2c3 = &i2c4;
  47. + mmc0 = &sdmmc1; //orig
  48. + //mmc0 = &sdmmc2; //custom
  49. + };
  50. + config {
  51. + u-boot,boot-led = "heartbeat";
  52. + u-boot,error-led = "error";
  53. + st,adc_usb_pd = <&adc1 18>, <&adc1 19>;
  54. + //st,fastboot-gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; //custom
  55. + //st,stm32prog-gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; //custom
  56. + };
  57. + led {
  58. + red {
  59. + label = "error";
  60. + gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
  61. + default-state = "off";
  62. + status = "okay";
  63. + };
  64. +
  65. + blue {
  66. + default-state = "on";
  67. + };
  68. + };
  69. +
  70. +
  71. + clocks {
  72. + u-boot,dm-pre-reloc;
  73. +
  74. +
  75. +
  76. +
  77. + clk_lsi: clk-lsi {
  78. + u-boot,dm-pre-reloc;
  79. +
  80. +
  81. +
  82. + };
  83. +
  84. + clk_hsi: clk-hsi {
  85. + u-boot,dm-pre-reloc;
  86. +
  87. +
  88. +
  89. + };
  90. +
  91. + clk_csi: clk-csi {
  92. + u-boot,dm-pre-reloc;
  93. + status = "disabled";
  94. +
  95. +
  96. +
  97. + };
  98. +
  99. + clk_lse: clk-lse {
  100. + u-boot,dm-pre-reloc;
  101. + st,drive = < LSEDRV_MEDIUM_HIGH >;
  102. +
  103. +
  104. +
  105. + };
  106. +
  107. + clk_hse: clk-hse {
  108. + u-boot,dm-pre-reloc;
  109. + st,digbypass;
  110. +
  111. +
  112. +
  113. + };
  114. + };
  115. +
  116. +}; /*root*/
  117. +
  118. +&rcc {
  119. + u-boot,dm-pre-reloc;
  120. + st,clksrc = <
  121. + CLK_MPU_PLL1P
  122. + CLK_AXI_PLL2P
  123. + CLK_MCU_PLL3P
  124. + CLK_PLL12_HSE
  125. + CLK_PLL3_HSE
  126. + CLK_PLL4_HSE
  127. + CLK_RTC_LSE
  128. + CLK_MCO1_DISABLED
  129. + CLK_MCO2_DISABLED
  130. + >;
  131. + st,clkdiv = <
  132. + 1 /*MPU*/
  133. + 0 /*AXI*/
  134. + 0 /*MCU*/
  135. + 1 /*APB1*/
  136. + 1 /*APB2*/
  137. + 1 /*APB3*/
  138. + 1 /*APB4*/
  139. + 2 /*APB5*/
  140. + 23 /*RTC*/
  141. + 0 /*MCO1*/
  142. + 0 /*MCO2*/
  143. + >;
  144. + st,pkcs = <
  145. + CLK_CKPER_DISABLED
  146. + CLK_ETH_PLL3Q
  147. + CLK_SDMMC12_PLL4P
  148. + CLK_DSI_DSIPLL
  149. + CLK_STGEN_HSE
  150. + CLK_USBPHY_DISABLED
  151. + CLK_SPI2S1_DISABLED
  152. + CLK_SPI2S23_PLL3Q
  153. + CLK_SPI45_DISABLED
  154. + CLK_SPI6_DISABLED
  155. + CLK_I2C46_HSI
  156. + CLK_SDMMC3_PLL4P
  157. + CLK_ADC_DISABLED
  158. + CLK_CEC_DISABLED
  159. + CLK_I2C12_HSI
  160. + CLK_I2C35_DISABLED
  161. + CLK_UART1_DISABLED
  162. + CLK_UART24_HSI
  163. + CLK_UART35_DISABLED
  164. + CLK_UART6_DISABLED
  165. + CLK_UART78_DISABLED
  166. + CLK_SPDIF_DISABLED
  167. + CLK_SAI2_CKPER
  168. + CLK_SAI2_DISABLED
  169. + CLK_SAI3_DISABLED
  170. + CLK_SAI4_DISABLED
  171. + CLK_RNG1_LSI
  172. + CLK_LPTIM1_DISABLED
  173. + CLK_LPTIM23_DISABLED
  174. + CLK_LPTIM45_DISABLED
  175. + >;
  176. + pll1:st,pll@0 {
  177. + cfg = < 2 80 0 1 1 PQR(1,0,0) >;
  178. + frac = < 0x800>;
  179. + u-boot,dm-pre-reloc;
  180. + };
  181. + pll2:st,pll@1 {
  182. + cfg = < 2 65 1 0 0 PQR(1,1,1) >;
  183. + frac = < 0x1400>;
  184. + u-boot,dm-pre-reloc;
  185. + };
  186. + pll3:st,pll@2 {
  187. + cfg = < 1 61 3 5 36 PQR(1,1,0) >;
  188. + frac = < 0x1000 >;
  189. + u-boot,dm-pre-reloc;
  190. + };
  191. + pll4:st,pll@3 {
  192. + cfg = < 3 98 5 7 7 PQR(1,1,1) >;
  193. + u-boot,dm-pre-reloc;
  194. + };
  195. +};
  196. +
  197. +&i2c4{
  198. + u-boot,dm-pre-reloc;
  199. +
  200. +
  201. +
  202. +};
  203. +
  204. +&rcc{
  205. + u-boot,dm-pre-reloc;
  206. +
  207. +
  208. +
  209. +};
  210. +
  211. +&sdmmc1{
  212. + u-boot,dm-pre-reloc;
  213. +
  214. +
  215. +
  216. +};
  217. +
  218. +&sdmmc2{
  219. + u-boot,dm-pre-reloc;
  220. +
  221. +
  222. +
  223. +};
  224. +
  225. +&sdmmc3{
  226. + u-boot,dm-pre-reloc;
  227. +
  228. +
  229. +
  230. +};
  231. +
  232. +&uart4{
  233. + u-boot,dm-pre-reloc;
  234. +
  235. +
  236. +
  237. +};
  238. +
  239. +
  240. +&pmic {
  241. + u-boot,dm-pre-reloc;
  242. +};
  243. +
  244. +&v3v3 {
  245. + regulator-always-on;
  246. +};
  247. +
  248. +&uart4_pins_mx {
  249. + u-boot,dm-pre-reloc;
  250. + pins1 {
  251. + u-boot,dm-pre-reloc;
  252. + /* pull-up on rx to avoid floating level */
  253. + bias-pull-up;
  254. + };
  255. + pins2 {
  256. + u-boot,dm-pre-reloc;
  257. + };
  258. +};
  259. +
  260. +&adc {
  261. + status = "okay";
  262. +};
  263. +
  264. +
  265. diff --git a/arch/arm/dts/osd32mp1-red.dts b/arch/arm/dts/osd32mp1-red.dts
  266. new file mode 100644
  267. index 0000000000..2cc1961d08
  268. --- /dev/null
  269. +++ b/arch/arm/dts/osd32mp1-red.dts
  270. @@ -0,0 +1,1311 @@
  271. +/* SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) */
  272. +/*
  273. + * Copyright (C) STMicroelectronics 2020 - All Rights Reserved
  274. + * Author: STM32CubeMX code generation for STMicroelectronics.
  275. + */
  276. +
  277. +/* For more information on Device Tree configuration, please refer to
  278. + * https://wiki.st.com/stm32mpu/wiki/Category:Device_tree_configuration
  279. + */
  280. +
  281. +/dts-v1/;
  282. +#include "stm32mp157c.dtsi"
  283. +#include "stm32mp157cac-pinctrl.dtsi"
  284. +#include "stm32mp157c-m4-srm.dtsi"
  285. +
  286. +
  287. +#include <dt-bindings/input/input.h>
  288. +#include <dt-bindings/mfd/st,stpmic1.h>
  289. +#include <dt-bindings/rtc/rtc-stm32.h>
  290. +
  291. +
  292. +/ {
  293. + model = "Octavo OSD32MP1-RED board";
  294. + compatible = "octavo,osd32mp1-red", "st,stm32mp157";
  295. +
  296. + memory@c0000000 {
  297. + reg = <0xc0000000 0x20000000>;
  298. +
  299. +
  300. + wifi_pwrseq: wifi-pwrseq {
  301. + compatible = "mmc-pwrseq-simple";
  302. + reset-gpios = <&gpiog 5 GPIO_ACTIVE_LOW>; //custom
  303. + };
  304. +
  305. + };
  306. +
  307. + reserved-memory {
  308. + #address-cells = <1>;
  309. + #size-cells = <1>;
  310. + ranges;
  311. +
  312. +
  313. +
  314. + retram: retram@0x38000000 {
  315. + compatible = "shared-dma-pool";
  316. + reg = <0x38000000 0x10000>;
  317. + no-map;
  318. + };
  319. +
  320. + mcuram: mcuram@0x30000000 {
  321. + compatible = "shared-dma-pool";
  322. + reg = <0x30000000 0x40000>;
  323. + no-map;
  324. + };
  325. +
  326. + mcuram2: mcuram2@0x10000000 {
  327. + compatible = "shared-dma-pool";
  328. + reg = <0x10000000 0x40000>;
  329. + no-map;
  330. + };
  331. +
  332. + vdev0vring0: vdev0vring0@10040000 {
  333. + compatible = "shared-dma-pool";
  334. + reg = <0x10040000 0x2000>;
  335. + no-map;
  336. + };
  337. +
  338. + vdev0vring1: vdev0vring1@10042000 {
  339. + compatible = "shared-dma-pool";
  340. + reg = <0x10042000 0x2000>;
  341. + no-map;
  342. + };
  343. +
  344. + vdev0buffer: vdev0buffer@10044000 {
  345. + compatible = "shared-dma-pool";
  346. + reg = <0x10044000 0x4000>;
  347. + no-map;
  348. + };
  349. +
  350. +
  351. + gpu_reserved: gpu@d4000000 {
  352. + reg = <0xd4000000 0x4000000>;
  353. + no-map;
  354. + };
  355. + };
  356. +
  357. +
  358. + aliases {
  359. + ethernet0 = &ethernet0;
  360. + serial0 = &uart4;
  361. + serial1 = &usart3;
  362. + serial2 = &uart7;
  363. + serial3 = &usart2;
  364. + };
  365. +
  366. + chosen {
  367. + stdout-path = "serial0:115200n8";
  368. + };
  369. +
  370. + sram: sram@10050000 {
  371. + compatible = "mmio-sram";
  372. + reg = <0x10050000 0x10000>;
  373. + #address-cells = <1>;
  374. + #size-cells = <1>;
  375. + ranges = <0 0x10050000 0x10000>;
  376. +
  377. + dma_pool: dma_pool@0 {
  378. + reg = <0x0 0x10000>;
  379. + pool;
  380. + };
  381. + };
  382. +
  383. + led {
  384. + compatible = "gpio-leds";
  385. + blue {
  386. + label = "heartbeat";
  387. + gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
  388. + linux,default-trigger = "heartbeat";
  389. + default-state = "off";
  390. + };
  391. +
  392. + //custom_gpios{ //custom
  393. + //gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
  394. + //default-state = "on";
  395. + //};
  396. + };
  397. +
  398. + /*sound {
  399. + compatible = "audio-graph-card";
  400. + label = "STM32MP1-DK";
  401. + routing =
  402. + "Playback" , "MCLK",
  403. + "Capture" , "MCLK",
  404. + "MICL" , "Mic Bias";
  405. + dais = <&sai2a_port &sai2b_port &i2s2_port>;
  406. + status = "okay";
  407. + }; */
  408. +
  409. + usb_phy_tuning: usb-phy-tuning {
  410. + st,hs-dc-level = <2>;
  411. + st,fs-rftime-tuning;
  412. + st,hs-rftime-reduction;
  413. + st,hs-current-trim = <15>;
  414. + st,hs-impedance-trim = <1>;
  415. + st,squelch-level = <3>;
  416. + st,hs-rx-offset = <2>;
  417. + st,no-lsfs-sc;
  418. + };
  419. +
  420. +
  421. +
  422. + clocks {
  423. +
  424. + clk_ext_camera: clk-ext-camera {
  425. + #clock-cells = <0>;
  426. + compatible = "fixed-clock";
  427. + clock-frequency = <24000000>;
  428. + };
  429. +
  430. +
  431. + clk_lsi: clk-lsi {
  432. + clock-frequency = <32000>;
  433. + };
  434. +
  435. + clk_hsi: clk-hsi {
  436. + clock-frequency = <64000000>;
  437. + };
  438. +
  439. + clk_csi: clk-csi {
  440. + clock-frequency = <4000000>;
  441. + };
  442. +
  443. + clk_lse: clk-lse {
  444. + clock-frequency = <32768>;
  445. + };
  446. +
  447. + clk_hse: clk-hse {
  448. + clock-frequency = <24000000>;
  449. + };
  450. + };
  451. +
  452. +}; /*root*/
  453. +
  454. +&pinctrl {
  455. + u-boot,dm-pre-reloc;
  456. +
  457. + dcmi_pins_mx: dcmi_mx-0 {
  458. + pins {
  459. + pinmux = <STM32_PINMUX('A', 4, AF13)>, /* DCMI_HSYNC */
  460. + <STM32_PINMUX('A', 6, AF13)>, /* DCMI_PIXCLK */
  461. + <STM32_PINMUX('A', 10, AF13)>, /* DCMI_D1 */
  462. + <STM32_PINMUX('B', 9, AF13)>, /* DCMI_D7 */
  463. + <STM32_PINMUX('C', 6, AF13)>, /* DCMI_D0 */
  464. + <STM32_PINMUX('E', 0, AF13)>, /* DCMI_D2 */
  465. + <STM32_PINMUX('E', 1, AF13)>, /* DCMI_D3 */
  466. + <STM32_PINMUX('E', 4, AF13)>, /* DCMI_D4 */
  467. + <STM32_PINMUX('E', 13, AF13)>, /* DCMI_D6 */
  468. + <STM32_PINMUX('G', 9, AF13)>, /* DCMI_VSYNC */
  469. + <STM32_PINMUX('H', 6, AF13)>, /* DCMI_D8 */
  470. + <STM32_PINMUX('H', 7, AF13)>, /* DCMI_D9 */
  471. + <STM32_PINMUX('H', 15, AF13)>, /* DCMI_D11 */
  472. + <STM32_PINMUX('I', 3, AF13)>, /* DCMI_D10 */
  473. + <STM32_PINMUX('I', 4, AF13)>; /* DCMI_D5 */
  474. + bias-disable;
  475. + };
  476. + };
  477. +
  478. + dcmi_sleep_pins_mx: dcmi_sleep_mx-0 {
  479. + pins {
  480. + pinmux = <STM32_PINMUX('A', 4, ANALOG)>, /* DCMI_HSYNC */
  481. + <STM32_PINMUX('A', 6, ANALOG)>, /* DCMI_PIXCLK */
  482. + <STM32_PINMUX('A', 10, ANALOG)>, /* DCMI_D1 */
  483. + <STM32_PINMUX('B', 9, ANALOG)>, /* DCMI_D7 */
  484. + <STM32_PINMUX('C', 6, ANALOG)>, /* DCMI_D0 */
  485. + <STM32_PINMUX('E', 0, ANALOG)>, /* DCMI_D2 */
  486. + <STM32_PINMUX('E', 1, ANALOG)>, /* DCMI_D3 */
  487. + <STM32_PINMUX('E', 4, ANALOG)>, /* DCMI_D4 */
  488. + <STM32_PINMUX('E', 13, ANALOG)>, /* DCMI_D6 */
  489. + <STM32_PINMUX('G', 9, ANALOG)>, /* DCMI_VSYNC */
  490. + <STM32_PINMUX('H', 6, ANALOG)>, /* DCMI_D8 */
  491. + <STM32_PINMUX('H', 7, ANALOG)>, /* DCMI_D9 */
  492. + <STM32_PINMUX('H', 15, ANALOG)>, /* DCMI_D11 */
  493. + <STM32_PINMUX('I', 3, ANALOG)>, /* DCMI_D10 */
  494. + <STM32_PINMUX('I', 4, ANALOG)>; /* DCMI_D5 */
  495. + };
  496. + };
  497. +
  498. + eth1_pins_mx: eth1_mx-0 {
  499. + pins1 {
  500. + pinmux = <STM32_PINMUX('A', 1, AF11)>, /* ETH1_RX_CLK */
  501. + <STM32_PINMUX('A', 7, AF11)>, /* ETH1_RX_CTL */
  502. + <STM32_PINMUX('B', 0, AF11)>, /* ETH1_RXD2 */
  503. + <STM32_PINMUX('B', 1, AF11)>, /* ETH1_RXD3 */
  504. + <STM32_PINMUX('C', 4, AF11)>, /* ETH1_RXD0 */
  505. + <STM32_PINMUX('C', 5, AF11)>; /* ETH1_RXD1 */
  506. + bias-disable;
  507. + };
  508. + pins2 {
  509. + pinmux = <STM32_PINMUX('A', 2, AF11)>; /* ETH1_MDIO */
  510. + bias-disable;
  511. + drive-push-pull;
  512. + slew-rate = <0>;
  513. + };
  514. + pins3 {
  515. + pinmux = <STM32_PINMUX('B', 11, AF11)>, /* ETH1_TX_CTL */
  516. + <STM32_PINMUX('C', 1, AF11)>, /* ETH1_MDC */
  517. + <STM32_PINMUX('C', 2, AF11)>, /* ETH1_TXD2 */
  518. + <STM32_PINMUX('E', 2, AF11)>, /* ETH1_TXD3 */
  519. + <STM32_PINMUX('G', 4, AF11)>, /* ETH1_GTX_CLK */
  520. + <STM32_PINMUX('G', 13, AF11)>, /* ETH1_TXD0 */
  521. + <STM32_PINMUX('G', 14, AF11)>; /* ETH1_TXD1 */
  522. + bias-disable;
  523. + drive-push-pull;
  524. + slew-rate = <2>;
  525. + };
  526. + };
  527. +
  528. + eth1_sleep_pins_mx: eth1_sleep_mx-0 {
  529. + pins {
  530. + pinmux = <STM32_PINMUX('A', 1, ANALOG)>, /* ETH1_RX_CLK */
  531. + <STM32_PINMUX('A', 2, ANALOG)>, /* ETH1_MDIO */
  532. + <STM32_PINMUX('A', 7, ANALOG)>, /* ETH1_RX_CTL */
  533. + <STM32_PINMUX('B', 0, ANALOG)>, /* ETH1_RXD2 */
  534. + <STM32_PINMUX('B', 1, ANALOG)>, /* ETH1_RXD3 */
  535. + <STM32_PINMUX('B', 11, ANALOG)>, /* ETH1_TX_CTL */
  536. + <STM32_PINMUX('C', 1, ANALOG)>, /* ETH1_MDC */
  537. + <STM32_PINMUX('C', 2, ANALOG)>, /* ETH1_TXD2 */
  538. + <STM32_PINMUX('C', 4, ANALOG)>, /* ETH1_RXD0 */
  539. + <STM32_PINMUX('C', 5, ANALOG)>, /* ETH1_RXD1 */
  540. + <STM32_PINMUX('E', 2, ANALOG)>, /* ETH1_TXD3 */
  541. + <STM32_PINMUX('G', 4, ANALOG)>, /* ETH1_GTX_CLK */
  542. + <STM32_PINMUX('G', 13, ANALOG)>, /* ETH1_TXD0 */
  543. + <STM32_PINMUX('G', 14, ANALOG)>; /* ETH1_TXD1 */
  544. + };
  545. + };
  546. +
  547. + i2c1_pins_mx: i2c1_mx-0 {
  548. + pins {
  549. + pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */
  550. + <STM32_PINMUX('F', 15, AF5)>; /* I2C1_SDA */
  551. + bias-disable;
  552. + drive-open-drain;
  553. + slew-rate = <0>;
  554. + };
  555. + };
  556. +
  557. + i2c1_sleep_pins_mx: i2c1_sleep_mx-0 {
  558. + pins {
  559. + pinmux = <STM32_PINMUX('D', 12, ANALOG)>, /* I2C1_SCL */
  560. + <STM32_PINMUX('F', 15, ANALOG)>; /* I2C1_SDA */
  561. + };
  562. + };
  563. +
  564. + i2c2_pins_mx: i2c2_mx-0 {
  565. + pins {
  566. + pinmux = <STM32_PINMUX('H', 5, AF4)>; /* I2C2_SDA */
  567. + bias-disable;
  568. + drive-open-drain;
  569. + slew-rate = <0>;
  570. + };
  571. + };
  572. +
  573. + i2c2_sleep_pins_mx: i2c2_sleep_mx-0 {
  574. + pins {
  575. + pinmux = <STM32_PINMUX('H', 5, ANALOG)>; /* I2C2_SDA */
  576. + };
  577. + };
  578. +
  579. + i2s2_pins_mx: i2s2_mx-0 {
  580. + pins {
  581. + pinmux = <STM32_PINMUX('B', 12, AF5)>, /* I2S2_WS */
  582. + <STM32_PINMUX('B', 13, AF5)>, /* I2S2_CK */
  583. + <STM32_PINMUX('C', 3, AF5)>; /* I2S2_SDO */
  584. + bias-disable;
  585. + drive-push-pull;
  586. + slew-rate = <1>;
  587. + };
  588. + };
  589. +
  590. + i2s2_sleep_pins_mx: i2s2_sleep_mx-0 {
  591. + pins {
  592. + pinmux = <STM32_PINMUX('B', 12, ANALOG)>, /* I2S2_WS */
  593. + <STM32_PINMUX('B', 13, ANALOG)>, /* I2S2_CK */
  594. + <STM32_PINMUX('C', 3, ANALOG)>; /* I2S2_SDO */
  595. + };
  596. + };
  597. +
  598. + ltdc_pins_mx: ltdc_mx-0 {
  599. + pins1 {
  600. + pinmux = <STM32_PINMUX('A', 3, AF14)>, /* LTDC_B5 */
  601. + <STM32_PINMUX('B', 8, AF14)>, /* LTDC_B6 */
  602. + <STM32_PINMUX('C', 0, AF14)>, /* LTDC_R5 */
  603. + <STM32_PINMUX('D', 8, AF14)>, /* LTDC_B7 */
  604. + <STM32_PINMUX('D', 9, AF14)>, /* LTDC_B0 */
  605. + <STM32_PINMUX('D', 10, AF14)>, /* LTDC_B3 */
  606. + <STM32_PINMUX('E', 6, AF14)>, /* LTDC_G1 */
  607. + <STM32_PINMUX('E', 12, AF14)>, /* LTDC_B4 */
  608. + <STM32_PINMUX('E', 14, AF13)>, /* LTDC_G0 */
  609. + <STM32_PINMUX('E', 15, AF14)>, /* LTDC_R7 */
  610. + <STM32_PINMUX('F', 10, AF14)>, /* LTDC_DE */
  611. + <STM32_PINMUX('G', 10, AF14)>, /* LTDC_B2 */
  612. + <STM32_PINMUX('G', 12, AF14)>, /* LTDC_B1 */
  613. + <STM32_PINMUX('H', 2, AF14)>, /* LTDC_R0 */
  614. + <STM32_PINMUX('H', 3, AF14)>, /* LTDC_R1 */
  615. + <STM32_PINMUX('H', 4, AF14)>, /* LTDC_G4 */
  616. + <STM32_PINMUX('H', 8, AF14)>, /* LTDC_R2 */
  617. + <STM32_PINMUX('H', 9, AF14)>, /* LTDC_R3 */
  618. + <STM32_PINMUX('H', 10, AF14)>, /* LTDC_R4 */
  619. + <STM32_PINMUX('H', 12, AF14)>, /* LTDC_R6 */
  620. + <STM32_PINMUX('H', 13, AF14)>, /* LTDC_G2 */
  621. + <STM32_PINMUX('H', 14, AF14)>, /* LTDC_G3 */
  622. + <STM32_PINMUX('I', 0, AF14)>, /* LTDC_G5 */
  623. + <STM32_PINMUX('I', 1, AF14)>, /* LTDC_G6 */
  624. + <STM32_PINMUX('I', 2, AF14)>, /* LTDC_G7 */
  625. + <STM32_PINMUX('I', 9, AF14)>, /* LTDC_VSYNC */
  626. + <STM32_PINMUX('I', 10, AF14)>; /* LTDC_HSYNC */
  627. + bias-disable;
  628. + drive-push-pull;
  629. + slew-rate = <0>;
  630. + };
  631. + pins2 {
  632. + pinmux = <STM32_PINMUX('G', 7, AF14)>; /* LTDC_CLK */
  633. + bias-disable;
  634. + drive-push-pull;
  635. + slew-rate = <1>;
  636. + };
  637. + };
  638. +
  639. + ltdc_sleep_pins_mx: ltdc_sleep_mx-0 {
  640. + pins {
  641. + pinmux = <STM32_PINMUX('A', 3, ANALOG)>, /* LTDC_B5 */
  642. + <STM32_PINMUX('B', 8, ANALOG)>, /* LTDC_B6 */
  643. + <STM32_PINMUX('C', 0, ANALOG)>, /* LTDC_R5 */
  644. + <STM32_PINMUX('D', 8, ANALOG)>, /* LTDC_B7 */
  645. + <STM32_PINMUX('D', 9, ANALOG)>, /* LTDC_B0 */
  646. + <STM32_PINMUX('D', 10, ANALOG)>, /* LTDC_B3 */
  647. + <STM32_PINMUX('E', 6, ANALOG)>, /* LTDC_G1 */
  648. + <STM32_PINMUX('E', 12, ANALOG)>, /* LTDC_B4 */
  649. + <STM32_PINMUX('E', 14, ANALOG)>, /* LTDC_G0 */
  650. + <STM32_PINMUX('E', 15, ANALOG)>, /* LTDC_R7 */
  651. + <STM32_PINMUX('F', 10, ANALOG)>, /* LTDC_DE */
  652. + <STM32_PINMUX('G', 7, ANALOG)>, /* LTDC_CLK */
  653. + <STM32_PINMUX('G', 10, ANALOG)>, /* LTDC_B2 */
  654. + <STM32_PINMUX('G', 12, ANALOG)>, /* LTDC_B1 */
  655. + <STM32_PINMUX('H', 2, ANALOG)>, /* LTDC_R0 */
  656. + <STM32_PINMUX('H', 3, ANALOG)>, /* LTDC_R1 */
  657. + <STM32_PINMUX('H', 4, ANALOG)>, /* LTDC_G4 */
  658. + <STM32_PINMUX('H', 8, ANALOG)>, /* LTDC_R2 */
  659. + <STM32_PINMUX('H', 9, ANALOG)>, /* LTDC_R3 */
  660. + <STM32_PINMUX('H', 10, ANALOG)>, /* LTDC_R4 */
  661. + <STM32_PINMUX('H', 12, ANALOG)>, /* LTDC_R6 */
  662. + <STM32_PINMUX('H', 13, ANALOG)>, /* LTDC_G2 */
  663. + <STM32_PINMUX('H', 14, ANALOG)>, /* LTDC_G3 */
  664. + <STM32_PINMUX('I', 0, ANALOG)>, /* LTDC_G5 */
  665. + <STM32_PINMUX('I', 1, ANALOG)>, /* LTDC_G6 */
  666. + <STM32_PINMUX('I', 2, ANALOG)>, /* LTDC_G7 */
  667. + <STM32_PINMUX('I', 9, ANALOG)>, /* LTDC_VSYNC */
  668. + <STM32_PINMUX('I', 10, ANALOG)>; /* LTDC_HSYNC */
  669. + };
  670. + };
  671. +
  672. + sdmmc1_pins_mx: sdmmc1_mx-0 {
  673. + u-boot,dm-pre-reloc;
  674. + pins1 {
  675. + u-boot,dm-pre-reloc;
  676. + pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
  677. + <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
  678. + <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
  679. + <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
  680. + <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
  681. + bias-disable;
  682. + drive-push-pull;
  683. + slew-rate = <1>;
  684. + };
  685. + pins2 {
  686. + u-boot,dm-pre-reloc;
  687. + pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
  688. + bias-disable;
  689. + drive-push-pull;
  690. + slew-rate = <3>;
  691. + };
  692. + };
  693. +
  694. + sdmmc1_opendrain_pins_mx: sdmmc1_opendrain_mx-0 {
  695. + u-boot,dm-pre-reloc;
  696. + pins1 {
  697. + u-boot,dm-pre-reloc;
  698. + pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
  699. + <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
  700. + <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
  701. + <STM32_PINMUX('C', 11, AF12)>; /* SDMMC1_D3 */
  702. + bias-disable;
  703. + drive-push-pull;
  704. + slew-rate = <1>;
  705. + };
  706. + pins2 {
  707. + u-boot,dm-pre-reloc;
  708. + pinmux = <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
  709. + bias-disable;
  710. + drive-push-pull;
  711. + slew-rate = <3>;
  712. + };
  713. + pins3 {
  714. + u-boot,dm-pre-reloc;
  715. + pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
  716. + bias-disable;
  717. + drive-open-drain;
  718. + slew-rate = <1>;
  719. + };
  720. + };
  721. +
  722. + sdmmc1_sleep_pins_mx: sdmmc1_sleep_mx-0 {
  723. + u-boot,dm-pre-reloc;
  724. + pins {
  725. + u-boot,dm-pre-reloc;
  726. + pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1_D0 */
  727. + <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1_D1 */
  728. + <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1_D2 */
  729. + <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1_D3 */
  730. + <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1_CK */
  731. + <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1_CMD */
  732. + };
  733. + };
  734. +
  735. + sdmmc2_pins_mx: sdmmc2_mx-0 {
  736. + u-boot,dm-pre-reloc;
  737. + pins1 {
  738. + u-boot,dm-pre-reloc;
  739. + pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
  740. + <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
  741. + <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
  742. + <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */
  743. + <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
  744. + <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
  745. + <STM32_PINMUX('C', 7, AF10)>, /* SDMMC2_D7 */
  746. + <STM32_PINMUX('E', 5, AF9)>, /* SDMMC2_D6 */
  747. + <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
  748. + bias-pull-up;
  749. + drive-push-pull;
  750. + slew-rate = <1>;
  751. + };
  752. + pins2 {
  753. + u-boot,dm-pre-reloc;
  754. + pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
  755. + bias-pull-up;
  756. + drive-push-pull;
  757. + slew-rate = <2>;
  758. + };
  759. + };
  760. +
  761. + sdmmc2_opendrain_pins_mx: sdmmc2_opendrain_mx-0 {
  762. + u-boot,dm-pre-reloc;
  763. + pins1 {
  764. + u-boot,dm-pre-reloc;
  765. + pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */
  766. + <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */
  767. + <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */
  768. + <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */
  769. + <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */
  770. + <STM32_PINMUX('B', 15, AF9)>, /* SDMMC2_D1 */
  771. + <STM32_PINMUX('C', 7, AF10)>, /* SDMMC2_D7 */
  772. + <STM32_PINMUX('E', 5, AF9)>; /* SDMMC2_D6 */
  773. + bias-pull-up;
  774. + drive-push-pull;
  775. + slew-rate = <1>;
  776. + };
  777. + pins2 {
  778. + u-boot,dm-pre-reloc;
  779. + pinmux = <STM32_PINMUX('E', 3, AF9)>; /* SDMMC2_CK */
  780. + bias-pull-up;
  781. + drive-push-pull;
  782. + slew-rate = <2>;
  783. + };
  784. + pins3 {
  785. + u-boot,dm-pre-reloc;
  786. + pinmux = <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */
  787. + bias-pull-up;
  788. + drive-open-drain;
  789. + slew-rate = <1>;
  790. + };
  791. + };
  792. +
  793. + sdmmc2_sleep_pins_mx: sdmmc2_sleep_mx-0 {
  794. + u-boot,dm-pre-reloc;
  795. + pins {
  796. + u-boot,dm-pre-reloc;
  797. + pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */
  798. + <STM32_PINMUX('A', 9, ANALOG)>, /* SDMMC2_D5 */
  799. + <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */
  800. + <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */
  801. + <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */
  802. + <STM32_PINMUX('B', 15, ANALOG)>, /* SDMMC2_D1 */
  803. + <STM32_PINMUX('C', 7, ANALOG)>, /* SDMMC2_D7 */
  804. + <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */
  805. + <STM32_PINMUX('E', 5, ANALOG)>, /* SDMMC2_D6 */
  806. + <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */
  807. + };
  808. + };
  809. +
  810. + sdmmc3_pins_mx: sdmmc3_mx-0 {
  811. + u-boot,dm-pre-reloc;
  812. + pins1 {
  813. + u-boot,dm-pre-reloc;
  814. + pinmux = <STM32_PINMUX('D', 7, AF10)>, /* SDMMC3_D3 */
  815. + <STM32_PINMUX('F', 0, AF9)>, /* SDMMC3_D0 */
  816. + <STM32_PINMUX('F', 1, AF9)>, /* SDMMC3_CMD */
  817. + <STM32_PINMUX('F', 4, AF9)>, /* SDMMC3_D1 */
  818. + <STM32_PINMUX('F', 5, AF9)>; /* SDMMC3_D2 */
  819. + bias-disable;
  820. + drive-push-pull;
  821. + slew-rate = <1>;
  822. + };
  823. + pins2 {
  824. + u-boot,dm-pre-reloc;
  825. + pinmux = <STM32_PINMUX('G', 15, AF10)>; /* SDMMC3_CK */
  826. + bias-disable;
  827. + drive-push-pull;
  828. + slew-rate = <2>;
  829. + };
  830. + };
  831. +
  832. + sdmmc3_opendrain_pins_mx: sdmmc3_opendrain_mx-0 {
  833. + u-boot,dm-pre-reloc;
  834. + pins1 {
  835. + u-boot,dm-pre-reloc;
  836. + pinmux = <STM32_PINMUX('D', 7, AF10)>, /* SDMMC3_D3 */
  837. + <STM32_PINMUX('F', 0, AF9)>, /* SDMMC3_D0 */
  838. + <STM32_PINMUX('F', 4, AF9)>, /* SDMMC3_D1 */
  839. + <STM32_PINMUX('F', 5, AF9)>; /* SDMMC3_D2 */
  840. + bias-disable;
  841. + drive-push-pull;
  842. + slew-rate = <1>;
  843. + };
  844. + pins2 {
  845. + u-boot,dm-pre-reloc;
  846. + pinmux = <STM32_PINMUX('F', 1, AF9)>; /* SDMMC3_CMD */
  847. + bias-disable;
  848. + drive-open-drain;
  849. + slew-rate = <1>;
  850. + };
  851. + pins3 {
  852. + u-boot,dm-pre-reloc;
  853. + pinmux = <STM32_PINMUX('G', 15, AF10)>; /* SDMMC3_CK */
  854. + bias-disable;
  855. + drive-push-pull;
  856. + slew-rate = <2>;
  857. + };
  858. + };
  859. +
  860. + sdmmc3_sleep_pins_mx: sdmmc3_sleep_mx-0 {
  861. + u-boot,dm-pre-reloc;
  862. + pins {
  863. + u-boot,dm-pre-reloc;
  864. + pinmux = <STM32_PINMUX('D', 7, ANALOG)>, /* SDMMC3_D3 */
  865. + <STM32_PINMUX('F', 0, ANALOG)>, /* SDMMC3_D0 */
  866. + <STM32_PINMUX('F', 1, ANALOG)>, /* SDMMC3_CMD */
  867. + <STM32_PINMUX('F', 4, ANALOG)>, /* SDMMC3_D1 */
  868. + <STM32_PINMUX('F', 5, ANALOG)>, /* SDMMC3_D2 */
  869. + <STM32_PINMUX('G', 15, ANALOG)>; /* SDMMC3_CK */
  870. + };
  871. + };
  872. +
  873. + uart4_pins_mx: uart4_mx-0 {
  874. + u-boot,dm-pre-reloc;
  875. + pins1 {
  876. + u-boot,dm-pre-reloc;
  877. + pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */
  878. + bias-disable;
  879. + };
  880. + pins2 {
  881. + u-boot,dm-pre-reloc;
  882. + pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
  883. + bias-disable;
  884. + drive-push-pull;
  885. + slew-rate = <0>;
  886. + };
  887. + };
  888. +
  889. + uart4_sleep_pins_mx: uart4_sleep_mx-0 {
  890. + u-boot,dm-pre-reloc;
  891. + pins {
  892. + u-boot,dm-pre-reloc;
  893. + pinmux = <STM32_PINMUX('B', 2, ANALOG)>, /* UART4_RX */
  894. + <STM32_PINMUX('G', 11, ANALOG)>; /* UART4_TX */
  895. + };
  896. + };
  897. +
  898. + usart2_pins_mx: usart2_mx-0 {
  899. + pins1 {
  900. + pinmux = <STM32_PINMUX('D', 3, AF7)>, /* USART2_CTS */
  901. + <STM32_PINMUX('D', 6, AF7)>; /* USART2_RX */
  902. + bias-disable;
  903. + };
  904. + pins2 {
  905. + pinmux = <STM32_PINMUX('D', 4, AF7)>, /* USART2_RTS */
  906. + <STM32_PINMUX('D', 5, AF7)>; /* USART2_TX */
  907. + bias-disable;
  908. + drive-push-pull;
  909. + slew-rate = <0>;
  910. + };
  911. + };
  912. +
  913. + usart2_sleep_pins_mx: usart2_sleep_mx-0 {
  914. + pins {
  915. + pinmux = <STM32_PINMUX('D', 3, ANALOG)>, /* USART2_CTS */
  916. + <STM32_PINMUX('D', 4, ANALOG)>, /* USART2_RTS */
  917. + <STM32_PINMUX('D', 5, ANALOG)>, /* USART2_TX */
  918. + <STM32_PINMUX('D', 6, ANALOG)>; /* USART2_RX */
  919. + };
  920. + };
  921. +
  922. +
  923. +
  924. +};
  925. +
  926. +&pinctrl_z {
  927. + u-boot,dm-pre-reloc;
  928. +
  929. + i2c2_pins_z_mx: i2c2_mx-0 {
  930. + pins {
  931. + pinmux = <STM32_PINMUX('Z', 6, AF3)>; /* I2C2_SCL */
  932. + bias-disable;
  933. + drive-open-drain;
  934. + slew-rate = <0>;
  935. + };
  936. + };
  937. +
  938. + i2c2_sleep_pins_z_mx: i2c2_sleep_mx-0 {
  939. + pins {
  940. + pinmux = <STM32_PINMUX('Z', 6, ANALOG)>; /* I2C2_SCL */
  941. + };
  942. + };
  943. +
  944. + i2c4_pins_z_mx: i2c4_mx-0 {
  945. + u-boot,dm-pre-reloc;
  946. + pins {
  947. + u-boot,dm-pre-reloc;
  948. + pinmux = <STM32_PINMUX('Z', 4, AF6)>, /* I2C4_SCL */
  949. + <STM32_PINMUX('Z', 5, AF6)>; /* I2C4_SDA */
  950. + bias-disable;
  951. + drive-open-drain;
  952. + slew-rate = <0>;
  953. + };
  954. + };
  955. +
  956. + i2c4_sleep_pins_z_mx: i2c4_sleep_mx-0 {
  957. + u-boot,dm-pre-reloc;
  958. + pins {
  959. + u-boot,dm-pre-reloc;
  960. + pinmux = <STM32_PINMUX('Z', 4, ANALOG)>, /* I2C4_SCL */
  961. + <STM32_PINMUX('Z', 5, ANALOG)>; /* I2C4_SDA */
  962. + };
  963. + };
  964. +
  965. +
  966. +
  967. +};
  968. +
  969. +&m4_rproc{
  970. + /*Restriction: "memory-region" property is not managed - please to use User-Section if needed*/
  971. + mboxes = <&ipcc 2>;
  972. + mbox-names = "shutdown";
  973. + recovery;
  974. + status = "okay";
  975. +
  976. +
  977. + interrupt-parent = <&exti>;
  978. + interrupts = <68 1>;
  979. + interrupt-names = "wdg";
  980. + wakeup-source;
  981. +
  982. +};
  983. +
  984. +&bsec{
  985. + status = "okay";
  986. +
  987. +
  988. +
  989. +};
  990. +
  991. +&dcmi{
  992. + pinctrl-names = "default", "sleep";
  993. + pinctrl-0 = <&dcmi_pins_mx>;
  994. + pinctrl-1 = <&dcmi_sleep_pins_mx>;
  995. + status = "okay";
  996. +
  997. +
  998. +
  999. + port {
  1000. + dcmi_0: endpoint {
  1001. + remote-endpoint = <&ov5640_0>;
  1002. + bus-width = <8>;
  1003. + hsync-active = <0>;
  1004. + vsync-active = <0>;
  1005. + pclk-sample = <1>;
  1006. + pclk-max-frequency = <77000000>;
  1007. + };
  1008. + };
  1009. +
  1010. +
  1011. +};
  1012. +
  1013. +&dsi{
  1014. + status = "okay";
  1015. +
  1016. +
  1017. +
  1018. + #address-cells = <1>;
  1019. + #size-cells = <0>;
  1020. + status = "okay";
  1021. +
  1022. + ports {
  1023. + #address-cells = <1>;
  1024. + #size-cells = <0>;
  1025. +
  1026. + port@0 {
  1027. + reg = <0>;
  1028. + dsi_in: endpoint {
  1029. + remote-endpoint = <&ltdc_ep1_out>;
  1030. + };
  1031. + };
  1032. +
  1033. + port@1 {
  1034. + reg = <1>;
  1035. + dsi_out: endpoint {
  1036. + remote-endpoint = <&panel_in>;
  1037. + };
  1038. + };
  1039. + };
  1040. +
  1041. + panel@0 {
  1042. + compatible = "orisetech,otm8009a";
  1043. + reg = <0>;
  1044. + reset-gpios = <&gpioe 9 GPIO_ACTIVE_LOW>;
  1045. + power-supply = <&v3v3>;
  1046. + status = "okay";
  1047. +
  1048. + port {
  1049. + panel_in: endpoint {
  1050. + remote-endpoint = <&dsi_out>;
  1051. + };
  1052. + };
  1053. + };
  1054. +
  1055. +
  1056. +};
  1057. +
  1058. +&ethernet0{
  1059. + pinctrl-names = "default", "sleep";
  1060. + pinctrl-0 = <&eth1_pins_mx>;
  1061. + pinctrl-1 = <&eth1_sleep_pins_mx>;
  1062. + status = "okay";
  1063. +
  1064. +
  1065. + st,eth_clk_sel = <1>; //custom
  1066. + phy-mode = "rgmii-id";
  1067. + max-speed = <1000>;
  1068. + phy-handle = <&phy0>;
  1069. +
  1070. + mdio0 {
  1071. + #address-cells = <1>;
  1072. + #size-cells = <0>;
  1073. + compatible = "snps,dwmac-mdio";
  1074. + phy0: ethernet-phy@0 {
  1075. + reg = <0>;
  1076. + };
  1077. + };
  1078. +
  1079. +
  1080. +};
  1081. +
  1082. +&gpu{
  1083. + status = "okay";
  1084. +
  1085. +
  1086. + contiguous-area = <&gpu_reserved>;
  1087. +
  1088. +};
  1089. +
  1090. +&hsem{
  1091. + status = "okay";
  1092. +
  1093. +
  1094. +
  1095. +};
  1096. +
  1097. +&i2c1{
  1098. + pinctrl-names = "default", "sleep";
  1099. + pinctrl-0 = <&i2c1_pins_mx>;
  1100. + pinctrl-1 = <&i2c1_sleep_pins_mx>;
  1101. + status = "okay";
  1102. +
  1103. +
  1104. +
  1105. + i2c-scl-rising-time-ns = <100>;
  1106. + i2c-scl-falling-time-ns = <7>;
  1107. +
  1108. + /delete-property/dmas;
  1109. + /delete-property/dma-names;
  1110. +
  1111. +
  1112. + touchscreen@2a {
  1113. + compatible = "focaltech,ft6236";
  1114. + reg = <0x2a>;
  1115. + interrupts = <2 2>;
  1116. + interrupt-parent = <&gpiof>;
  1117. + interrupt-controller;
  1118. + touchscreen-size-x = <480>;
  1119. + touchscreen-size-y = <800>;
  1120. + status = "okay";
  1121. + };
  1122. + touchscreen@38 {
  1123. + compatible = "focaltech,ft6336";
  1124. + reg = <0x38>;
  1125. + interrupts = <2 2>;
  1126. + interrupt-parent = <&gpiof>;
  1127. + interrupt-controller;
  1128. + touchscreen-size-x = <480>;
  1129. + touchscreen-size-y = <800>;
  1130. + status = "okay";
  1131. + };
  1132. +
  1133. +
  1134. +};
  1135. +
  1136. +&i2c2{
  1137. + pinctrl-names = "default", "sleep";
  1138. + pinctrl-0 = <&i2c2_pins_mx &i2c2_pins_z_mx>;
  1139. + pinctrl-1 = <&i2c2_sleep_pins_mx &i2c2_sleep_pins_z_mx>;
  1140. + status = "okay";
  1141. +
  1142. +
  1143. +
  1144. + i2c-scl-rising-time-ns = <185>;
  1145. + i2c-scl-falling-time-ns = <20>;
  1146. +
  1147. + /delete-property/dmas;
  1148. + /delete-property/dma-names;
  1149. +
  1150. + ov5640: camera@3c {
  1151. + compatible = "ovti,ov5640";
  1152. + reg = <0x3c>;
  1153. + clocks = <&clk_ext_camera>;
  1154. + clock-names = "xclk";
  1155. + DOVDD-supply = <&v3v3>;
  1156. + //powerdown-gpios = <&stmfx_pinctrl 18 (GPIO_ACTIVE_HIGH | GPIO_PUSH_PULL)>;
  1157. + //reset-gpios = <&stmfx_pinctrl 19 (GPIO_ACTIVE_LOW | GPIO_PUSH_PULL)>;
  1158. + //powerdown-gpios = <&gpioc 3 GPIO_ACTIVE_HIGH>; //custom
  1159. + //reset-gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; //custom
  1160. + rotation = <180>;
  1161. + status = "okay";
  1162. +
  1163. + port {
  1164. + ov5640_0: endpoint {
  1165. + remote-endpoint = <&dcmi_0>;
  1166. + bus-width = <8>;
  1167. + data-shift = <2>; /* lines 9:2 are used */
  1168. + hsync-active = <0>;
  1169. + vsync-active = <0>;
  1170. + pclk-sample = <1>;
  1171. + pclk-max-frequency = <77000000>;
  1172. + };
  1173. + };
  1174. + };
  1175. +
  1176. +
  1177. +};
  1178. +
  1179. +&i2c4{
  1180. + u-boot,dm-pre-reloc;
  1181. + pinctrl-names = "default", "sleep";
  1182. + pinctrl-0 = <&i2c4_pins_z_mx>;
  1183. + pinctrl-1 = <&i2c4_sleep_pins_z_mx>;
  1184. + status = "okay";
  1185. +
  1186. +
  1187. + i2c-scl-rising-time-ns = <185>;
  1188. + i2c-scl-falling-time-ns = <20>;
  1189. + /delete-property/dmas;
  1190. + /delete-property/dma-names;
  1191. +
  1192. + typec: stusb1600@28 {
  1193. + compatible = "st,stusb1600";
  1194. + reg = <0x28>;
  1195. + interrupt-parent = <&gpioe>;
  1196. + interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
  1197. + pinctrl-0 = <&stusb1600_pins_a>;
  1198. + pinctrl-names = "default";
  1199. + status = "okay";
  1200. +
  1201. + typec_con: connector {
  1202. + compatible = "usb-c-connector";
  1203. + label = "USB-C";
  1204. + power-role = "dual";
  1205. + power-opmode = "default";
  1206. + };
  1207. + };
  1208. +
  1209. + pmic: stpmic@33 {
  1210. + compatible = "st,stpmic1";
  1211. + reg = <0x33>;
  1212. + interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>;
  1213. + interrupt-controller;
  1214. + #interrupt-cells = <2>;
  1215. + status = "okay";
  1216. +
  1217. + st,main-control-register = <0x04>;
  1218. + st,vin-control-register = <0xc0>;
  1219. + st,usb-control-register = <0x20>;
  1220. +
  1221. + regulators {
  1222. + compatible = "st,stpmic1-regulators";
  1223. +
  1224. + ldo1-supply = <&v3v3>;
  1225. + ldo3-supply = <&vdd_ddr>;
  1226. + ldo6-supply = <&v3v3>;
  1227. + pwr_sw1-supply = <&bst_out>;
  1228. + pwr_sw2-supply = <&bst_out>;
  1229. +
  1230. + vddcore: buck1 {
  1231. + regulator-name = "vddcore";
  1232. + regulator-min-microvolt = <1200000>;
  1233. + regulator-max-microvolt = <1350000>;
  1234. + regulator-always-on;
  1235. + regulator-initial-mode = <0>;
  1236. + regulator-over-current-protection;
  1237. + };
  1238. +
  1239. + vdd_ddr: buck2 {
  1240. + regulator-name = "vdd_ddr";
  1241. + regulator-min-microvolt = <1350000>;
  1242. + regulator-max-microvolt = <1350000>;
  1243. + regulator-always-on;
  1244. + regulator-initial-mode = <0>;
  1245. + regulator-over-current-protection;
  1246. + };
  1247. +
  1248. + vdd: buck3 {
  1249. + regulator-name = "vdd";
  1250. + regulator-min-microvolt = <3300000>;
  1251. + regulator-max-microvolt = <3300000>;
  1252. + regulator-always-on;
  1253. + st,mask-reset;
  1254. + regulator-initial-mode = <0>;
  1255. + regulator-over-current-protection;
  1256. + };
  1257. +
  1258. + v3v3: buck4 {
  1259. + regulator-name = "v3v3";
  1260. + regulator-min-microvolt = <3300000>;
  1261. + regulator-max-microvolt = <3300000>;
  1262. + regulator-always-on;
  1263. + regulator-over-current-protection;
  1264. + regulator-initial-mode = <0>;
  1265. + };
  1266. +
  1267. + v1v8_audio: ldo1 {
  1268. + regulator-name = "v1v8_audio";
  1269. + regulator-min-microvolt = <1800000>;
  1270. + regulator-max-microvolt = <1800000>;
  1271. + regulator-always-on;
  1272. + interrupts = <IT_CURLIM_LDO1 0>;
  1273. +
  1274. + };
  1275. +
  1276. + v3v3_hdmi: ldo2 {
  1277. + regulator-name = "v3v3_hdmi";
  1278. + regulator-min-microvolt = <3300000>;
  1279. + regulator-max-microvolt = <3300000>;
  1280. + regulator-always-on;
  1281. + interrupts = <IT_CURLIM_LDO2 0>;
  1282. +
  1283. + };
  1284. +
  1285. + vtt_ddr: ldo3 {
  1286. + regulator-name = "vtt_ddr";
  1287. + regulator-min-microvolt = <500000>;
  1288. + regulator-max-microvolt = <750000>;
  1289. + regulator-always-on;
  1290. + regulator-over-current-protection;
  1291. + };
  1292. +
  1293. + vdd_usb: ldo4 {
  1294. + regulator-name = "vdd_usb";
  1295. + regulator-min-microvolt = <3300000>;
  1296. + regulator-max-microvolt = <3300000>;
  1297. + interrupts = <IT_CURLIM_LDO4 0>;
  1298. + };
  1299. +
  1300. + v3v3_eth: ldo5 { //custom
  1301. + regulator-name = "v3v3_eth";
  1302. + regulator-min-microvolt = <3300000>;
  1303. + regulator-max-microvolt = <3300000>;
  1304. + interrupts = <IT_CURLIM_LDO5 0>;
  1305. + regulator-boot-on;
  1306. + };
  1307. +
  1308. + v3v3_dsi: ldo6 { //custom
  1309. + regulator-name = "v3v3_dsi";
  1310. + regulator-min-microvolt = <3300000>;
  1311. + regulator-max-microvolt = <3300000>;
  1312. + regulator-always-on;
  1313. + interrupts = <IT_CURLIM_LDO6 0>;
  1314. +
  1315. + };
  1316. +
  1317. + vref_ddr: vref_ddr {
  1318. + regulator-name = "vref_ddr";
  1319. + regulator-always-on;
  1320. + regulator-over-current-protection;
  1321. + };
  1322. +
  1323. + bst_out: boost {
  1324. + regulator-name = "bst_out";
  1325. + interrupts = <IT_OCP_BOOST 0>;
  1326. + regulator-always-on; //custom
  1327. + };
  1328. +
  1329. + vbus_otg: pwr_sw1 {
  1330. + regulator-name = "vbus_otg";
  1331. + interrupts = <IT_OCP_OTG 0>;
  1332. + regulator-active-discharge;
  1333. + regulator-always-on; //custom
  1334. + };
  1335. +
  1336. + vbus_sw: pwr_sw2 {
  1337. + regulator-name = "vbus_sw";
  1338. + interrupts = <IT_OCP_SWOUT 0>;
  1339. + regulator-active-discharge;
  1340. + regulator-always-on; //custom
  1341. + };
  1342. + };
  1343. +
  1344. + onkey {
  1345. + compatible = "st,stpmic1-onkey";
  1346. + interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
  1347. + interrupt-names = "onkey-falling", "onkey-rising";
  1348. + status = "okay";
  1349. + };
  1350. +
  1351. + watchdog {
  1352. + compatible = "st,stpmic1-wdt";
  1353. + status = "disabled";
  1354. + };
  1355. + };
  1356. +
  1357. +};
  1358. +
  1359. +&i2s2{
  1360. + pinctrl-names = "default", "sleep";
  1361. + pinctrl-0 = <&i2s2_pins_mx>;
  1362. + pinctrl-1 = <&i2s2_sleep_pins_mx>;
  1363. + status = "okay";
  1364. +
  1365. +
  1366. +
  1367. +};
  1368. +
  1369. +&ipcc{
  1370. + status = "okay";
  1371. +
  1372. +
  1373. +
  1374. +};
  1375. +
  1376. +&iwdg2{
  1377. + status = "okay";
  1378. +
  1379. +
  1380. + timeout-sec = <32>;
  1381. +
  1382. +};
  1383. +
  1384. +&ltdc{
  1385. + pinctrl-names = "default", "sleep";
  1386. + pinctrl-0 = <&ltdc_pins_mx>;
  1387. + pinctrl-1 = <&ltdc_sleep_pins_mx>;
  1388. + status = "okay";
  1389. +
  1390. +
  1391. +
  1392. + port {
  1393. + #address-cells = <1>;
  1394. + #size-cells = <0>;
  1395. +
  1396. + ltdc_ep1_out: endpoint@1 {
  1397. + reg = <1>;
  1398. + remote-endpoint = <&dsi_in>;
  1399. + };
  1400. + };
  1401. +
  1402. +
  1403. +
  1404. +};
  1405. +
  1406. +&pwr{
  1407. + status = "okay";
  1408. +
  1409. +
  1410. + pwr-regulators {
  1411. + vdd-supply = <&vdd>;
  1412. + vdd_3v3_usbfs-supply = <&vdd_usb>;
  1413. + };
  1414. +
  1415. +};
  1416. +
  1417. +&rcc{
  1418. + u-boot,dm-pre-reloc;
  1419. + status = "okay";
  1420. +
  1421. +
  1422. +
  1423. +};
  1424. +
  1425. +&rng1{
  1426. + status = "okay";
  1427. +
  1428. +
  1429. +
  1430. +};
  1431. +
  1432. +&rtc{
  1433. + status = "okay";
  1434. +
  1435. +
  1436. + st,lsco = <RTC_OUT2_RMP>;
  1437. +
  1438. +};
  1439. +
  1440. +&sdmmc1{
  1441. + u-boot,dm-pre-reloc;
  1442. + pinctrl-names = "default", "opendrain", "sleep";
  1443. + pinctrl-0 = <&sdmmc1_pins_mx>;
  1444. + pinctrl-1 = <&sdmmc1_opendrain_pins_mx>;
  1445. + pinctrl-2 = <&sdmmc1_sleep_pins_mx>;
  1446. + status = "okay";
  1447. +
  1448. +
  1449. + broken-cd;
  1450. + st,neg-edge;
  1451. + bus-width = <4>;
  1452. + vmmc-supply = <&v3v3>;
  1453. +
  1454. +};
  1455. +
  1456. +&sdmmc2{
  1457. + u-boot,dm-pre-reloc;
  1458. + pinctrl-names = "default", "opendrain", "sleep";
  1459. + pinctrl-0 = <&sdmmc2_pins_mx>;
  1460. + pinctrl-1 = <&sdmmc2_opendrain_pins_mx>;
  1461. + pinctrl-2 = <&sdmmc2_sleep_pins_mx>;
  1462. + status = "okay";
  1463. +
  1464. +
  1465. + non-removable;
  1466. + no-sd;
  1467. + no-sdio;
  1468. + st,neg-edge;
  1469. + bus-width = <8>;
  1470. + vmmc-supply = <&v3v3>;
  1471. + vqmmc-supply = <&v3v3>;
  1472. + mmc-ddr-3_3v;
  1473. +
  1474. +
  1475. +};
  1476. +
  1477. +&sdmmc3{
  1478. + u-boot,dm-pre-reloc;
  1479. + pinctrl-names = "default", "opendrain", "sleep";
  1480. + pinctrl-0 = <&sdmmc3_pins_mx>;
  1481. + pinctrl-1 = <&sdmmc3_opendrain_pins_mx>;
  1482. + pinctrl-2 = <&sdmmc3_sleep_pins_mx>;
  1483. + //status = "okay";
  1484. +
  1485. +
  1486. + arm,primecell-periphid = <0x10153180>;
  1487. + non-removable;
  1488. + st,neg-edge;
  1489. + bus-width = <4>;
  1490. + vmmc-supply = <&v3v3>;
  1491. + //mmc-pwrseq = <&wifi_pwrseq>; //messes up sdmmc alias shifting when used
  1492. + #address-cells = <1>;
  1493. + #size-cells = <0>;
  1494. + keep-power-in-suspend;
  1495. + //status = "okay";
  1496. +
  1497. + brcmf: bcrmf@1 {
  1498. + reg = <1>;
  1499. + compatible = "brcm,bcm4329-fmac";
  1500. + };
  1501. +
  1502. +
  1503. +};
  1504. +
  1505. +&tamp{
  1506. + status = "okay";
  1507. +
  1508. +
  1509. +
  1510. +};
  1511. +
  1512. +&uart4{
  1513. + u-boot,dm-pre-reloc;
  1514. + pinctrl-names = "default", "sleep";
  1515. + pinctrl-0 = <&uart4_pins_mx>;
  1516. + pinctrl-1 = <&uart4_sleep_pins_mx>;
  1517. + status = "okay";
  1518. +
  1519. +
  1520. +
  1521. +};
  1522. +
  1523. +&usart2{
  1524. + pinctrl-names = "default", "sleep";
  1525. + pinctrl-0 = <&usart2_pins_mx>;
  1526. + pinctrl-1 = <&usart2_sleep_pins_mx>;
  1527. + status = "okay";
  1528. +
  1529. +
  1530. + bluetooth {
  1531. + shutdown-gpios = <&gpioe 10 GPIO_ACTIVE_HIGH>;
  1532. + compatible = "brcm,bcm43438-bt";
  1533. + max-speed = <3000000>;
  1534. + };
  1535. +
  1536. +};
  1537. +
  1538. +
  1539. +&m4_rproc {
  1540. +memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
  1541. + <&vdev0vring1>, <&vdev0buffer>;
  1542. +};
  1543. +
  1544. +&dma1 {
  1545. + sram = <&dma_pool>;
  1546. +};
  1547. +
  1548. +&dma2 {
  1549. + sram = <&dma_pool>;
  1550. +};
  1551. +
  1552. +&adc {
  1553. + status = "disabled";
  1554. +};
  1555. +
  1556. +
  1557. +&usbh_ehci {
  1558. + phys = <&usbphyc_port0>;
  1559. + phy-names = "usb";
  1560. + status = "okay";
  1561. +};
  1562. +
  1563. +&usbotg_hs {
  1564. + extcon = <&typec>;
  1565. + phys = <&usbphyc_port1 0>;
  1566. + phy-names = "usb2-phy";
  1567. + status = "okay";
  1568. +};
  1569. +
  1570. +&usbphyc {
  1571. + vdd3v3-supply = <&vdd_usb>;
  1572. + status = "okay";
  1573. +};
  1574. +
  1575. +&usbphyc_port0 {
  1576. + st,phy-tuning = <&usb_phy_tuning>;
  1577. +};
  1578. +
  1579. +&usbphyc_port1 {
  1580. + st,phy-tuning = <&usb_phy_tuning>;
  1581. +};
  1582. diff --git a/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb-1066-binG.dtsi b/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb-1066-binG.dtsi
  1583. new file mode 100644
  1584. index 0000000000..f33886f2b4
  1585. --- /dev/null
  1586. +++ b/arch/arm/dts/stm32mp15-osd32mp1-ddr3-1x4Gb-1066-binG.dtsi
  1587. @@ -0,0 +1,119 @@
  1588. +/*
  1589. + * Copyright (C) 2015-2018, STMicroelectronics - All Rights Reserved
  1590. + *
  1591. + * SPDX-License-Identifier: GPL-2.0+ BSD-3-Clause
  1592. + *
  1593. + */
  1594. +
  1595. +/*
  1596. + * File generated by STMicroelectronics STM32CubeMX DDR Tool for MPUs
  1597. + * DDR type: DDR3 / DDR3L
  1598. + * DDR width: 16bits
  1599. + * DDR density: 4Gb
  1600. + * System frequency: 533000Khz
  1601. + * Relaxed Timing Mode: false
  1602. + * Address mapping type: RBC
  1603. + *
  1604. + * Save Date: 2020.02.08, save Time: 23:22:33
  1605. + */
  1606. +
  1607. +#define DDR_MEM_NAME "DDR3-DDR3L 16bits 533000Khz"
  1608. +#define DDR_MEM_SPEED 533000
  1609. +#define DDR_MEM_SIZE 0x20000000
  1610. +
  1611. +#define DDR_MSTR 0x00041401
  1612. +#define DDR_MRCTRL0 0x00000010
  1613. +#define DDR_MRCTRL1 0x00000000
  1614. +#define DDR_DERATEEN 0x00000000
  1615. +#define DDR_DERATEINT 0x00800000
  1616. +#define DDR_PWRCTL 0x00000000
  1617. +#define DDR_PWRTMG 0x00400010
  1618. +#define DDR_HWLPCTL 0x00000000
  1619. +#define DDR_RFSHCTL0 0x00210000
  1620. +#define DDR_RFSHCTL3 0x00000000
  1621. +#define DDR_RFSHTMG 0x0081008B
  1622. +#define DDR_CRCPARCTL0 0x00000000
  1623. +#define DDR_DRAMTMG0 0x121B2414
  1624. +#define DDR_DRAMTMG1 0x000A041C
  1625. +#define DDR_DRAMTMG2 0x0608090F
  1626. +#define DDR_DRAMTMG3 0x0050400C
  1627. +#define DDR_DRAMTMG4 0x08040608
  1628. +#define DDR_DRAMTMG5 0x06060403
  1629. +#define DDR_DRAMTMG6 0x02020002
  1630. +#define DDR_DRAMTMG7 0x00000202
  1631. +#define DDR_DRAMTMG8 0x00001005
  1632. +#define DDR_DRAMTMG14 0x000000A0
  1633. +#define DDR_ZQCTL0 0xC2000040
  1634. +#define DDR_DFITMG0 0x02060105
  1635. +#define DDR_DFITMG1 0x00000202
  1636. +#define DDR_DFILPCFG0 0x07000000
  1637. +#define DDR_DFIUPD0 0xC0400003
  1638. +#define DDR_DFIUPD1 0x00000000
  1639. +#define DDR_DFIUPD2 0x00000000
  1640. +#define DDR_DFIPHYMSTR 0x00000000
  1641. +#define DDR_ODTCFG 0x06000600
  1642. +#define DDR_ODTMAP 0x00000001
  1643. +#define DDR_SCHED 0x00000C01
  1644. +#define DDR_SCHED1 0x00000000
  1645. +#define DDR_PERFHPR1 0x01000001
  1646. +#define DDR_PERFLPR1 0x08000200
  1647. +#define DDR_PERFWR1 0x08000400
  1648. +#define DDR_DBG0 0x00000000
  1649. +#define DDR_DBG1 0x00000000
  1650. +#define DDR_DBGCMD 0x00000000
  1651. +#define DDR_POISONCFG 0x00000000
  1652. +#define DDR_PCCFG 0x00000010
  1653. +#define DDR_PCFGR_0 0x00010000
  1654. +#define DDR_PCFGW_0 0x00000000
  1655. +#define DDR_PCFGQOS0_0 0x02100C03
  1656. +#define DDR_PCFGQOS1_0 0x00800100
  1657. +#define DDR_PCFGWQOS0_0 0x01100C03
  1658. +#define DDR_PCFGWQOS1_0 0x01000200
  1659. +#define DDR_PCFGR_1 0x00010000
  1660. +#define DDR_PCFGW_1 0x00000000
  1661. +#define DDR_PCFGQOS0_1 0x02100C03
  1662. +#define DDR_PCFGQOS1_1 0x00800040
  1663. +#define DDR_PCFGWQOS0_1 0x01100C03
  1664. +#define DDR_PCFGWQOS1_1 0x01000200
  1665. +#define DDR_ADDRMAP1 0x00070707
  1666. +#define DDR_ADDRMAP2 0x00000000
  1667. +#define DDR_ADDRMAP3 0x1F000000
  1668. +#define DDR_ADDRMAP4 0x00001F1F
  1669. +#define DDR_ADDRMAP5 0x06060606
  1670. +#define DDR_ADDRMAP6 0x0F060606
  1671. +#define DDR_ADDRMAP9 0x00000000
  1672. +#define DDR_ADDRMAP10 0x00000000
  1673. +#define DDR_ADDRMAP11 0x00000000
  1674. +#define DDR_PGCR 0x01442E02
  1675. +#define DDR_PTR0 0x0022AA5B
  1676. +#define DDR_PTR1 0x04841104
  1677. +#define DDR_PTR2 0x042DA068
  1678. +#define DDR_ACIOCR 0x10400812
  1679. +#define DDR_DXCCR 0x00000C40
  1680. +#define DDR_DSGCR 0xF200011F
  1681. +#define DDR_DCR 0x0000000B
  1682. +#define DDR_DTPR0 0x38D488D0
  1683. +#define DDR_DTPR1 0x098B00D8
  1684. +#define DDR_DTPR2 0x10023600
  1685. +#define DDR_MR0 0x00000840
  1686. +#define DDR_MR1 0x00000000
  1687. +#define DDR_MR2 0x00000208
  1688. +#define DDR_MR3 0x00000000
  1689. +#define DDR_ODTCR 0x00010000
  1690. +#define DDR_ZQ0CR1 0x00000038
  1691. +#define DDR_DX0GCR 0x0000CE81
  1692. +#define DDR_DX0DLLCR 0x40000000
  1693. +#define DDR_DX0DQTR 0xFFFFFFFF
  1694. +#define DDR_DX0DQSTR 0x3DB02000
  1695. +#define DDR_DX1GCR 0x0000CE81
  1696. +#define DDR_DX1DLLCR 0x40000000
  1697. +#define DDR_DX1DQTR 0xFFFFFFFF
  1698. +#define DDR_DX1DQSTR 0x3DB02000
  1699. +#define DDR_DX2GCR 0x0000CE80
  1700. +#define DDR_DX2DLLCR 0x40000000
  1701. +#define DDR_DX2DQTR 0xFFFFFFFF
  1702. +#define DDR_DX2DQSTR 0x3DB02000
  1703. +#define DDR_DX3GCR 0x0000CE80
  1704. +#define DDR_DX3DLLCR 0x40000000
  1705. +#define DDR_DX3DQTR 0xFFFFFFFF
  1706. +#define DDR_DX3DQSTR 0x3DB02000
  1707. diff --git a/arch/arm/dts/stm32mp157c.dtsi b/arch/arm/dts/stm32mp157c.dtsi
  1708. index 80081dde4e..0463e8813c 100644
  1709. --- a/arch/arm/dts/stm32mp157c.dtsi
  1710. +++ b/arch/arm/dts/stm32mp157c.dtsi
  1711. @@ -1775,10 +1775,14 @@
  1712. clock-names = "stmmaceth",
  1713. "mac-clk-tx",
  1714. "mac-clk-rx",
  1715. + "eth-ck", //custom
  1716. + "syscfg-clk", //custom
  1717. "ethstp";
  1718. clocks = <&rcc ETHMAC>,
  1719. <&rcc ETHTX>,
  1720. <&rcc ETHRX>,
  1721. + <&rcc ETHCK_K>, //custom
  1722. + <&rcc SYSCFG>, //custom
  1723. <&rcc ETHSTP>;
  1724. st,syscon = <&syscfg 0x4>;
  1725. snps,mixed-burst;
  1726. --
  1727. 2.25.1