1587f60faSYann Gautier// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2587f60faSYann Gautier/* 383f62c87SYann Gautier * Copyright (C) STMicroelectronics 2017-2019 - 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>; 45*f237822fSYann Gautier st,usb-control-register = <0x20>; 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"; 58d82d4ff0SYann 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 146f33b2433SYann Gautier&pwr { 147f33b2433SYann Gautier pwr-regulators { 148f33b2433SYann Gautier vdd-supply = <&vdd>; 149f33b2433SYann Gautier }; 150f33b2433SYann Gautier}; 151f33b2433SYann Gautier 152587f60faSYann Gautier&rng1 { 153587f60faSYann Gautier status = "okay"; 154587f60faSYann Gautier}; 155587f60faSYann Gautier 156c948f771SYann Gautier&rtc { 157c948f771SYann Gautier status = "okay"; 158c948f771SYann Gautier}; 159c948f771SYann Gautier 160587f60faSYann Gautier&sdmmc1 { 161587f60faSYann Gautier pinctrl-names = "default"; 162587f60faSYann Gautier pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; 163587f60faSYann Gautier broken-cd; 164c948f771SYann Gautier st,sig-dir; 165c948f771SYann Gautier st,neg-edge; 166c948f771SYann Gautier st,use-ckin; 167587f60faSYann Gautier bus-width = <4>; 168c948f771SYann Gautier vmmc-supply = <&vdd_sd>; 169587f60faSYann Gautier sd-uhs-sdr12; 170587f60faSYann Gautier sd-uhs-sdr25; 171587f60faSYann Gautier sd-uhs-sdr50; 172587f60faSYann Gautier sd-uhs-ddr50; 173587f60faSYann Gautier sd-uhs-sdr104; 174587f60faSYann Gautier status = "okay"; 175587f60faSYann Gautier}; 176587f60faSYann Gautier 177587f60faSYann Gautier&sdmmc2 { 178587f60faSYann Gautier pinctrl-names = "default"; 179587f60faSYann Gautier pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; 180587f60faSYann Gautier non-removable; 181587f60faSYann Gautier no-sd; 182587f60faSYann Gautier no-sdio; 183c948f771SYann Gautier st,neg-edge; 184587f60faSYann Gautier bus-width = <8>; 185c948f771SYann Gautier vmmc-supply = <&v3v3>; 186c948f771SYann Gautier vqmmc-supply = <&v3v3>; 187c948f771SYann Gautier mmc-ddr-3_3v; 188587f60faSYann Gautier status = "okay"; 189587f60faSYann Gautier}; 190587f60faSYann Gautier 191587f60faSYann Gautier&uart4 { 192587f60faSYann Gautier pinctrl-names = "default"; 193587f60faSYann Gautier pinctrl-0 = <&uart4_pins_a>; 194587f60faSYann Gautier status = "okay"; 195587f60faSYann Gautier}; 196587f60faSYann Gautier 197587f60faSYann Gautier/* ATF Specific */ 198587f60faSYann Gautier#include <dt-bindings/clock/stm32mp1-clksrc.h> 199587f60faSYann Gautier#include "stm32mp15-ddr3-2x4Gb-1066-binG.dtsi" 20083f62c87SYann Gautier#include "stm32mp157c-security.dtsi" 201587f60faSYann Gautier 202587f60faSYann Gautier/ { 203587f60faSYann Gautier aliases { 204587f60faSYann Gautier gpio0 = &gpioa; 205587f60faSYann Gautier gpio1 = &gpiob; 206587f60faSYann Gautier gpio2 = &gpioc; 207587f60faSYann Gautier gpio3 = &gpiod; 208587f60faSYann Gautier gpio4 = &gpioe; 209587f60faSYann Gautier gpio5 = &gpiof; 210587f60faSYann Gautier gpio6 = &gpiog; 211587f60faSYann Gautier gpio7 = &gpioh; 212587f60faSYann Gautier gpio8 = &gpioi; 213587f60faSYann Gautier gpio9 = &gpioj; 214587f60faSYann Gautier gpio10 = &gpiok; 215587f60faSYann Gautier gpio25 = &gpioz; 216587f60faSYann Gautier i2c3 = &i2c4; 217587f60faSYann Gautier }; 218587f60faSYann Gautier}; 219587f60faSYann Gautier 220587f60faSYann Gautier/* CLOCK init */ 221587f60faSYann Gautier&rcc { 222c948f771SYann Gautier secure-status = "disabled"; 223587f60faSYann Gautier st,clksrc = < 224587f60faSYann Gautier CLK_MPU_PLL1P 225587f60faSYann Gautier CLK_AXI_PLL2P 226b053a22eSYann Gautier CLK_MCU_PLL3P 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*/ 238b053a22eSYann Gautier 0 /*MCU*/ 239587f60faSYann Gautier 1 /*APB1*/ 240587f60faSYann Gautier 1 /*APB2*/ 241587f60faSYann Gautier 1 /*APB3*/ 242587f60faSYann Gautier 1 /*APB4*/ 243587f60faSYann Gautier 2 /*APB5*/ 244587f60faSYann Gautier 23 /*RTC*/ 245587f60faSYann Gautier 0 /*MCO1*/ 246587f60faSYann Gautier 0 /*MCO2*/ 247587f60faSYann Gautier >; 248587f60faSYann Gautier 249587f60faSYann Gautier st,pkcs = < 250587f60faSYann Gautier CLK_CKPER_HSE 251587f60faSYann Gautier CLK_FMC_ACLK 252587f60faSYann Gautier CLK_QSPI_ACLK 253587f60faSYann Gautier CLK_ETH_DISABLED 254c948f771SYann Gautier CLK_SDMMC12_PLL4P 255587f60faSYann Gautier CLK_DSI_DSIPLL 256587f60faSYann Gautier CLK_STGEN_HSE 257587f60faSYann Gautier CLK_USBPHY_HSE 258587f60faSYann Gautier CLK_SPI2S1_PLL3Q 259587f60faSYann Gautier CLK_SPI2S23_PLL3Q 260587f60faSYann Gautier CLK_SPI45_HSI 261587f60faSYann Gautier CLK_SPI6_HSI 262587f60faSYann Gautier CLK_I2C46_HSI 263c948f771SYann Gautier CLK_SDMMC3_PLL4P 264587f60faSYann Gautier CLK_USBO_USBPHY 265587f60faSYann Gautier CLK_ADC_CKPER 266587f60faSYann Gautier CLK_CEC_LSE 267587f60faSYann Gautier CLK_I2C12_HSI 268587f60faSYann Gautier CLK_I2C35_HSI 269587f60faSYann Gautier CLK_UART1_HSI 270587f60faSYann Gautier CLK_UART24_HSI 271587f60faSYann Gautier CLK_UART35_HSI 272587f60faSYann Gautier CLK_UART6_HSI 273587f60faSYann Gautier CLK_UART78_HSI 274c948f771SYann Gautier CLK_SPDIF_PLL4P 275587f60faSYann Gautier CLK_FDCAN_PLL4Q 276587f60faSYann Gautier CLK_SAI1_PLL3Q 277587f60faSYann Gautier CLK_SAI2_PLL3Q 278587f60faSYann Gautier CLK_SAI3_PLL3Q 279587f60faSYann Gautier CLK_SAI4_PLL3Q 280c948f771SYann Gautier CLK_RNG1_LSI 281c948f771SYann Gautier CLK_RNG2_LSI 282587f60faSYann Gautier CLK_LPTIM1_PCLK1 283587f60faSYann Gautier CLK_LPTIM23_PCLK3 284c948f771SYann Gautier CLK_LPTIM45_LSE 285587f60faSYann Gautier >; 286587f60faSYann Gautier 287587f60faSYann Gautier /* VCO = 1300.0 MHz => P = 650 (CPU) */ 288587f60faSYann Gautier pll1: st,pll@0 { 289587f60faSYann Gautier cfg = < 2 80 0 0 0 PQR(1,0,0) >; 290587f60faSYann Gautier frac = < 0x800 >; 291587f60faSYann Gautier }; 292587f60faSYann Gautier 293587f60faSYann Gautier /* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */ 294587f60faSYann Gautier pll2: st,pll@1 { 295587f60faSYann Gautier cfg = < 2 65 1 0 0 PQR(1,1,1) >; 296587f60faSYann Gautier frac = < 0x1400 >; 297587f60faSYann Gautier }; 298587f60faSYann Gautier 299c948f771SYann Gautier /* VCO = 417.8 MHz => P = 209, Q = 24, R = 11 */ 300587f60faSYann Gautier pll3: st,pll@2 { 301c948f771SYann Gautier cfg = < 1 33 1 16 36 PQR(1,1,1) >; 302c948f771SYann Gautier frac = < 0x1a04 >; 303587f60faSYann Gautier }; 304587f60faSYann Gautier 305c948f771SYann Gautier /* VCO = 594.0 MHz => P = 99, Q = 74, R = 74 */ 306587f60faSYann Gautier pll4: st,pll@3 { 307c948f771SYann Gautier cfg = < 3 98 5 7 7 PQR(1,1,1) >; 308587f60faSYann Gautier }; 309587f60faSYann Gautier}; 310587f60faSYann Gautier 311*f237822fSYann Gautier&bsec { 312*f237822fSYann Gautier board_id: board_id@ec { 313*f237822fSYann Gautier reg = <0xec 0x4>; 314*f237822fSYann Gautier status = "okay"; 315*f237822fSYann Gautier secure-status = "okay"; 316*f237822fSYann Gautier }; 317*f237822fSYann Gautier}; 318