1*b080a5faSThomas Bourgoin// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause) 2*b080a5faSThomas Bourgoin/* 3*b080a5faSThomas Bourgoin * Copyright (C) STMicroelectronics 2025 - All Rights Reserved 4*b080a5faSThomas Bourgoin */ 5*b080a5faSThomas Bourgoin 6*b080a5faSThomas Bourgoin&clk_hse { 7*b080a5faSThomas Bourgoin clock-frequency = <40000000>; 8*b080a5faSThomas Bourgoin}; 9*b080a5faSThomas Bourgoin 10*b080a5faSThomas Bourgoin&clk_hsi { 11*b080a5faSThomas Bourgoin clock-frequency = <64000000>; 12*b080a5faSThomas Bourgoin}; 13*b080a5faSThomas Bourgoin 14*b080a5faSThomas Bourgoin&clk_lse { 15*b080a5faSThomas Bourgoin clock-frequency = <32768>; 16*b080a5faSThomas Bourgoin}; 17*b080a5faSThomas Bourgoin 18*b080a5faSThomas Bourgoin&clk_lsi { 19*b080a5faSThomas Bourgoin clock-frequency = <32000>; 20*b080a5faSThomas Bourgoin}; 21*b080a5faSThomas Bourgoin 22*b080a5faSThomas Bourgoin&clk_msi { 23*b080a5faSThomas Bourgoin clock-frequency = <16000000>; 24*b080a5faSThomas Bourgoin}; 25*b080a5faSThomas Bourgoin 26*b080a5faSThomas Bourgoin&rcc { 27*b080a5faSThomas Bourgoin st,busclk = < 28*b080a5faSThomas Bourgoin DIV_CFG(DIV_LSMCU, 1) 29*b080a5faSThomas Bourgoin DIV_CFG(DIV_APB1, 0) 30*b080a5faSThomas Bourgoin DIV_CFG(DIV_APB2, 0) 31*b080a5faSThomas Bourgoin DIV_CFG(DIV_APB3, 0) 32*b080a5faSThomas Bourgoin DIV_CFG(DIV_APB4, 0) 33*b080a5faSThomas Bourgoin DIV_CFG(DIV_APBDBG, 0) 34*b080a5faSThomas Bourgoin >; 35*b080a5faSThomas Bourgoin 36*b080a5faSThomas Bourgoin st,flexgen = < 37*b080a5faSThomas Bourgoin FLEXGEN_CFG(0, XBAR_SRC_PLL4, 0, 2) 38*b080a5faSThomas Bourgoin FLEXGEN_CFG(1, XBAR_SRC_PLL4, 0, 5) 39*b080a5faSThomas Bourgoin FLEXGEN_CFG(2, XBAR_SRC_PLL4, 0, 1) 40*b080a5faSThomas Bourgoin FLEXGEN_CFG(3, XBAR_SRC_PLL4, 0, 2) 41*b080a5faSThomas Bourgoin FLEXGEN_CFG(4, XBAR_SRC_PLL4, 0, 3) 42*b080a5faSThomas Bourgoin FLEXGEN_CFG(5, XBAR_SRC_PLL4, 0, 2) 43*b080a5faSThomas Bourgoin FLEXGEN_CFG(6, XBAR_SRC_PLL4, 0, 1) 44*b080a5faSThomas Bourgoin FLEXGEN_CFG(7, XBAR_SRC_PLL4, 0, 11) 45*b080a5faSThomas Bourgoin FLEXGEN_CFG(8, XBAR_SRC_HSI_KER, 0, 0) 46*b080a5faSThomas Bourgoin FLEXGEN_CFG(9, XBAR_SRC_HSI_KER, 0, 0) 47*b080a5faSThomas Bourgoin FLEXGEN_CFG(10, XBAR_SRC_PLL7, 0, 16) 48*b080a5faSThomas Bourgoin FLEXGEN_CFG(11, XBAR_SRC_PLL4, 0, 5) 49*b080a5faSThomas Bourgoin FLEXGEN_CFG(12, XBAR_SRC_PLL4, 0, 11) 50*b080a5faSThomas Bourgoin FLEXGEN_CFG(15, XBAR_SRC_PLL4, 0, 11) 51*b080a5faSThomas Bourgoin FLEXGEN_CFG(16, XBAR_SRC_PLL4, 0, 23) 52*b080a5faSThomas Bourgoin FLEXGEN_CFG(17, XBAR_SRC_PLL5, 0, 3) 53*b080a5faSThomas Bourgoin FLEXGEN_CFG(18, XBAR_SRC_PLL5, 0, 3) 54*b080a5faSThomas Bourgoin FLEXGEN_CFG(19, XBAR_SRC_HSI_KER, 0, 0) 55*b080a5faSThomas Bourgoin FLEXGEN_CFG(20, XBAR_SRC_HSI_KER, 0, 0) 56*b080a5faSThomas Bourgoin FLEXGEN_CFG(21, XBAR_SRC_HSI_KER, 0, 0) 57*b080a5faSThomas Bourgoin FLEXGEN_CFG(23, XBAR_SRC_PLL7, 0, 16) 58*b080a5faSThomas Bourgoin FLEXGEN_CFG(24, XBAR_SRC_PLL7, 0, 16) 59*b080a5faSThomas Bourgoin FLEXGEN_CFG(25, XBAR_SRC_PLL7, 0, 16) 60*b080a5faSThomas Bourgoin FLEXGEN_CFG(26, XBAR_SRC_PLL4, 0, 11) 61*b080a5faSThomas Bourgoin FLEXGEN_CFG(27, XBAR_SRC_PLL8, 0, 3) 62*b080a5faSThomas Bourgoin FLEXGEN_CFG(28, XBAR_SRC_PLL8, 0, 21) 63*b080a5faSThomas Bourgoin FLEXGEN_CFG(29, XBAR_SRC_PLL5, 0, 1) 64*b080a5faSThomas Bourgoin FLEXGEN_CFG(30, XBAR_SRC_HSE_KER, 0, 1) 65*b080a5faSThomas Bourgoin FLEXGEN_CFG(31, XBAR_SRC_PLL5, 0, 19) 66*b080a5faSThomas Bourgoin FLEXGEN_CFG(32, XBAR_SRC_PLL5, 0, 19) 67*b080a5faSThomas Bourgoin FLEXGEN_CFG(33, XBAR_SRC_HSE_KER, 0, 0) 68*b080a5faSThomas Bourgoin FLEXGEN_CFG(34, XBAR_SRC_PLL4, 0, 59) 69*b080a5faSThomas Bourgoin FLEXGEN_CFG(35, XBAR_SRC_HSI_KER, 0, 3) 70*b080a5faSThomas Bourgoin FLEXGEN_CFG(36, XBAR_SRC_PLL5, 0, 3) 71*b080a5faSThomas Bourgoin FLEXGEN_CFG(37, XBAR_SRC_PLL5, 0, 3) 72*b080a5faSThomas Bourgoin FLEXGEN_CFG(38, XBAR_SRC_PLL5, 0, 3) 73*b080a5faSThomas Bourgoin FLEXGEN_CFG(39, XBAR_SRC_MSI_KER, 0, 0) 74*b080a5faSThomas Bourgoin FLEXGEN_CFG(40, XBAR_SRC_LSE, 0, 0) 75*b080a5faSThomas Bourgoin FLEXGEN_CFG(41, XBAR_SRC_PLL4, 0, 11) 76*b080a5faSThomas Bourgoin FLEXGEN_CFG(43, XBAR_SRC_PLL4, 0, 23) 77*b080a5faSThomas Bourgoin FLEXGEN_CFG(44, XBAR_SRC_PLL4, 0, 5) 78*b080a5faSThomas Bourgoin FLEXGEN_CFG(45, XBAR_SRC_PLL4, 0, 2) 79*b080a5faSThomas Bourgoin FLEXGEN_CFG(46, XBAR_SRC_PLL5, 0, 3) 80*b080a5faSThomas Bourgoin FLEXGEN_CFG(47, XBAR_SRC_PLL5, 0, 3) 81*b080a5faSThomas Bourgoin FLEXGEN_CFG(51, XBAR_SRC_PLL4, 0, 5) 82*b080a5faSThomas Bourgoin FLEXGEN_CFG(52, XBAR_SRC_PLL4, 0, 5) 83*b080a5faSThomas Bourgoin FLEXGEN_CFG(53, XBAR_SRC_PLL4, 0, 5) 84*b080a5faSThomas Bourgoin FLEXGEN_CFG(54, XBAR_SRC_PLL6, 0, 3) 85*b080a5faSThomas Bourgoin FLEXGEN_CFG(55, XBAR_SRC_PLL6, 0, 3) 86*b080a5faSThomas Bourgoin FLEXGEN_CFG(56, XBAR_SRC_PLL4, 0, 5) 87*b080a5faSThomas Bourgoin FLEXGEN_CFG(57, XBAR_SRC_HSE_KER, 0, 1) 88*b080a5faSThomas Bourgoin FLEXGEN_CFG(58, XBAR_SRC_HSE_KER, 0, 1) 89*b080a5faSThomas Bourgoin FLEXGEN_CFG(59, XBAR_SRC_PLL4, 0, 1) 90*b080a5faSThomas Bourgoin FLEXGEN_CFG(61, XBAR_SRC_PLL4, 0, 7) 91*b080a5faSThomas Bourgoin FLEXGEN_CFG(62, XBAR_SRC_PLL4, 0, 7) 92*b080a5faSThomas Bourgoin FLEXGEN_CFG(63, XBAR_SRC_PLL4, 0, 2) 93*b080a5faSThomas Bourgoin >; 94*b080a5faSThomas Bourgoin 95*b080a5faSThomas Bourgoin st,kerclk = < 96*b080a5faSThomas Bourgoin MUX_CFG(MUX_ADC12, MUX_ADC12_FLEX46) 97*b080a5faSThomas Bourgoin MUX_CFG(MUX_USB2PHY1, MUX_USB2PHY1_FLEX57) 98*b080a5faSThomas Bourgoin MUX_CFG(MUX_USB2PHY2, MUX_USB2PHY2_FLEX58) 99*b080a5faSThomas Bourgoin MUX_CFG(MUX_USB3PCIEPHY, MUX_USB3PCIEPHY_HSE) 100*b080a5faSThomas Bourgoin MUX_CFG(MUX_DSIPHY, MUX_DSIPHY_FLEX28) 101*b080a5faSThomas Bourgoin MUX_CFG(MUX_DSIBLANE, MUX_DSIBLANE_DSIPHY) 102*b080a5faSThomas Bourgoin MUX_CFG(MUX_LVDSPHY, MUX_LVDSPHY_FLEX32) 103*b080a5faSThomas Bourgoin MUX_CFG(MUX_DTS, MUX_DTS_HSE) 104*b080a5faSThomas Bourgoin MUX_CFG(MUX_RTC, MUX_RTC_LSE) 105*b080a5faSThomas Bourgoin MUX_CFG(MUX_D3PER, MUX_D3PER_MSI) 106*b080a5faSThomas Bourgoin MCO_CFG(MCO1, MUX_MCO1_FLEX61, MCO_OFF) 107*b080a5faSThomas Bourgoin MCO_CFG(MCO2, MUX_MCO2_FLEX62, MCO_OFF) 108*b080a5faSThomas Bourgoin >; 109*b080a5faSThomas Bourgoin 110*b080a5faSThomas Bourgoin pll1: st,pll-1 { 111*b080a5faSThomas Bourgoin st,pll = <&pll1_cfg_1200Mhz>; 112*b080a5faSThomas Bourgoin 113*b080a5faSThomas Bourgoin pll1_cfg_1200Mhz: pll1-cfg-1200Mhz { 114*b080a5faSThomas Bourgoin cfg = <30 1 1 1>; 115*b080a5faSThomas Bourgoin src = <MUX_CFG(MUX_MUXSEL5, MUXSEL_HSE)>; 116*b080a5faSThomas Bourgoin }; 117*b080a5faSThomas Bourgoin 118*b080a5faSThomas Bourgoin pll1_cfg_1500Mhz: pll1-cfg-1500Mhz { 119*b080a5faSThomas Bourgoin cfg = <75 2 1 1>; 120*b080a5faSThomas Bourgoin src = <MUX_CFG(MUX_MUXSEL5, MUXSEL_HSE)>; 121*b080a5faSThomas Bourgoin }; 122*b080a5faSThomas Bourgoin }; 123*b080a5faSThomas Bourgoin 124*b080a5faSThomas Bourgoin pll2: st,pll-2 { 125*b080a5faSThomas Bourgoin st,pll = <&pll2_cfg_600Mhz>; 126*b080a5faSThomas Bourgoin 127*b080a5faSThomas Bourgoin pll2_cfg_600Mhz: pll2-cfg-600Mhz { 128*b080a5faSThomas Bourgoin cfg = <30 1 1 2>; 129*b080a5faSThomas Bourgoin src = <MUX_CFG(MUX_MUXSEL6, MUXSEL_HSE)>; 130*b080a5faSThomas Bourgoin }; 131*b080a5faSThomas Bourgoin }; 132*b080a5faSThomas Bourgoin 133*b080a5faSThomas Bourgoin pll3: st,pll-3 { 134*b080a5faSThomas Bourgoin st,pll = <&pll3_cfg_400Mhz>; 135*b080a5faSThomas Bourgoin 136*b080a5faSThomas Bourgoin pll3_cfg_400Mhz: pll3-cfg-400Mhz { 137*b080a5faSThomas Bourgoin cfg = <20 1 1 2>; 138*b080a5faSThomas Bourgoin src = <MUX_CFG(MUX_MUXSEL7, MUXSEL_HSE)>; 139*b080a5faSThomas Bourgoin }; 140*b080a5faSThomas Bourgoin }; 141*b080a5faSThomas Bourgoin 142*b080a5faSThomas Bourgoin pll4: st,pll-4 { 143*b080a5faSThomas Bourgoin st,pll = <&pll4_cfg_1200Mhz>; 144*b080a5faSThomas Bourgoin 145*b080a5faSThomas Bourgoin pll4_cfg_1200Mhz: pll4-cfg-1200Mhz { 146*b080a5faSThomas Bourgoin cfg = <30 1 1 1>; 147*b080a5faSThomas Bourgoin src = <MUX_CFG(MUX_MUXSEL0, MUXSEL_HSE)>; 148*b080a5faSThomas Bourgoin }; 149*b080a5faSThomas Bourgoin }; 150*b080a5faSThomas Bourgoin 151*b080a5faSThomas Bourgoin pll5: st,pll-5 { 152*b080a5faSThomas Bourgoin st,pll = <&pll5_cfg_532Mhz>; 153*b080a5faSThomas Bourgoin 154*b080a5faSThomas Bourgoin pll5_cfg_532Mhz: pll5-cfg-532Mhz { 155*b080a5faSThomas Bourgoin cfg = <133 5 1 2>; 156*b080a5faSThomas Bourgoin src = <MUX_CFG(MUX_MUXSEL1, MUXSEL_HSE)>; 157*b080a5faSThomas Bourgoin }; 158*b080a5faSThomas Bourgoin }; 159*b080a5faSThomas Bourgoin 160*b080a5faSThomas Bourgoin pll6: st,pll-6 { 161*b080a5faSThomas Bourgoin st,pll = <&pll6_cfg_500Mhz>; 162*b080a5faSThomas Bourgoin 163*b080a5faSThomas Bourgoin pll6_cfg_500Mhz: pll6-cfg-500Mhz { 164*b080a5faSThomas Bourgoin cfg = <25 1 1 2>; 165*b080a5faSThomas Bourgoin src = <MUX_CFG(MUX_MUXSEL2, MUXSEL_HSE)>; 166*b080a5faSThomas Bourgoin }; 167*b080a5faSThomas Bourgoin }; 168*b080a5faSThomas Bourgoin 169*b080a5faSThomas Bourgoin pll7: st,pll-7 { 170*b080a5faSThomas Bourgoin st,pll = <&pll7_cfg_835_51172Mhz>; 171*b080a5faSThomas Bourgoin 172*b080a5faSThomas Bourgoin pll7_cfg_835_51172Mhz: pll7-cfg-835-51172Mhz { 173*b080a5faSThomas Bourgoin cfg = <167 4 1 2>; 174*b080a5faSThomas Bourgoin src = <MUX_CFG(MUX_MUXSEL3, MUXSEL_HSE)>; 175*b080a5faSThomas Bourgoin frac = < 0x1A3337 >; 176*b080a5faSThomas Bourgoin }; 177*b080a5faSThomas Bourgoin }; 178*b080a5faSThomas Bourgoin 179*b080a5faSThomas Bourgoin pll8: st,pll-8 { 180*b080a5faSThomas Bourgoin st,pll = <&pll8_cfg_594Mhz>; 181*b080a5faSThomas Bourgoin 182*b080a5faSThomas Bourgoin pll8_cfg_594Mhz: pll8-cfg-594Mhz { 183*b080a5faSThomas Bourgoin cfg = <297 5 1 4>; 184*b080a5faSThomas Bourgoin src = <MUX_CFG(MUX_MUXSEL4, MUXSEL_HSE)>; 185*b080a5faSThomas Bourgoin }; 186*b080a5faSThomas Bourgoin }; 187*b080a5faSThomas Bourgoin}; 188*b080a5faSThomas Bourgoin 189