1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*724ba675SRob Herring/* 3*724ba675SRob Herring * Roseapple Pi 4*724ba675SRob Herring * 5*724ba675SRob Herring * Copyright (C) 2020-2021 Cristian Ciocaltea <cristian.ciocaltea@gmail.com> 6*724ba675SRob Herring */ 7*724ba675SRob Herring 8*724ba675SRob Herring/dts-v1/; 9*724ba675SRob Herring 10*724ba675SRob Herring#include "owl-s500.dtsi" 11*724ba675SRob Herring 12*724ba675SRob Herring/ { 13*724ba675SRob Herring compatible = "roseapplepi,roseapplepi", "actions,s500"; 14*724ba675SRob Herring model = "Roseapple Pi"; 15*724ba675SRob Herring 16*724ba675SRob Herring aliases { 17*724ba675SRob Herring mmc0 = &mmc0; 18*724ba675SRob Herring serial2 = &uart2; 19*724ba675SRob Herring }; 20*724ba675SRob Herring 21*724ba675SRob Herring chosen { 22*724ba675SRob Herring stdout-path = "serial2:115200n8"; 23*724ba675SRob Herring }; 24*724ba675SRob Herring 25*724ba675SRob Herring memory@0 { 26*724ba675SRob Herring device_type = "memory"; 27*724ba675SRob Herring reg = <0x0 0x80000000>; /* 2GB */ 28*724ba675SRob Herring }; 29*724ba675SRob Herring 30*724ba675SRob Herring syspwr: regulator-5v0 { 31*724ba675SRob Herring compatible = "regulator-fixed"; 32*724ba675SRob Herring regulator-name = "SYSPWR"; 33*724ba675SRob Herring regulator-min-microvolt = <5000000>; 34*724ba675SRob Herring regulator-max-microvolt = <5000000>; 35*724ba675SRob Herring regulator-always-on; 36*724ba675SRob Herring }; 37*724ba675SRob Herring}; 38*724ba675SRob Herring 39*724ba675SRob Herring&cpu0 { 40*724ba675SRob Herring cpu0-supply = <&vdd_cpu>; 41*724ba675SRob Herring}; 42*724ba675SRob Herring 43*724ba675SRob Herring&i2c0 { 44*724ba675SRob Herring status = "okay"; 45*724ba675SRob Herring pinctrl-names = "default"; 46*724ba675SRob Herring pinctrl-0 = <&i2c0_pins>; 47*724ba675SRob Herring 48*724ba675SRob Herring atc260x: pmic@65 { 49*724ba675SRob Herring compatible = "actions,atc2603c"; 50*724ba675SRob Herring reg = <0x65>; 51*724ba675SRob Herring interrupt-parent = <&sirq>; 52*724ba675SRob Herring interrupts = <2 IRQ_TYPE_LEVEL_HIGH>; 53*724ba675SRob Herring 54*724ba675SRob Herring reset-time-sec = <6>; 55*724ba675SRob Herring 56*724ba675SRob Herring regulators { 57*724ba675SRob Herring compatible = "actions,atc2603c-regulator"; 58*724ba675SRob Herring 59*724ba675SRob Herring dcdc1-supply = <&syspwr>; 60*724ba675SRob Herring dcdc2-supply = <&syspwr>; 61*724ba675SRob Herring dcdc3-supply = <&syspwr>; 62*724ba675SRob Herring ldo1-supply = <&syspwr>; 63*724ba675SRob Herring ldo2-supply = <&syspwr>; 64*724ba675SRob Herring ldo3-supply = <&syspwr>; 65*724ba675SRob Herring ldo5-supply = <&syspwr>; 66*724ba675SRob Herring ldo6-supply = <&syspwr>; 67*724ba675SRob Herring ldo7-supply = <&syspwr>; 68*724ba675SRob Herring ldo8-supply = <&syspwr>; 69*724ba675SRob Herring ldo11-supply = <&syspwr>; 70*724ba675SRob Herring ldo12-supply = <&syspwr>; 71*724ba675SRob Herring switchldo1-supply = <&vcc>; 72*724ba675SRob Herring 73*724ba675SRob Herring vdd_cpu: dcdc1 { 74*724ba675SRob Herring regulator-name = "VDD_CPU"; 75*724ba675SRob Herring regulator-min-microvolt = <700000>; 76*724ba675SRob Herring regulator-max-microvolt = <1400000>; 77*724ba675SRob Herring regulator-always-on; 78*724ba675SRob Herring }; 79*724ba675SRob Herring 80*724ba675SRob Herring vddq: dcdc2 { 81*724ba675SRob Herring regulator-name = "VDDQ"; 82*724ba675SRob Herring regulator-min-microvolt = <1300000>; 83*724ba675SRob Herring regulator-max-microvolt = <2150000>; 84*724ba675SRob Herring regulator-always-on; 85*724ba675SRob Herring regulator-boot-on; 86*724ba675SRob Herring }; 87*724ba675SRob Herring 88*724ba675SRob Herring vcc: dcdc3 { 89*724ba675SRob Herring regulator-name = "VCC"; 90*724ba675SRob Herring regulator-min-microvolt = <2600000>; 91*724ba675SRob Herring regulator-max-microvolt = <3300000>; 92*724ba675SRob Herring regulator-always-on; 93*724ba675SRob Herring }; 94*724ba675SRob Herring 95*724ba675SRob Herring vcc_3v3: ldo1 { 96*724ba675SRob Herring regulator-name = "VCC_3V3"; 97*724ba675SRob Herring regulator-min-microvolt = <2600000>; 98*724ba675SRob Herring regulator-max-microvolt = <3300000>; 99*724ba675SRob Herring regulator-always-on; 100*724ba675SRob Herring }; 101*724ba675SRob Herring 102*724ba675SRob Herring avcc: ldo2 { 103*724ba675SRob Herring regulator-name = "AVCC"; 104*724ba675SRob Herring regulator-min-microvolt = <2600000>; 105*724ba675SRob Herring regulator-max-microvolt = <3300000>; 106*724ba675SRob Herring regulator-always-on; 107*724ba675SRob Herring }; 108*724ba675SRob Herring 109*724ba675SRob Herring vdd_1v8: ldo3 { 110*724ba675SRob Herring regulator-name = "VDD_1V8"; 111*724ba675SRob Herring regulator-min-microvolt = <1500000>; 112*724ba675SRob Herring regulator-max-microvolt = <2000000>; 113*724ba675SRob Herring regulator-always-on; 114*724ba675SRob Herring }; 115*724ba675SRob Herring 116*724ba675SRob Herring vcc_3v1: ldo5 { 117*724ba675SRob Herring regulator-name = "VCC_3V1"; 118*724ba675SRob Herring regulator-min-microvolt = <2600000>; 119*724ba675SRob Herring regulator-max-microvolt = <3300000>; 120*724ba675SRob Herring }; 121*724ba675SRob Herring 122*724ba675SRob Herring avdd: ldo6 { 123*724ba675SRob Herring regulator-name = "AVDD"; 124*724ba675SRob Herring regulator-min-microvolt = <700000>; 125*724ba675SRob Herring regulator-max-microvolt = <1400000>; 126*724ba675SRob Herring regulator-always-on; 127*724ba675SRob Herring }; 128*724ba675SRob Herring 129*724ba675SRob Herring sens_1v8: ldo7 { 130*724ba675SRob Herring regulator-name = "SENS_1V8"; 131*724ba675SRob Herring regulator-min-microvolt = <1800000>; 132*724ba675SRob Herring regulator-max-microvolt = <1800000>; 133*724ba675SRob Herring }; 134*724ba675SRob Herring 135*724ba675SRob Herring ldo8: ldo8 { 136*724ba675SRob Herring regulator-name = "LDO8"; 137*724ba675SRob Herring regulator-min-microvolt = <2300000>; 138*724ba675SRob Herring regulator-max-microvolt = <3300000>; 139*724ba675SRob Herring }; 140*724ba675SRob Herring 141*724ba675SRob Herring svcc: ldo11 { 142*724ba675SRob Herring regulator-name = "SVCC"; 143*724ba675SRob Herring regulator-min-microvolt = <2600000>; 144*724ba675SRob Herring regulator-max-microvolt = <3300000>; 145*724ba675SRob Herring regulator-always-on; 146*724ba675SRob Herring }; 147*724ba675SRob Herring 148*724ba675SRob Herring rtc_vdd: ldo12 { 149*724ba675SRob Herring regulator-name = "RTC_VDD"; 150*724ba675SRob Herring regulator-min-microvolt = <1800000>; 151*724ba675SRob Herring regulator-max-microvolt = <1800000>; 152*724ba675SRob Herring regulator-always-on; 153*724ba675SRob Herring }; 154*724ba675SRob Herring 155*724ba675SRob Herring sd_vcc: switchldo1 { 156*724ba675SRob Herring regulator-name = "SD_VCC"; 157*724ba675SRob Herring regulator-min-microvolt = <3000000>; 158*724ba675SRob Herring regulator-max-microvolt = <3300000>; 159*724ba675SRob Herring regulator-always-on; 160*724ba675SRob Herring regulator-boot-on; 161*724ba675SRob Herring }; 162*724ba675SRob Herring }; 163*724ba675SRob Herring }; 164*724ba675SRob Herring}; 165*724ba675SRob Herring 166*724ba675SRob Herring&i2c1 { 167*724ba675SRob Herring status = "disabled"; 168*724ba675SRob Herring pinctrl-names = "default"; 169*724ba675SRob Herring pinctrl-0 = <&i2c1_pins>; 170*724ba675SRob Herring}; 171*724ba675SRob Herring 172*724ba675SRob Herring&i2c2 { 173*724ba675SRob Herring status = "disabled"; 174*724ba675SRob Herring pinctrl-names = "default"; 175*724ba675SRob Herring pinctrl-0 = <&i2c2_pins>; 176*724ba675SRob Herring}; 177*724ba675SRob Herring 178*724ba675SRob Herring&pinctrl { 179*724ba675SRob Herring i2c0_pins: i2c0-pins { 180*724ba675SRob Herring pinmux { 181*724ba675SRob Herring groups = "i2c0_mfp"; 182*724ba675SRob Herring function = "i2c0"; 183*724ba675SRob Herring }; 184*724ba675SRob Herring 185*724ba675SRob Herring pinconf { 186*724ba675SRob Herring pins = "i2c0_sclk", "i2c0_sdata"; 187*724ba675SRob Herring bias-pull-up; 188*724ba675SRob Herring }; 189*724ba675SRob Herring }; 190*724ba675SRob Herring 191*724ba675SRob Herring i2c1_pins: i2c1-pins { 192*724ba675SRob Herring pinconf { 193*724ba675SRob Herring pins = "i2c1_sclk", "i2c1_sdata"; 194*724ba675SRob Herring bias-pull-up; 195*724ba675SRob Herring }; 196*724ba675SRob Herring }; 197*724ba675SRob Herring 198*724ba675SRob Herring i2c2_pins: i2c2-pins { 199*724ba675SRob Herring pinconf { 200*724ba675SRob Herring pins = "i2c2_sclk", "i2c2_sdata"; 201*724ba675SRob Herring bias-pull-up; 202*724ba675SRob Herring }; 203*724ba675SRob Herring }; 204*724ba675SRob Herring 205*724ba675SRob Herring mmc0_pins: mmc0-pins { 206*724ba675SRob Herring pinmux { 207*724ba675SRob Herring groups = "sd0_d0_mfp", "sd0_d1_mfp", "sd0_d2_d3_mfp", 208*724ba675SRob Herring "sd0_cmd_mfp", "sd0_clk_mfp"; 209*724ba675SRob Herring function = "sd0"; 210*724ba675SRob Herring }; 211*724ba675SRob Herring 212*724ba675SRob Herring drv-pinconf { 213*724ba675SRob Herring groups = "sd0_d0_d3_drv", "sd0_cmd_drv", "sd0_clk_drv"; 214*724ba675SRob Herring drive-strength = <8>; 215*724ba675SRob Herring }; 216*724ba675SRob Herring 217*724ba675SRob Herring bias0-pinconf { 218*724ba675SRob Herring pins = "sd0_d0", "sd0_d1", "sd0_d2", 219*724ba675SRob Herring "sd0_d3", "sd0_cmd"; 220*724ba675SRob Herring bias-pull-up; 221*724ba675SRob Herring }; 222*724ba675SRob Herring 223*724ba675SRob Herring bias1-pinconf { 224*724ba675SRob Herring pins = "sd0_clk"; 225*724ba675SRob Herring bias-pull-down; 226*724ba675SRob Herring }; 227*724ba675SRob Herring }; 228*724ba675SRob Herring 229*724ba675SRob Herring ethernet_pins: ethernet-pins { 230*724ba675SRob Herring eth_rmii-pinmux { 231*724ba675SRob Herring groups = "rmii_txd0_mfp", "rmii_txd1_mfp", 232*724ba675SRob Herring "rmii_rxd0_mfp", "rmii_rxd1_mfp", 233*724ba675SRob Herring "rmii_txen_mfp", "rmii_rxen_mfp", 234*724ba675SRob Herring "rmii_crs_dv_mfp", "rmii_ref_clk_mfp"; 235*724ba675SRob Herring function = "eth_rmii"; 236*724ba675SRob Herring }; 237*724ba675SRob Herring 238*724ba675SRob Herring phy_clk-pinmux { 239*724ba675SRob Herring groups = "clko_25m_mfp"; 240*724ba675SRob Herring function = "clko_25m"; 241*724ba675SRob Herring }; 242*724ba675SRob Herring 243*724ba675SRob Herring ref_clk-pinconf { 244*724ba675SRob Herring groups = "rmii_ref_clk_drv"; 245*724ba675SRob Herring drive-strength = <2>; 246*724ba675SRob Herring }; 247*724ba675SRob Herring 248*724ba675SRob Herring }; 249*724ba675SRob Herring}; 250*724ba675SRob Herring 251*724ba675SRob Herring/* uSD */ 252*724ba675SRob Herring&mmc0 { 253*724ba675SRob Herring status = "okay"; 254*724ba675SRob Herring pinctrl-names = "default"; 255*724ba675SRob Herring pinctrl-0 = <&mmc0_pins>; 256*724ba675SRob Herring no-sdio; 257*724ba675SRob Herring no-mmc; 258*724ba675SRob Herring no-1-8-v; 259*724ba675SRob Herring cd-gpios = <&pinctrl 117 GPIO_ACTIVE_LOW>; 260*724ba675SRob Herring bus-width = <4>; 261*724ba675SRob Herring vmmc-supply = <&sd_vcc>; 262*724ba675SRob Herring vqmmc-supply = <&sd_vcc>; 263*724ba675SRob Herring}; 264*724ba675SRob Herring 265*724ba675SRob Herringðernet { 266*724ba675SRob Herring pinctrl-names = "default"; 267*724ba675SRob Herring pinctrl-0 = <ðernet_pins>; 268*724ba675SRob Herring phy-mode = "rmii"; 269*724ba675SRob Herring phy-handle = <ð_phy>; 270*724ba675SRob Herring status = "okay"; 271*724ba675SRob Herring 272*724ba675SRob Herring mdio { 273*724ba675SRob Herring #address-cells = <1>; 274*724ba675SRob Herring #size-cells = <0>; 275*724ba675SRob Herring 276*724ba675SRob Herring reset-gpios = <&pinctrl 88 GPIO_ACTIVE_LOW>; /* GPIOC24 */ 277*724ba675SRob Herring reset-delay-us = <10000>; 278*724ba675SRob Herring reset-post-delay-us = <150000>; 279*724ba675SRob Herring 280*724ba675SRob Herring eth_phy: ethernet-phy@3 { 281*724ba675SRob Herring reg = <0x3>; 282*724ba675SRob Herring max-speed = <100>; 283*724ba675SRob Herring interrupt-parent = <&sirq>; 284*724ba675SRob Herring interrupts = <0 IRQ_TYPE_LEVEL_LOW>; 285*724ba675SRob Herring }; 286*724ba675SRob Herring }; 287*724ba675SRob Herring}; 288*724ba675SRob Herring 289*724ba675SRob Herring&twd_timer { 290*724ba675SRob Herring status = "okay"; 291*724ba675SRob Herring}; 292*724ba675SRob Herring 293*724ba675SRob Herring&timer { 294*724ba675SRob Herring clocks = <&hosc>; 295*724ba675SRob Herring}; 296*724ba675SRob Herring 297*724ba675SRob Herring&uart2 { 298*724ba675SRob Herring status = "okay"; 299*724ba675SRob Herring}; 300