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 7587f60faSYann Gautier/dts-v1/; 8587f60faSYann Gautier 9587f60faSYann Gautier#include "stm32mp157c.dtsi" 10587f60faSYann Gautier#include "stm32mp157caa-pinctrl.dtsi" 11587f60faSYann Gautier 12587f60faSYann Gautier/ { 13587f60faSYann Gautier model = "STMicroelectronics STM32MP157C-ED1 pmic eval daughter"; 14587f60faSYann Gautier compatible = "st,stm32mp157c-ed1", "st,stm32mp157"; 15587f60faSYann Gautier 16587f60faSYann Gautier chosen { 17587f60faSYann Gautier bootargs = "earlyprintk console=ttyS3,115200 root=/dev/ram"; 18587f60faSYann Gautier stdout-path = "serial3:115200n8"; 19587f60faSYann Gautier }; 20587f60faSYann Gautier}; 21587f60faSYann Gautier 22587f60faSYann Gautier&i2c4 { 23587f60faSYann Gautier pinctrl-names = "default"; 24587f60faSYann Gautier pinctrl-0 = <&i2c4_pins_a>; 25587f60faSYann Gautier i2c-scl-rising-time-ns = <185>; 26587f60faSYann Gautier i2c-scl-falling-time-ns = <20>; 27587f60faSYann Gautier status = "okay"; 28587f60faSYann Gautier 29*23684d0eSYann Gautier pmic: stpmic@33 { 30*23684d0eSYann Gautier compatible = "st,stpmic1"; 31587f60faSYann Gautier reg = <0x33>; 32587f60faSYann Gautier status = "okay"; 33587f60faSYann Gautier 34587f60faSYann Gautier st,main_control_register = <0x04>; 35587f60faSYann Gautier st,vin_control_register = <0xc0>; 36587f60faSYann Gautier st,usb_control_register = <0x30>; 37587f60faSYann Gautier 38587f60faSYann Gautier regulators { 39*23684d0eSYann Gautier compatible = "st,stpmic1-regulators"; 40587f60faSYann Gautier 41587f60faSYann Gautier v3v3: buck4 { 42587f60faSYann Gautier regulator-name = "v3v3"; 43587f60faSYann Gautier regulator-min-microvolt = <3300000>; 44587f60faSYann Gautier regulator-max-microvolt = <3300000>; 45587f60faSYann Gautier regulator-boot-on; 46587f60faSYann Gautier regulator-over-current-protection; 47587f60faSYann Gautier regulator-initial-mode = <8>; 48587f60faSYann Gautier 49587f60faSYann Gautier regulator-state-standby { 50587f60faSYann Gautier regulator-suspend-microvolt = <3300000>; 51587f60faSYann Gautier regulator-unchanged-in-suspend; 52587f60faSYann Gautier regulator-mode = <8>; 53587f60faSYann Gautier }; 54587f60faSYann Gautier regulator-state-mem { 55587f60faSYann Gautier regulator-off-in-suspend; 56587f60faSYann Gautier }; 57587f60faSYann Gautier regulator-state-disk { 58587f60faSYann Gautier regulator-off-in-suspend; 59587f60faSYann Gautier }; 60587f60faSYann Gautier }; 61587f60faSYann Gautier 62587f60faSYann Gautier vdd_sd: ldo5 { 63587f60faSYann Gautier regulator-name = "vdd_sd"; 64587f60faSYann Gautier regulator-min-microvolt = <2900000>; 65587f60faSYann Gautier regulator-max-microvolt = <2900000>; 66587f60faSYann Gautier regulator-boot-on; 67587f60faSYann Gautier 68587f60faSYann Gautier regulator-state-standby { 69587f60faSYann Gautier regulator-suspend-microvolt = <2900000>; 70587f60faSYann Gautier regulator-unchanged-in-suspend; 71587f60faSYann Gautier }; 72587f60faSYann Gautier regulator-state-mem { 73587f60faSYann Gautier regulator-off-in-suspend; 74587f60faSYann Gautier }; 75587f60faSYann Gautier regulator-state-disk { 76587f60faSYann Gautier regulator-off-in-suspend; 77587f60faSYann Gautier }; 78587f60faSYann Gautier }; 79587f60faSYann Gautier }; 80587f60faSYann Gautier }; 81587f60faSYann Gautier}; 82587f60faSYann Gautier 83587f60faSYann Gautier&iwdg2 { 84587f60faSYann Gautier instance = <2>; 85587f60faSYann Gautier timeout-sec = <32>; 86587f60faSYann Gautier status = "okay"; 87587f60faSYann Gautier}; 88587f60faSYann Gautier 89587f60faSYann Gautier&rng1 { 90587f60faSYann Gautier status = "okay"; 91587f60faSYann Gautier}; 92587f60faSYann Gautier 93587f60faSYann Gautier&sdmmc1 { 94587f60faSYann Gautier pinctrl-names = "default"; 95587f60faSYann Gautier pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>; 96587f60faSYann Gautier broken-cd; 97587f60faSYann Gautier st,dirpol; 98587f60faSYann Gautier st,negedge; 99587f60faSYann Gautier st,pin-ckin; 100587f60faSYann Gautier bus-width = <4>; 101587f60faSYann Gautier sd-uhs-sdr12; 102587f60faSYann Gautier sd-uhs-sdr25; 103587f60faSYann Gautier sd-uhs-sdr50; 104587f60faSYann Gautier sd-uhs-ddr50; 105587f60faSYann Gautier sd-uhs-sdr104; 106587f60faSYann Gautier status = "okay"; 107587f60faSYann Gautier}; 108587f60faSYann Gautier 109587f60faSYann Gautier&sdmmc2 { 110587f60faSYann Gautier pinctrl-names = "default"; 111587f60faSYann Gautier pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; 112587f60faSYann Gautier non-removable; 113587f60faSYann Gautier no-sd; 114587f60faSYann Gautier no-sdio; 115587f60faSYann Gautier st,dirpol; 116587f60faSYann Gautier st,negedge; 117587f60faSYann Gautier bus-width = <8>; 118587f60faSYann Gautier status = "okay"; 119587f60faSYann Gautier}; 120587f60faSYann Gautier 121587f60faSYann Gautier&uart4 { 122587f60faSYann Gautier pinctrl-names = "default"; 123587f60faSYann Gautier pinctrl-0 = <&uart4_pins_a>; 124587f60faSYann Gautier resets = <&rcc UART4_R>; 125587f60faSYann Gautier status = "okay"; 126587f60faSYann Gautier}; 127587f60faSYann Gautier 128587f60faSYann Gautier/* ATF Specific */ 129587f60faSYann Gautier#include <dt-bindings/clock/stm32mp1-clksrc.h> 130587f60faSYann Gautier#include "stm32mp15-ddr3-2x4Gb-1066-binG.dtsi" 131587f60faSYann Gautier 132587f60faSYann Gautier/ { 133587f60faSYann Gautier aliases { 134587f60faSYann Gautier gpio0 = &gpioa; 135587f60faSYann Gautier gpio1 = &gpiob; 136587f60faSYann Gautier gpio2 = &gpioc; 137587f60faSYann Gautier gpio3 = &gpiod; 138587f60faSYann Gautier gpio4 = &gpioe; 139587f60faSYann Gautier gpio5 = &gpiof; 140587f60faSYann Gautier gpio6 = &gpiog; 141587f60faSYann Gautier gpio7 = &gpioh; 142587f60faSYann Gautier gpio8 = &gpioi; 143587f60faSYann Gautier gpio9 = &gpioj; 144587f60faSYann Gautier gpio10 = &gpiok; 145587f60faSYann Gautier gpio25 = &gpioz; 146587f60faSYann Gautier i2c3 = &i2c4; 147587f60faSYann Gautier }; 148587f60faSYann Gautier 149587f60faSYann Gautier soc { 150587f60faSYann Gautier stgen: stgen@5C008000 { 151587f60faSYann Gautier compatible = "st,stm32-stgen"; 152587f60faSYann Gautier reg = <0x5C008000 0x1000>; 153587f60faSYann Gautier status = "okay"; 154587f60faSYann Gautier }; 155587f60faSYann Gautier }; 156587f60faSYann Gautier}; 157587f60faSYann Gautier 158587f60faSYann Gautier/* CLOCK init */ 159587f60faSYann Gautier&rcc { 160587f60faSYann Gautier st,clksrc = < 161587f60faSYann Gautier CLK_MPU_PLL1P 162587f60faSYann Gautier CLK_AXI_PLL2P 163587f60faSYann Gautier CLK_PLL12_HSE 164587f60faSYann Gautier CLK_PLL3_HSE 165587f60faSYann Gautier CLK_PLL4_HSE 166587f60faSYann Gautier CLK_RTC_LSE 167587f60faSYann Gautier CLK_MCO1_DISABLED 168587f60faSYann Gautier CLK_MCO2_DISABLED 169587f60faSYann Gautier >; 170587f60faSYann Gautier 171587f60faSYann Gautier st,clkdiv = < 172587f60faSYann Gautier 1 /*MPU*/ 173587f60faSYann Gautier 0 /*AXI*/ 174587f60faSYann Gautier 1 /*APB1*/ 175587f60faSYann Gautier 1 /*APB2*/ 176587f60faSYann Gautier 1 /*APB3*/ 177587f60faSYann Gautier 1 /*APB4*/ 178587f60faSYann Gautier 2 /*APB5*/ 179587f60faSYann Gautier 23 /*RTC*/ 180587f60faSYann Gautier 0 /*MCO1*/ 181587f60faSYann Gautier 0 /*MCO2*/ 182587f60faSYann Gautier >; 183587f60faSYann Gautier 184587f60faSYann Gautier st,pkcs = < 185587f60faSYann Gautier CLK_CKPER_HSE 186587f60faSYann Gautier CLK_FMC_ACLK 187587f60faSYann Gautier CLK_QSPI_ACLK 188587f60faSYann Gautier CLK_ETH_DISABLED 189587f60faSYann Gautier CLK_SDMMC12_PLL3R 190587f60faSYann Gautier CLK_DSI_DSIPLL 191587f60faSYann Gautier CLK_STGEN_HSE 192587f60faSYann Gautier CLK_USBPHY_HSE 193587f60faSYann Gautier CLK_SPI2S1_PLL3Q 194587f60faSYann Gautier CLK_SPI2S23_PLL3Q 195587f60faSYann Gautier CLK_SPI45_HSI 196587f60faSYann Gautier CLK_SPI6_HSI 197587f60faSYann Gautier CLK_I2C46_HSI 198587f60faSYann Gautier CLK_SDMMC3_PLL3R 199587f60faSYann Gautier CLK_USBO_USBPHY 200587f60faSYann Gautier CLK_ADC_CKPER 201587f60faSYann Gautier CLK_CEC_LSE 202587f60faSYann Gautier CLK_I2C12_HSI 203587f60faSYann Gautier CLK_I2C35_HSI 204587f60faSYann Gautier CLK_UART1_HSI 205587f60faSYann Gautier CLK_UART24_HSI 206587f60faSYann Gautier CLK_UART35_HSI 207587f60faSYann Gautier CLK_UART6_HSI 208587f60faSYann Gautier CLK_UART78_HSI 209587f60faSYann Gautier CLK_SPDIF_PLL3Q 210587f60faSYann Gautier CLK_FDCAN_PLL4Q 211587f60faSYann Gautier CLK_SAI1_PLL3Q 212587f60faSYann Gautier CLK_SAI2_PLL3Q 213587f60faSYann Gautier CLK_SAI3_PLL3Q 214587f60faSYann Gautier CLK_SAI4_PLL3Q 215587f60faSYann Gautier CLK_RNG1_CSI 216587f60faSYann Gautier CLK_RNG2_CSI 217587f60faSYann Gautier CLK_LPTIM1_PCLK1 218587f60faSYann Gautier CLK_LPTIM23_PCLK3 219587f60faSYann Gautier CLK_LPTIM45_PCLK3 220587f60faSYann Gautier >; 221587f60faSYann Gautier 222587f60faSYann Gautier /* VCO = 1300.0 MHz => P = 650 (CPU) */ 223587f60faSYann Gautier pll1: st,pll@0 { 224587f60faSYann Gautier cfg = < 2 80 0 0 0 PQR(1,0,0) >; 225587f60faSYann Gautier frac = < 0x800 >; 226587f60faSYann Gautier }; 227587f60faSYann Gautier 228587f60faSYann Gautier /* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */ 229587f60faSYann Gautier pll2: st,pll@1 { 230587f60faSYann Gautier cfg = < 2 65 1 0 0 PQR(1,1,1) >; 231587f60faSYann Gautier frac = < 0x1400 >; 232587f60faSYann Gautier }; 233587f60faSYann Gautier 234587f60faSYann Gautier /* VCO = 786.4 MHz => P = 197, Q = 49, R = 98 */ 235587f60faSYann Gautier pll3: st,pll@2 { 236587f60faSYann Gautier cfg = < 2 97 3 15 7 PQR(1,1,1) >; 237587f60faSYann Gautier frac = < 0x9ba >; 238587f60faSYann Gautier }; 239587f60faSYann Gautier 240587f60faSYann Gautier /* VCO = 508.0 MHz => P = 56, Q = 56, R = 56 */ 241587f60faSYann Gautier pll4: st,pll@3 { 242587f60faSYann Gautier cfg = < 5 126 8 8 8 PQR(1,1,1) >; 243587f60faSYann Gautier }; 244587f60faSYann Gautier}; 245587f60faSYann Gautier 246587f60faSYann Gautier/delete-node/ &clk_csi; 247