1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 3/dts-v1/; 4 5#include <dt-bindings/input/input.h> 6#include <dt-bindings/leds/common.h> 7#include <dt-bindings/pwm/pwm.h> 8#include "rk3528.dtsi" 9 10/ { 11 model = "ArmSoM Sige1"; 12 compatible = "armsom,sige1", "rockchip,rk3528"; 13 14 aliases { 15 ethernet0 = &gmac1; 16 i2c0 = &i2c0; 17 mmc0 = &sdhci; 18 mmc1 = &sdmmc; 19 mmc2 = &sdio0; 20 serial0 = &uart0; 21 serial2 = &uart2; 22 }; 23 24 chosen { 25 stdout-path = "serial0:1500000n8"; 26 }; 27 28 adc-keys { 29 compatible = "adc-keys"; 30 io-channels = <&saradc 0>; 31 io-channel-names = "buttons"; 32 keyup-threshold-microvolt = <1800000>; 33 poll-interval = <100>; 34 35 button-maskrom { 36 label = "MASKROM"; 37 linux,code = <KEY_SETUP>; 38 press-threshold-microvolt = <0>; 39 }; 40 }; 41 42 leds { 43 compatible = "gpio-leds"; 44 pinctrl-names = "default"; 45 pinctrl-0 = <&g_led>, <&r_led>; 46 47 led-0 { 48 color = <LED_COLOR_ID_GREEN>; 49 default-state = "on"; 50 function = LED_FUNCTION_HEARTBEAT; 51 gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>; 52 linux,default-trigger = "heartbeat"; 53 }; 54 55 led-1 { 56 color = <LED_COLOR_ID_RED>; 57 default-state = "on"; 58 function = LED_FUNCTION_STATUS; 59 gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>; 60 linux,default-trigger = "default-on"; 61 }; 62 }; 63 64 vcc0v6_ddr: regulator-0v6-vcc-ddr { 65 compatible = "regulator-fixed"; 66 regulator-name = "vcc0v6_ddr"; 67 regulator-always-on; 68 regulator-boot-on; 69 regulator-min-microvolt = <600000>; 70 regulator-max-microvolt = <600000>; 71 vin-supply = <&vcc5v0_sys>; 72 }; 73 74 vdd_0v9: regulator-0v9-vdd { 75 compatible = "regulator-fixed"; 76 regulator-name = "vdd_0v9"; 77 regulator-always-on; 78 regulator-boot-on; 79 regulator-min-microvolt = <900000>; 80 regulator-max-microvolt = <900000>; 81 vin-supply = <&vcc5v0_sys>; 82 }; 83 84 vcc_ddr: regulator-1v1-vcc-ddr { 85 compatible = "regulator-fixed"; 86 regulator-name = "vcc_ddr"; 87 regulator-always-on; 88 regulator-boot-on; 89 regulator-min-microvolt = <1100000>; 90 regulator-max-microvolt = <1100000>; 91 vin-supply = <&vcc5v0_sys>; 92 }; 93 94 vcc_1v8: regulator-1v8-vcc { 95 compatible = "regulator-fixed"; 96 regulator-name = "vcc_1v8"; 97 regulator-always-on; 98 regulator-boot-on; 99 regulator-min-microvolt = <1800000>; 100 regulator-max-microvolt = <1800000>; 101 vin-supply = <&vcc_3v3>; 102 }; 103 104 vcc1v8_ddr: regulator-1v8-vcc-ddr { 105 compatible = "regulator-fixed"; 106 regulator-name = "vcc1v8_ddr"; 107 regulator-always-on; 108 regulator-boot-on; 109 regulator-min-microvolt = <1800000>; 110 regulator-max-microvolt = <1800000>; 111 vin-supply = <&vcc5v0_sys>; 112 }; 113 114 vcc_3v3: regulator-3v3-vcc { 115 compatible = "regulator-fixed"; 116 regulator-name = "vcc_3v3"; 117 regulator-always-on; 118 regulator-boot-on; 119 regulator-min-microvolt = <3300000>; 120 regulator-max-microvolt = <3300000>; 121 vin-supply = <&vcc_dcin>; 122 }; 123 124 vcc3v3_sd: regulator-3v3-vcc-sd { 125 compatible = "regulator-fixed"; 126 gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>; 127 pinctrl-names = "default"; 128 pinctrl-0 = <&sdmmc_pwren_l>; 129 regulator-name = "vcc3v3_sd"; 130 regulator-min-microvolt = <3300000>; 131 regulator-max-microvolt = <3300000>; 132 vin-supply = <&vcc_3v3>; 133 }; 134 135 vcc5v0_sys: regulator-5v0-vcc-sys { 136 compatible = "regulator-fixed"; 137 regulator-name = "vcc5v0_sys"; 138 regulator-always-on; 139 regulator-boot-on; 140 regulator-min-microvolt = <5000000>; 141 regulator-max-microvolt = <5000000>; 142 vin-supply = <&vcc_dcin>; 143 }; 144 145 vcc5v0_usb1_host: regulator-5v0-vcc-usb1-host { 146 compatible = "regulator-fixed"; 147 enable-active-high; 148 gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_HIGH>; 149 pinctrl-names = "default"; 150 pinctrl-0 = <&usb20_host1_drv_h>; 151 regulator-name = "vcc5v0_usb1_host"; 152 regulator-always-on; 153 regulator-min-microvolt = <5000000>; 154 regulator-max-microvolt = <5000000>; 155 vin-supply = <&vcc5v0_sys>; 156 }; 157 158 vcc5v0_usb2_host: regulator-5v0-vcc-usb2-host { 159 compatible = "regulator-fixed"; 160 enable-active-high; 161 gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>; 162 pinctrl-names = "default"; 163 pinctrl-0 = <&usb20_host2_drv_h>; 164 regulator-name = "vcc5v0_usb2_host"; 165 regulator-always-on; 166 regulator-min-microvolt = <5000000>; 167 regulator-max-microvolt = <5000000>; 168 vin-supply = <&vcc5v0_sys>; 169 }; 170 171 vcc5v0_usb_otg: regulator-5v0-vcc-usb-otg { 172 compatible = "regulator-fixed"; 173 enable-active-high; 174 gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>; 175 pinctrl-names = "default"; 176 pinctrl-0 = <&usb20_otg0_drv_h>; 177 regulator-name = "vcc5v0_usb_otg"; 178 regulator-min-microvolt = <5000000>; 179 regulator-max-microvolt = <5000000>; 180 vin-supply = <&vcc5v0_sys>; 181 }; 182 183 vcc_dcin: regulator-vcc-dcin { 184 compatible = "regulator-fixed"; 185 regulator-name = "vcc_dcin"; 186 regulator-always-on; 187 regulator-boot-on; 188 }; 189 190 vccio_sd: regulator-vccio-sd { 191 compatible = "regulator-gpio"; 192 gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_LOW>; 193 pinctrl-names = "default"; 194 pinctrl-0 = <&sdmmc_vol_ctrl_h>; 195 regulator-name = "vccio_sd"; 196 regulator-min-microvolt = <1800000>; 197 regulator-max-microvolt = <3300000>; 198 states = <1800000 0x0>, <3300000 0x1>; 199 vin-supply = <&vcc5v0_sys>; 200 }; 201 202 vdd_arm: regulator-vdd-arm { 203 compatible = "pwm-regulator"; 204 pwms = <&pwm3 0 5000 PWM_POLARITY_INVERTED>; 205 pwm-supply = <&vcc5v0_sys>; 206 regulator-name = "vdd_arm"; 207 regulator-always-on; 208 regulator-boot-on; 209 regulator-min-microvolt = <746000>; 210 regulator-max-microvolt = <1201000>; 211 regulator-settling-time-up-us = <250>; 212 }; 213 214 vdd_logic: regulator-vdd-logic { 215 compatible = "pwm-regulator"; 216 pwms = <&pwm2 0 5000 PWM_POLARITY_INVERTED>; 217 pwm-supply = <&vcc5v0_sys>; 218 regulator-name = "vdd_logic"; 219 regulator-always-on; 220 regulator-boot-on; 221 regulator-min-microvolt = <705000>; 222 regulator-max-microvolt = <1006000>; 223 regulator-settling-time-up-us = <250>; 224 }; 225 226 sdio_pwrseq: sdio-pwrseq { 227 compatible = "mmc-pwrseq-simple"; 228 pinctrl-names = "default"; 229 pinctrl-0 = <&wifi_reg_on_h>, <&clkm1_32k_out>; 230 post-power-on-delay-ms = <200>; 231 reset-gpios = <&gpio1 RK_PA6 GPIO_ACTIVE_LOW>; 232 }; 233}; 234 235&combphy { 236 status = "okay"; 237}; 238 239&cpu0 { 240 cpu-supply = <&vdd_arm>; 241}; 242 243&cpu1 { 244 cpu-supply = <&vdd_arm>; 245}; 246 247&cpu2 { 248 cpu-supply = <&vdd_arm>; 249}; 250 251&cpu3 { 252 cpu-supply = <&vdd_arm>; 253}; 254 255&gmac1 { 256 clock_in_out = "output"; 257 phy-handle = <&rgmii_phy>; 258 phy-mode = "rgmii-id"; 259 phy-supply = <&vcc_3v3>; 260 pinctrl-names = "default"; 261 pinctrl-0 = <&rgmii_miim>, <&rgmii_tx_bus2>, <&rgmii_rx_bus2>, 262 <&rgmii_rgmii_clk>, <&rgmii_rgmii_bus>; 263 status = "okay"; 264}; 265 266&gpu { 267 mali-supply = <&vdd_logic>; 268 status = "okay"; 269}; 270 271&i2c0 { 272 pinctrl-names = "default"; 273 pinctrl-0 = <&i2c0m0_xfer>; 274 status = "okay"; 275 276 hym8563: rtc@51 { 277 compatible = "haoyu,hym8563"; 278 reg = <0x51>; 279 #clock-cells = <0>; 280 interrupt-parent = <&gpio4>; 281 interrupts = <RK_PA0 IRQ_TYPE_LEVEL_LOW>; 282 pinctrl-names = "default"; 283 pinctrl-0 = <&rtc_int_l>; 284 wakeup-source; 285 }; 286}; 287 288&mdio1 { 289 rgmii_phy: ethernet-phy@1 { 290 compatible = "ethernet-phy-ieee802.3-c22"; 291 reg = <0x1>; 292 pinctrl-names = "default"; 293 pinctrl-0 = <&gmac1_rstn_l>; 294 reset-assert-us = <20000>; 295 reset-deassert-us = <100000>; 296 reset-gpios = <&gpio4 RK_PB5 GPIO_ACTIVE_LOW>; 297 }; 298}; 299 300&pcie { 301 pinctrl-names = "default"; 302 pinctrl-0 = <&pcie20_perstn>; 303 reset-gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>; 304 vpcie3v3-supply = <&vcc_3v3>; 305 status = "okay"; 306}; 307 308&pinctrl { 309 bluetooth { 310 bt_reg_on_h: bt-reg-on-h { 311 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; 312 }; 313 314 bt_wake_host_h: bt-wake-host-h { 315 rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 316 }; 317 318 host_wake_bt_h: host-wake-bt-h { 319 rockchip,pins = <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; 320 }; 321 }; 322 323 ethernet { 324 gmac1_rstn_l: gmac1-rstn-l { 325 rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 326 }; 327 }; 328 329 leds { 330 g_led: g-led { 331 rockchip,pins = <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 332 }; 333 334 r_led: r-led { 335 rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 336 }; 337 }; 338 339 pcie { 340 pcie20_perstn: pcie20-perstn { 341 rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>; 342 }; 343 }; 344 345 rtc { 346 rtc_int_l: rtc-int-l { 347 rockchip,pins = <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; 348 }; 349 }; 350 351 sdmmc { 352 sdmmc_vol_ctrl_h: sdmmc-vol-ctrl-h { 353 rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>; 354 }; 355 356 sdmmc_pwren_l: sdmmc-pwren-l { 357 rockchip,pins = <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>; 358 }; 359 }; 360 361 usb { 362 usb20_host1_drv_h: usb20-host1-drv-h { 363 rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; 364 }; 365 366 usb20_host2_drv_h: usb20-host2-drv-h { 367 rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>; 368 }; 369 370 usb20_otg0_drv_h: usb20-otg0-drv-h { 371 rockchip,pins = <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>; 372 }; 373 }; 374 375 wifi { 376 wifi_reg_on_h: wifi-reg-on-h { 377 rockchip,pins = <1 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 378 }; 379 380 wifi_wake_host_h: wifi-wake-host-h { 381 rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_down>; 382 }; 383 }; 384}; 385 386&pwm2 { 387 pinctrl-names = "default"; 388 pinctrl-0 = <&pwm2m0_pins>; 389 status = "okay"; 390}; 391 392&pwm3 { 393 pinctrl-names = "default"; 394 pinctrl-0 = <&pwm3m0_pins>; 395 status = "okay"; 396}; 397 398&saradc { 399 vref-supply = <&vcc_1v8>; 400 status = "okay"; 401}; 402 403&sdhci { 404 bus-width = <8>; 405 cap-mmc-highspeed; 406 mmc-hs200-1_8v; 407 no-sd; 408 no-sdio; 409 non-removable; 410 vmmc-supply = <&vcc_3v3>; 411 vqmmc-supply = <&vcc_1v8>; 412 status = "okay"; 413}; 414 415&sdio0 { 416 bus-width = <4>; 417 cap-sd-highspeed; 418 cap-sdio-irq; 419 keep-power-in-suspend; 420 mmc-pwrseq = <&sdio_pwrseq>; 421 no-mmc; 422 no-sd; 423 non-removable; 424 sd-uhs-sdr104; 425 vmmc-supply = <&vcc_3v3>; 426 vqmmc-supply = <&vcc_1v8>; 427 #address-cells = <1>; 428 #size-cells = <0>; 429 status = "okay"; 430 431 wifi@1 { 432 compatible = "brcm,bcm4329-fmac"; 433 reg = <1>; 434 clocks = <&cru CLK_DEEPSLOW>; 435 clock-names = "lpo"; 436 interrupt-parent = <&gpio1>; 437 interrupts = <RK_PA7 IRQ_TYPE_LEVEL_HIGH>; 438 interrupt-names = "host-wake"; 439 pinctrl-names = "default"; 440 pinctrl-0 = <&wifi_wake_host_h>; 441 }; 442}; 443 444&sdmmc { 445 bus-width = <4>; 446 cap-mmc-highspeed; 447 cap-sd-highspeed; 448 disable-wp; 449 sd-uhs-sdr104; 450 vmmc-supply = <&vcc3v3_sd>; 451 vqmmc-supply = <&vccio_sd>; 452 status = "okay"; 453}; 454 455&uart0 { 456 pinctrl-names = "default"; 457 pinctrl-0 = <&uart0m0_xfer>; 458 status = "okay"; 459}; 460 461&uart2 { 462 dma-names = "tx", "rx"; 463 pinctrl-names = "default"; 464 pinctrl-0 = <&uart2m1_xfer>, <&uart2m1_ctsn>, <&uart2m1_rtsn>; 465 uart-has-rtscts; 466 status = "okay"; 467 468 bluetooth { 469 compatible = "brcm,bcm43438-bt"; 470 clocks = <&cru CLK_DEEPSLOW>; 471 clock-names = "lpo"; 472 device-wakeup-gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_HIGH>; 473 interrupt-parent = <&gpio1>; 474 interrupts = <RK_PC2 IRQ_TYPE_LEVEL_HIGH>; 475 interrupt-names = "host-wakeup"; 476 pinctrl-names = "default"; 477 pinctrl-0 = <&bt_reg_on_h>, <&bt_wake_host_h>, <&host_wake_bt_h>; 478 shutdown-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>; 479 vbat-supply = <&vcc_3v3>; 480 vddio-supply = <&vcc_1v8>; 481 }; 482}; 483