1587f60faSYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2587f60faSYann Gautier/* 3587f60faSYann Gautier * Copyright (C) STMicroelectronics 2017 - All Rights Reserved 4587f60faSYann Gautier * Author: Ludovic Barre <ludovic.barre@st.com> for STMicroelectronics. 5587f60faSYann Gautier */ 6587f60faSYann Gautier/dts-v1/; 7587f60faSYann Gautier 8587f60faSYann Gautier#include "stm32mp157c.dtsi" 9587f60faSYann Gautier#include "stm32mp157caa-pinctrl.dtsi" 10587f60faSYann Gautier 11587f60faSYann Gautier/ { 12c948f771SYann Gautier model = "STMicroelectronics STM32MP157C eval daughter"; 13587f60faSYann Gautier compatible = "st,stm32mp157c-ed1", "st,stm32mp157"; 14587f60faSYann Gautier 15587f60faSYann Gautier chosen { 16c948f771SYann Gautier stdout-path = "serial0:115200n8"; 17587f60faSYann Gautier }; 18c948f771SYann Gautier 19c948f771SYann Gautier aliases { 20c948f771SYann Gautier serial0 = &uart4; 21c948f771SYann Gautier }; 22c948f771SYann Gautier}; 23c948f771SYann Gautier 24c948f771SYann Gautier&clk_hse { 25c948f771SYann Gautier st,digbypass; 26587f60faSYann Gautier}; 27587f60faSYann Gautier 28587f60faSYann Gautier&i2c4 { 29587f60faSYann Gautier pinctrl-names = "default"; 30587f60faSYann Gautier pinctrl-0 = <&i2c4_pins_a>; 31587f60faSYann Gautier i2c-scl-rising-time-ns = <185>; 32587f60faSYann Gautier i2c-scl-falling-time-ns = <20>; 33587f60faSYann Gautier status = "okay"; 34587f60faSYann Gautier 3523684d0eSYann Gautier pmic: stpmic@33 { 3623684d0eSYann Gautier compatible = "st,stpmic1"; 37587f60faSYann Gautier reg = <0x33>; 38c948f771SYann Gautier interrupts-extended = <&exti_pwr 55 IRQ_TYPE_EDGE_FALLING>; 39c948f771SYann Gautier interrupt-controller; 40c948f771SYann Gautier #interrupt-cells = <2>; 41587f60faSYann Gautier status = "okay"; 42587f60faSYann Gautier 43c948f771SYann Gautier st,main-control-register = <0x04>; 44c948f771SYann Gautier st,vin-control-register = <0xc0>; 45c948f771SYann Gautier st,usb-control-register = <0x30>; 46587f60faSYann Gautier 47587f60faSYann Gautier regulators { 4823684d0eSYann Gautier compatible = "st,stpmic1-regulators"; 49587f60faSYann Gautier 50c948f771SYann Gautier ldo1-supply = <&v3v3>; 51c948f771SYann Gautier ldo2-supply = <&v3v3>; 52c948f771SYann Gautier ldo3-supply = <&vdd_ddr>; 53c948f771SYann Gautier ldo5-supply = <&v3v3>; 54c948f771SYann Gautier ldo6-supply = <&v3v3>; 55c948f771SYann Gautier 56c948f771SYann Gautier vddcore: buck1 { 57c948f771SYann Gautier regulator-name = "vddcore"; 58*d82d4ff0SYann Gautier regulator-min-microvolt = <1200000>; 59c948f771SYann Gautier regulator-max-microvolt = <1350000>; 60c948f771SYann Gautier regulator-always-on; 61c948f771SYann Gautier regulator-initial-mode = <0>; 62c948f771SYann Gautier regulator-over-current-protection; 63c948f771SYann Gautier }; 64c948f771SYann Gautier 65c948f771SYann Gautier vdd_ddr: buck2 { 66c948f771SYann Gautier regulator-name = "vdd_ddr"; 67c948f771SYann Gautier regulator-min-microvolt = <1350000>; 68c948f771SYann Gautier regulator-max-microvolt = <1350000>; 69c948f771SYann Gautier regulator-always-on; 70c948f771SYann Gautier regulator-initial-mode = <0>; 71c948f771SYann Gautier regulator-over-current-protection; 72c948f771SYann Gautier }; 73c948f771SYann Gautier 74c948f771SYann Gautier vdd: buck3 { 75c948f771SYann Gautier regulator-name = "vdd"; 76c948f771SYann Gautier regulator-min-microvolt = <3300000>; 77c948f771SYann Gautier regulator-max-microvolt = <3300000>; 78c948f771SYann Gautier regulator-always-on; 79c948f771SYann Gautier st,mask-reset; 80c948f771SYann Gautier regulator-initial-mode = <0>; 81c948f771SYann Gautier regulator-over-current-protection; 82c948f771SYann Gautier }; 83c948f771SYann Gautier 84587f60faSYann Gautier v3v3: buck4 { 85587f60faSYann Gautier regulator-name = "v3v3"; 86587f60faSYann Gautier regulator-min-microvolt = <3300000>; 87587f60faSYann Gautier regulator-max-microvolt = <3300000>; 88c948f771SYann Gautier regulator-always-on; 89587f60faSYann Gautier regulator-over-current-protection; 90c948f771SYann Gautier regulator-initial-mode = <0>; 91c948f771SYann Gautier }; 92587f60faSYann Gautier 93c948f771SYann Gautier vdda: ldo1 { 94c948f771SYann Gautier regulator-name = "vdda"; 95c948f771SYann Gautier regulator-min-microvolt = <2900000>; 96c948f771SYann Gautier regulator-max-microvolt = <2900000>; 97587f60faSYann Gautier }; 98c948f771SYann Gautier 99c948f771SYann Gautier v2v8: ldo2 { 100c948f771SYann Gautier regulator-name = "v2v8"; 101c948f771SYann Gautier regulator-min-microvolt = <2800000>; 102c948f771SYann Gautier regulator-max-microvolt = <2800000>; 103587f60faSYann Gautier }; 104c948f771SYann Gautier 105c948f771SYann Gautier vtt_ddr: ldo3 { 106c948f771SYann Gautier regulator-name = "vtt_ddr"; 107c948f771SYann Gautier regulator-min-microvolt = <500000>; 108c948f771SYann Gautier regulator-max-microvolt = <750000>; 109c948f771SYann Gautier regulator-always-on; 110c948f771SYann Gautier regulator-over-current-protection; 111587f60faSYann Gautier }; 112c948f771SYann Gautier 113c948f771SYann Gautier vdd_usb: ldo4 { 114c948f771SYann Gautier regulator-name = "vdd_usb"; 115c948f771SYann Gautier regulator-min-microvolt = <3300000>; 116c948f771SYann Gautier regulator-max-microvolt = <3300000>; 117587f60faSYann Gautier }; 118587f60faSYann Gautier 119587f60faSYann Gautier vdd_sd: ldo5 { 120587f60faSYann Gautier regulator-name = "vdd_sd"; 121587f60faSYann Gautier regulator-min-microvolt = <2900000>; 122587f60faSYann Gautier regulator-max-microvolt = <2900000>; 123587f60faSYann Gautier regulator-boot-on; 124c948f771SYann Gautier }; 125587f60faSYann Gautier 126c948f771SYann Gautier v1v8: ldo6 { 127c948f771SYann Gautier regulator-name = "v1v8"; 128c948f771SYann Gautier regulator-min-microvolt = <1800000>; 129c948f771SYann Gautier regulator-max-microvolt = <1800000>; 130587f60faSYann Gautier }; 131c948f771SYann Gautier 132c948f771SYann Gautier vref_ddr: vref_ddr { 133c948f771SYann Gautier regulator-name = "vref_ddr"; 134c948f771SYann Gautier regulator-always-on; 135c948f771SYann Gautier regulator-over-current-protection; 136587f60faSYann Gautier }; 137587f60faSYann Gautier }; 138587f60faSYann Gautier }; 139587f60faSYann Gautier}; 140587f60faSYann Gautier 141587f60faSYann Gautier&iwdg2 { 142587f60faSYann Gautier timeout-sec = <32>; 143587f60faSYann Gautier status = "okay"; 144587f60faSYann Gautier}; 145587f60faSYann Gautier 146587f60faSYann Gautier&rng1 { 147587f60faSYann Gautier status = "okay"; 148587f60faSYann Gautier}; 149587f60faSYann Gautier 150c948f771SYann Gautier&rtc { 151c948f771SYann Gautier status = "okay"; 152c948f771SYann Gautier}; 153c948f771SYann Gautier 154587f60faSYann Gautier&sdmmc1 { 155587f60faSYann Gautier pinctrl-names = "default"; 156587f60faSYann Gautier pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; 157587f60faSYann Gautier broken-cd; 158c948f771SYann Gautier st,sig-dir; 159c948f771SYann Gautier st,neg-edge; 160c948f771SYann Gautier st,use-ckin; 161587f60faSYann Gautier bus-width = <4>; 162c948f771SYann Gautier vmmc-supply = <&vdd_sd>; 163587f60faSYann Gautier sd-uhs-sdr12; 164587f60faSYann Gautier sd-uhs-sdr25; 165587f60faSYann Gautier sd-uhs-sdr50; 166587f60faSYann Gautier sd-uhs-ddr50; 167587f60faSYann Gautier sd-uhs-sdr104; 168587f60faSYann Gautier status = "okay"; 169587f60faSYann Gautier}; 170587f60faSYann Gautier 171587f60faSYann Gautier&sdmmc2 { 172587f60faSYann Gautier pinctrl-names = "default"; 173587f60faSYann Gautier pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; 174587f60faSYann Gautier non-removable; 175587f60faSYann Gautier no-sd; 176587f60faSYann Gautier no-sdio; 177c948f771SYann Gautier st,neg-edge; 178587f60faSYann Gautier bus-width = <8>; 179c948f771SYann Gautier vmmc-supply = <&v3v3>; 180c948f771SYann Gautier vqmmc-supply = <&v3v3>; 181c948f771SYann Gautier mmc-ddr-3_3v; 182587f60faSYann Gautier status = "okay"; 183587f60faSYann Gautier}; 184587f60faSYann Gautier 185587f60faSYann Gautier&uart4 { 186587f60faSYann Gautier pinctrl-names = "default"; 187587f60faSYann Gautier pinctrl-0 = <&uart4_pins_a>; 188587f60faSYann Gautier status = "okay"; 189587f60faSYann Gautier}; 190587f60faSYann Gautier 191587f60faSYann Gautier/* ATF Specific */ 192587f60faSYann Gautier#include <dt-bindings/clock/stm32mp1-clksrc.h> 193587f60faSYann Gautier#include "stm32mp15-ddr3-2x4Gb-1066-binG.dtsi" 194587f60faSYann Gautier 195587f60faSYann Gautier/ { 196587f60faSYann Gautier aliases { 197587f60faSYann Gautier gpio0 = &gpioa; 198587f60faSYann Gautier gpio1 = &gpiob; 199587f60faSYann Gautier gpio2 = &gpioc; 200587f60faSYann Gautier gpio3 = &gpiod; 201587f60faSYann Gautier gpio4 = &gpioe; 202587f60faSYann Gautier gpio5 = &gpiof; 203587f60faSYann Gautier gpio6 = &gpiog; 204587f60faSYann Gautier gpio7 = &gpioh; 205587f60faSYann Gautier gpio8 = &gpioi; 206587f60faSYann Gautier gpio9 = &gpioj; 207587f60faSYann Gautier gpio10 = &gpiok; 208587f60faSYann Gautier gpio25 = &gpioz; 209587f60faSYann Gautier i2c3 = &i2c4; 210587f60faSYann Gautier }; 211587f60faSYann Gautier 212587f60faSYann Gautier soc { 213587f60faSYann Gautier stgen: stgen@5C008000 { 214587f60faSYann Gautier compatible = "st,stm32-stgen"; 215587f60faSYann Gautier reg = <0x5C008000 0x1000>; 216587f60faSYann Gautier status = "okay"; 217587f60faSYann Gautier }; 218587f60faSYann Gautier }; 219587f60faSYann Gautier}; 220587f60faSYann Gautier 221587f60faSYann Gautier/* CLOCK init */ 222587f60faSYann Gautier&rcc { 223c948f771SYann Gautier secure-status = "disabled"; 224587f60faSYann Gautier st,clksrc = < 225587f60faSYann Gautier CLK_MPU_PLL1P 226587f60faSYann Gautier CLK_AXI_PLL2P 227587f60faSYann Gautier CLK_PLL12_HSE 228587f60faSYann Gautier CLK_PLL3_HSE 229587f60faSYann Gautier CLK_PLL4_HSE 230587f60faSYann Gautier CLK_RTC_LSE 231587f60faSYann Gautier CLK_MCO1_DISABLED 232587f60faSYann Gautier CLK_MCO2_DISABLED 233587f60faSYann Gautier >; 234587f60faSYann Gautier 235587f60faSYann Gautier st,clkdiv = < 236587f60faSYann Gautier 1 /*MPU*/ 237587f60faSYann Gautier 0 /*AXI*/ 238587f60faSYann Gautier 1 /*APB1*/ 239587f60faSYann Gautier 1 /*APB2*/ 240587f60faSYann Gautier 1 /*APB3*/ 241587f60faSYann Gautier 1 /*APB4*/ 242587f60faSYann Gautier 2 /*APB5*/ 243587f60faSYann Gautier 23 /*RTC*/ 244587f60faSYann Gautier 0 /*MCO1*/ 245587f60faSYann Gautier 0 /*MCO2*/ 246587f60faSYann Gautier >; 247587f60faSYann Gautier 248587f60faSYann Gautier st,pkcs = < 249587f60faSYann Gautier CLK_CKPER_HSE 250587f60faSYann Gautier CLK_FMC_ACLK 251587f60faSYann Gautier CLK_QSPI_ACLK 252587f60faSYann Gautier CLK_ETH_DISABLED 253c948f771SYann Gautier CLK_SDMMC12_PLL4P 254587f60faSYann Gautier CLK_DSI_DSIPLL 255587f60faSYann Gautier CLK_STGEN_HSE 256587f60faSYann Gautier CLK_USBPHY_HSE 257587f60faSYann Gautier CLK_SPI2S1_PLL3Q 258587f60faSYann Gautier CLK_SPI2S23_PLL3Q 259587f60faSYann Gautier CLK_SPI45_HSI 260587f60faSYann Gautier CLK_SPI6_HSI 261587f60faSYann Gautier CLK_I2C46_HSI 262c948f771SYann Gautier CLK_SDMMC3_PLL4P 263587f60faSYann Gautier CLK_USBO_USBPHY 264587f60faSYann Gautier CLK_ADC_CKPER 265587f60faSYann Gautier CLK_CEC_LSE 266587f60faSYann Gautier CLK_I2C12_HSI 267587f60faSYann Gautier CLK_I2C35_HSI 268587f60faSYann Gautier CLK_UART1_HSI 269587f60faSYann Gautier CLK_UART24_HSI 270587f60faSYann Gautier CLK_UART35_HSI 271587f60faSYann Gautier CLK_UART6_HSI 272587f60faSYann Gautier CLK_UART78_HSI 273c948f771SYann Gautier CLK_SPDIF_PLL4P 274587f60faSYann Gautier CLK_FDCAN_PLL4Q 275587f60faSYann Gautier CLK_SAI1_PLL3Q 276587f60faSYann Gautier CLK_SAI2_PLL3Q 277587f60faSYann Gautier CLK_SAI3_PLL3Q 278587f60faSYann Gautier CLK_SAI4_PLL3Q 279c948f771SYann Gautier CLK_RNG1_LSI 280c948f771SYann Gautier CLK_RNG2_LSI 281587f60faSYann Gautier CLK_LPTIM1_PCLK1 282587f60faSYann Gautier CLK_LPTIM23_PCLK3 283c948f771SYann Gautier CLK_LPTIM45_LSE 284587f60faSYann Gautier >; 285587f60faSYann Gautier 286587f60faSYann Gautier /* VCO = 1300.0 MHz => P = 650 (CPU) */ 287587f60faSYann Gautier pll1: st,pll@0 { 288587f60faSYann Gautier cfg = < 2 80 0 0 0 PQR(1,0,0) >; 289587f60faSYann Gautier frac = < 0x800 >; 290587f60faSYann Gautier }; 291587f60faSYann Gautier 292587f60faSYann Gautier /* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */ 293587f60faSYann Gautier pll2: st,pll@1 { 294587f60faSYann Gautier cfg = < 2 65 1 0 0 PQR(1,1,1) >; 295587f60faSYann Gautier frac = < 0x1400 >; 296587f60faSYann Gautier }; 297587f60faSYann Gautier 298c948f771SYann Gautier /* VCO = 417.8 MHz => P = 209, Q = 24, R = 11 */ 299587f60faSYann Gautier pll3: st,pll@2 { 300c948f771SYann Gautier cfg = < 1 33 1 16 36 PQR(1,1,1) >; 301c948f771SYann Gautier frac = < 0x1a04 >; 302587f60faSYann Gautier }; 303587f60faSYann Gautier 304c948f771SYann Gautier /* VCO = 594.0 MHz => P = 99, Q = 74, R = 74 */ 305587f60faSYann Gautier pll4: st,pll@3 { 306c948f771SYann Gautier cfg = < 3 98 5 7 7 PQR(1,1,1) >; 307587f60faSYann Gautier }; 308587f60faSYann Gautier}; 309587f60faSYann Gautier 310587f60faSYann Gautier/delete-node/ &clk_csi; 311