1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Copyright : STMicroelectronics 2018 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun#include <dt-bindings/clock/stm32mp1-clksrc.h> 7*4882a593Smuzhiyun#include "stm32mp157-u-boot.dtsi" 8*4882a593Smuzhiyun#include "stm32mp15-ddr3-1x4Gb-1066-binG.dtsi" 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun/ { 11*4882a593Smuzhiyun aliases { 12*4882a593Smuzhiyun i2c3 = &i2c4; 13*4882a593Smuzhiyun mmc0 = &sdmmc1; 14*4882a593Smuzhiyun usb0 = &usbotg_hs; 15*4882a593Smuzhiyun }; 16*4882a593Smuzhiyun config { 17*4882a593Smuzhiyun u-boot,boot-led = "heartbeat"; 18*4882a593Smuzhiyun u-boot,error-led = "error"; 19*4882a593Smuzhiyun st,adc_usb_pd = <&adc1 18>, <&adc1 19>; 20*4882a593Smuzhiyun }; 21*4882a593Smuzhiyun led { 22*4882a593Smuzhiyun red { 23*4882a593Smuzhiyun label = "error"; 24*4882a593Smuzhiyun gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; 25*4882a593Smuzhiyun default-state = "off"; 26*4882a593Smuzhiyun status = "okay"; 27*4882a593Smuzhiyun }; 28*4882a593Smuzhiyun 29*4882a593Smuzhiyun blue { 30*4882a593Smuzhiyun default-state = "on"; 31*4882a593Smuzhiyun }; 32*4882a593Smuzhiyun }; 33*4882a593Smuzhiyun}; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun&adc { 36*4882a593Smuzhiyun pinctrl-names = "default"; 37*4882a593Smuzhiyun pinctrl-0 = <&adc12_usb_pwr_pins_a>; 38*4882a593Smuzhiyun vdd-supply = <&vdd>; 39*4882a593Smuzhiyun vdda-supply = <&vdd>; 40*4882a593Smuzhiyun vref-supply = <&vrefbuf>; 41*4882a593Smuzhiyun status = "okay"; 42*4882a593Smuzhiyun adc1: adc@0 { 43*4882a593Smuzhiyun /* 44*4882a593Smuzhiyun * Type-C USB_PWR_CC1 & USB_PWR_CC2 on in18 & in19. 45*4882a593Smuzhiyun * Use at least 5 * RC time, e.g. 5 * (Rp + Rd) * C: 46*4882a593Smuzhiyun * 5 * (56 + 47kOhms) * 5pF => 2.5us. 47*4882a593Smuzhiyun * Use arbitrary margin here (e.g. 5µs). 48*4882a593Smuzhiyun */ 49*4882a593Smuzhiyun st,min-sample-time-nsecs = <5000>; 50*4882a593Smuzhiyun /* ANA0, ANA1, USB Type-C CC1 & CC2 */ 51*4882a593Smuzhiyun st,adc-channels = <0 1 18 19>; 52*4882a593Smuzhiyun status = "okay"; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun}; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun&clk_hse { 57*4882a593Smuzhiyun st,digbypass; 58*4882a593Smuzhiyun}; 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun&i2c4 { 61*4882a593Smuzhiyun u-boot,dm-pre-reloc; 62*4882a593Smuzhiyun}; 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun&i2c4_pins_a { 65*4882a593Smuzhiyun u-boot,dm-pre-reloc; 66*4882a593Smuzhiyun pins { 67*4882a593Smuzhiyun u-boot,dm-pre-reloc; 68*4882a593Smuzhiyun }; 69*4882a593Smuzhiyun}; 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun&pmic { 72*4882a593Smuzhiyun u-boot,dm-pre-reloc; 73*4882a593Smuzhiyun}; 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun&rcc { 76*4882a593Smuzhiyun st,clksrc = < 77*4882a593Smuzhiyun CLK_MPU_PLL1P 78*4882a593Smuzhiyun CLK_AXI_PLL2P 79*4882a593Smuzhiyun CLK_MCU_PLL3P 80*4882a593Smuzhiyun CLK_PLL12_HSE 81*4882a593Smuzhiyun CLK_PLL3_HSE 82*4882a593Smuzhiyun CLK_PLL4_HSE 83*4882a593Smuzhiyun CLK_RTC_LSE 84*4882a593Smuzhiyun CLK_MCO1_DISABLED 85*4882a593Smuzhiyun CLK_MCO2_DISABLED 86*4882a593Smuzhiyun >; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun st,clkdiv = < 89*4882a593Smuzhiyun 1 /*MPU*/ 90*4882a593Smuzhiyun 0 /*AXI*/ 91*4882a593Smuzhiyun 0 /*MCU*/ 92*4882a593Smuzhiyun 1 /*APB1*/ 93*4882a593Smuzhiyun 1 /*APB2*/ 94*4882a593Smuzhiyun 1 /*APB3*/ 95*4882a593Smuzhiyun 1 /*APB4*/ 96*4882a593Smuzhiyun 2 /*APB5*/ 97*4882a593Smuzhiyun 23 /*RTC*/ 98*4882a593Smuzhiyun 0 /*MCO1*/ 99*4882a593Smuzhiyun 0 /*MCO2*/ 100*4882a593Smuzhiyun >; 101*4882a593Smuzhiyun 102*4882a593Smuzhiyun st,pkcs = < 103*4882a593Smuzhiyun CLK_CKPER_HSE 104*4882a593Smuzhiyun CLK_FMC_ACLK 105*4882a593Smuzhiyun CLK_QSPI_ACLK 106*4882a593Smuzhiyun CLK_ETH_DISABLED 107*4882a593Smuzhiyun CLK_SDMMC12_PLL4P 108*4882a593Smuzhiyun CLK_DSI_DSIPLL 109*4882a593Smuzhiyun CLK_STGEN_HSE 110*4882a593Smuzhiyun CLK_USBPHY_HSE 111*4882a593Smuzhiyun CLK_SPI2S1_PLL3Q 112*4882a593Smuzhiyun CLK_SPI2S23_PLL3Q 113*4882a593Smuzhiyun CLK_SPI45_HSI 114*4882a593Smuzhiyun CLK_SPI6_HSI 115*4882a593Smuzhiyun CLK_I2C46_HSI 116*4882a593Smuzhiyun CLK_SDMMC3_PLL4P 117*4882a593Smuzhiyun CLK_USBO_USBPHY 118*4882a593Smuzhiyun CLK_ADC_CKPER 119*4882a593Smuzhiyun CLK_CEC_LSE 120*4882a593Smuzhiyun CLK_I2C12_HSI 121*4882a593Smuzhiyun CLK_I2C35_HSI 122*4882a593Smuzhiyun CLK_UART1_HSI 123*4882a593Smuzhiyun CLK_UART24_HSI 124*4882a593Smuzhiyun CLK_UART35_HSI 125*4882a593Smuzhiyun CLK_UART6_HSI 126*4882a593Smuzhiyun CLK_UART78_HSI 127*4882a593Smuzhiyun CLK_SPDIF_PLL4P 128*4882a593Smuzhiyun CLK_FDCAN_PLL4Q 129*4882a593Smuzhiyun CLK_SAI1_PLL3Q 130*4882a593Smuzhiyun CLK_SAI2_PLL3Q 131*4882a593Smuzhiyun CLK_SAI3_PLL3Q 132*4882a593Smuzhiyun CLK_SAI4_PLL3Q 133*4882a593Smuzhiyun CLK_RNG1_LSI 134*4882a593Smuzhiyun CLK_RNG2_LSI 135*4882a593Smuzhiyun CLK_LPTIM1_PCLK1 136*4882a593Smuzhiyun CLK_LPTIM23_PCLK3 137*4882a593Smuzhiyun CLK_LPTIM45_LSE 138*4882a593Smuzhiyun >; 139*4882a593Smuzhiyun 140*4882a593Smuzhiyun /* VCO = 1300.0 MHz => P = 650 (CPU) */ 141*4882a593Smuzhiyun pll1: st,pll@0 { 142*4882a593Smuzhiyun cfg = < 2 80 0 0 0 PQR(1,0,0) >; 143*4882a593Smuzhiyun frac = < 0x800 >; 144*4882a593Smuzhiyun u-boot,dm-pre-reloc; 145*4882a593Smuzhiyun }; 146*4882a593Smuzhiyun 147*4882a593Smuzhiyun /* VCO = 1066.0 MHz => P = 266 (AXI), Q = 533 (GPU), R = 533 (DDR) */ 148*4882a593Smuzhiyun pll2: st,pll@1 { 149*4882a593Smuzhiyun cfg = < 2 65 1 0 0 PQR(1,1,1) >; 150*4882a593Smuzhiyun frac = < 0x1400 >; 151*4882a593Smuzhiyun u-boot,dm-pre-reloc; 152*4882a593Smuzhiyun }; 153*4882a593Smuzhiyun 154*4882a593Smuzhiyun /* VCO = 417.8 MHz => P = 209, Q = 24, R = 11 */ 155*4882a593Smuzhiyun pll3: st,pll@2 { 156*4882a593Smuzhiyun cfg = < 1 33 1 16 36 PQR(1,1,1) >; 157*4882a593Smuzhiyun frac = < 0x1a04 >; 158*4882a593Smuzhiyun u-boot,dm-pre-reloc; 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun /* VCO = 594.0 MHz => P = 99, Q = 74, R = 74 */ 162*4882a593Smuzhiyun pll4: st,pll@3 { 163*4882a593Smuzhiyun cfg = < 3 98 5 7 7 PQR(1,1,1) >; 164*4882a593Smuzhiyun u-boot,dm-pre-reloc; 165*4882a593Smuzhiyun }; 166*4882a593Smuzhiyun}; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun&sdmmc1 { 169*4882a593Smuzhiyun u-boot,dm-spl; 170*4882a593Smuzhiyun}; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun&sdmmc1_b4_pins_a { 173*4882a593Smuzhiyun u-boot,dm-spl; 174*4882a593Smuzhiyun pins { 175*4882a593Smuzhiyun u-boot,dm-spl; 176*4882a593Smuzhiyun }; 177*4882a593Smuzhiyun}; 178*4882a593Smuzhiyun 179*4882a593Smuzhiyun&uart4 { 180*4882a593Smuzhiyun u-boot,dm-pre-reloc; 181*4882a593Smuzhiyun}; 182*4882a593Smuzhiyun 183*4882a593Smuzhiyun&uart4_pins_a { 184*4882a593Smuzhiyun u-boot,dm-pre-reloc; 185*4882a593Smuzhiyun pins1 { 186*4882a593Smuzhiyun u-boot,dm-pre-reloc; 187*4882a593Smuzhiyun }; 188*4882a593Smuzhiyun pins2 { 189*4882a593Smuzhiyun u-boot,dm-pre-reloc; 190*4882a593Smuzhiyun }; 191*4882a593Smuzhiyun}; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun&usbotg_hs { 194*4882a593Smuzhiyun u-boot,force-b-session-valid; 195*4882a593Smuzhiyun hnp-srp-disable; 196*4882a593Smuzhiyun}; 197*4882a593Smuzhiyun 198*4882a593Smuzhiyun&v3v3 { 199*4882a593Smuzhiyun regulator-always-on; 200*4882a593Smuzhiyun}; 201