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