1*c484cf93SQuentin Schulz// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2*c484cf93SQuentin Schulz/* 3*c484cf93SQuentin Schulz * Copyright (c) 2022 Theobroma Systems Design und Consulting GmbH 4*c484cf93SQuentin Schulz */ 5*c484cf93SQuentin Schulz 6*c484cf93SQuentin Schulz/dts-v1/; 7*c484cf93SQuentin Schulz#include "px30-ringneck.dtsi" 8*c484cf93SQuentin Schulz#include <dt-bindings/input/input.h> 9*c484cf93SQuentin Schulz#include <dt-bindings/leds/common.h> 10*c484cf93SQuentin Schulz 11*c484cf93SQuentin Schulz/ { 12*c484cf93SQuentin Schulz model = "Theobroma Systems PX30-uQ7 SoM on Haikou devkit"; 13*c484cf93SQuentin Schulz compatible = "tsd,px30-ringneck-haikou", "rockchip,px30"; 14*c484cf93SQuentin Schulz 15*c484cf93SQuentin Schulz aliases { 16*c484cf93SQuentin Schulz mmc2 = &sdmmc; 17*c484cf93SQuentin Schulz }; 18*c484cf93SQuentin Schulz 19*c484cf93SQuentin Schulz chosen { 20*c484cf93SQuentin Schulz stdout-path = "serial0:115200n8"; 21*c484cf93SQuentin Schulz }; 22*c484cf93SQuentin Schulz 23*c484cf93SQuentin Schulz gpio-keys { 24*c484cf93SQuentin Schulz compatible = "gpio-keys"; 25*c484cf93SQuentin Schulz pinctrl-0 = <&haikou_keys_pin>; 26*c484cf93SQuentin Schulz pinctrl-names = "default"; 27*c484cf93SQuentin Schulz 28*c484cf93SQuentin Schulz button-batlow-n { 29*c484cf93SQuentin Schulz label = "BATLOW#"; 30*c484cf93SQuentin Schulz linux,code = <KEY_BATTERY>; 31*c484cf93SQuentin Schulz gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>; 32*c484cf93SQuentin Schulz }; 33*c484cf93SQuentin Schulz 34*c484cf93SQuentin Schulz button-slp-btn-n { 35*c484cf93SQuentin Schulz label = "SLP_BTN#"; 36*c484cf93SQuentin Schulz linux,code = <KEY_SLEEP>; 37*c484cf93SQuentin Schulz gpios = <&gpio1 RK_PB7 GPIO_ACTIVE_LOW>; 38*c484cf93SQuentin Schulz }; 39*c484cf93SQuentin Schulz 40*c484cf93SQuentin Schulz button-wake-n { 41*c484cf93SQuentin Schulz label = "WAKE#"; 42*c484cf93SQuentin Schulz linux,code = <KEY_WAKEUP>; 43*c484cf93SQuentin Schulz gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_LOW>; 44*c484cf93SQuentin Schulz wakeup-source; 45*c484cf93SQuentin Schulz }; 46*c484cf93SQuentin Schulz 47*c484cf93SQuentin Schulz switch-lid-btn-n { 48*c484cf93SQuentin Schulz label = "LID_BTN#"; 49*c484cf93SQuentin Schulz linux,code = <SW_LID>; 50*c484cf93SQuentin Schulz linux,input-type = <EV_SW>; 51*c484cf93SQuentin Schulz gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; 52*c484cf93SQuentin Schulz }; 53*c484cf93SQuentin Schulz }; 54*c484cf93SQuentin Schulz 55*c484cf93SQuentin Schulz leds { 56*c484cf93SQuentin Schulz pinctrl-0 = <&module_led_pin>, <&sd_card_led_pin>; 57*c484cf93SQuentin Schulz 58*c484cf93SQuentin Schulz sd_card_led: led-1 { 59*c484cf93SQuentin Schulz gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>; 60*c484cf93SQuentin Schulz linux,default-trigger = "mmc2"; 61*c484cf93SQuentin Schulz function = LED_FUNCTION_SD; 62*c484cf93SQuentin Schulz color = <LED_COLOR_ID_BLUE>; 63*c484cf93SQuentin Schulz }; 64*c484cf93SQuentin Schulz }; 65*c484cf93SQuentin Schulz 66*c484cf93SQuentin Schulz i2s0-sound { 67*c484cf93SQuentin Schulz compatible = "simple-audio-card"; 68*c484cf93SQuentin Schulz simple-audio-card,format = "i2s"; 69*c484cf93SQuentin Schulz simple-audio-card,name = "Haikou,I2S-codec"; 70*c484cf93SQuentin Schulz simple-audio-card,mclk-fs = <512>; 71*c484cf93SQuentin Schulz 72*c484cf93SQuentin Schulz simple-audio-card,codec { 73*c484cf93SQuentin Schulz clocks = <&sgtl5000_clk>; 74*c484cf93SQuentin Schulz sound-dai = <&sgtl5000>; 75*c484cf93SQuentin Schulz }; 76*c484cf93SQuentin Schulz 77*c484cf93SQuentin Schulz simple-audio-card,cpu { 78*c484cf93SQuentin Schulz bitclock-master; 79*c484cf93SQuentin Schulz frame-master; 80*c484cf93SQuentin Schulz sound-dai = <&i2s0_8ch>; 81*c484cf93SQuentin Schulz }; 82*c484cf93SQuentin Schulz }; 83*c484cf93SQuentin Schulz 84*c484cf93SQuentin Schulz sgtl5000_clk: sgtl5000-oscillator { 85*c484cf93SQuentin Schulz compatible = "fixed-clock"; 86*c484cf93SQuentin Schulz #clock-cells = <0>; 87*c484cf93SQuentin Schulz clock-frequency = <24576000>; 88*c484cf93SQuentin Schulz }; 89*c484cf93SQuentin Schulz 90*c484cf93SQuentin Schulz dc_12v: dc-12v-regulator { 91*c484cf93SQuentin Schulz compatible = "regulator-fixed"; 92*c484cf93SQuentin Schulz regulator-name = "dc_12v"; 93*c484cf93SQuentin Schulz regulator-always-on; 94*c484cf93SQuentin Schulz regulator-boot-on; 95*c484cf93SQuentin Schulz regulator-min-microvolt = <12000000>; 96*c484cf93SQuentin Schulz regulator-max-microvolt = <12000000>; 97*c484cf93SQuentin Schulz }; 98*c484cf93SQuentin Schulz 99*c484cf93SQuentin Schulz vcc3v3_baseboard: vcc3v3-baseboard-regulator { 100*c484cf93SQuentin Schulz compatible = "regulator-fixed"; 101*c484cf93SQuentin Schulz regulator-name = "vcc3v3_baseboard"; 102*c484cf93SQuentin Schulz regulator-always-on; 103*c484cf93SQuentin Schulz regulator-boot-on; 104*c484cf93SQuentin Schulz regulator-min-microvolt = <3300000>; 105*c484cf93SQuentin Schulz regulator-max-microvolt = <3300000>; 106*c484cf93SQuentin Schulz vin-supply = <&dc_12v>; 107*c484cf93SQuentin Schulz }; 108*c484cf93SQuentin Schulz 109*c484cf93SQuentin Schulz vcc5v0_baseboard: vcc5v0-baseboard-regulator { 110*c484cf93SQuentin Schulz compatible = "regulator-fixed"; 111*c484cf93SQuentin Schulz regulator-name = "vcc5v0_baseboard"; 112*c484cf93SQuentin Schulz regulator-always-on; 113*c484cf93SQuentin Schulz regulator-boot-on; 114*c484cf93SQuentin Schulz regulator-min-microvolt = <5000000>; 115*c484cf93SQuentin Schulz regulator-max-microvolt = <5000000>; 116*c484cf93SQuentin Schulz vin-supply = <&dc_12v>; 117*c484cf93SQuentin Schulz }; 118*c484cf93SQuentin Schulz 119*c484cf93SQuentin Schulz vdda_codec: vdda-codec-regulator { 120*c484cf93SQuentin Schulz compatible = "regulator-fixed"; 121*c484cf93SQuentin Schulz regulator-name = "vdda_codec"; 122*c484cf93SQuentin Schulz regulator-boot-on; 123*c484cf93SQuentin Schulz regulator-min-microvolt = <3300000>; 124*c484cf93SQuentin Schulz regulator-max-microvolt = <3300000>; 125*c484cf93SQuentin Schulz vin-supply = <&vcc5v0_baseboard>; 126*c484cf93SQuentin Schulz }; 127*c484cf93SQuentin Schulz 128*c484cf93SQuentin Schulz vddd_codec: vddd-codec-regulator { 129*c484cf93SQuentin Schulz compatible = "regulator-fixed"; 130*c484cf93SQuentin Schulz regulator-name = "vddd_codec"; 131*c484cf93SQuentin Schulz regulator-boot-on; 132*c484cf93SQuentin Schulz regulator-min-microvolt = <1600000>; 133*c484cf93SQuentin Schulz regulator-max-microvolt = <1600000>; 134*c484cf93SQuentin Schulz vin-supply = <&vcc5v0_baseboard>; 135*c484cf93SQuentin Schulz }; 136*c484cf93SQuentin Schulz}; 137*c484cf93SQuentin Schulz 138*c484cf93SQuentin Schulz&i2c2 { 139*c484cf93SQuentin Schulz status = "okay"; 140*c484cf93SQuentin Schulz clock-frequency = <400000>; 141*c484cf93SQuentin Schulz 142*c484cf93SQuentin Schulz sgtl5000: codec@a { 143*c484cf93SQuentin Schulz compatible = "fsl,sgtl5000"; 144*c484cf93SQuentin Schulz reg = <0x0a>; 145*c484cf93SQuentin Schulz clocks = <&sgtl5000_clk>; 146*c484cf93SQuentin Schulz #sound-dai-cells = <0>; 147*c484cf93SQuentin Schulz VDDA-supply = <&vdda_codec>; 148*c484cf93SQuentin Schulz VDDIO-supply = <&vcc3v3_baseboard>; 149*c484cf93SQuentin Schulz VDDD-supply = <&vddd_codec>; 150*c484cf93SQuentin Schulz }; 151*c484cf93SQuentin Schulz}; 152*c484cf93SQuentin Schulz 153*c484cf93SQuentin Schulz&i2c3 { 154*c484cf93SQuentin Schulz eeprom@50 { 155*c484cf93SQuentin Schulz reg = <0x50>; 156*c484cf93SQuentin Schulz compatible = "atmel,24c01"; 157*c484cf93SQuentin Schulz pagesize = <8>; 158*c484cf93SQuentin Schulz size = <128>; 159*c484cf93SQuentin Schulz vcc-supply = <&vcc3v3_baseboard>; 160*c484cf93SQuentin Schulz }; 161*c484cf93SQuentin Schulz}; 162*c484cf93SQuentin Schulz 163*c484cf93SQuentin Schulz&i2s0_8ch { 164*c484cf93SQuentin Schulz status = "okay"; 165*c484cf93SQuentin Schulz}; 166*c484cf93SQuentin Schulz 167*c484cf93SQuentin Schulz&gmac { 168*c484cf93SQuentin Schulz status = "okay"; 169*c484cf93SQuentin Schulz}; 170*c484cf93SQuentin Schulz 171*c484cf93SQuentin Schulz&pinctrl { 172*c484cf93SQuentin Schulz haikou { 173*c484cf93SQuentin Schulz haikou_keys_pin: haikou-keys-pin { 174*c484cf93SQuentin Schulz rockchip,pins = 175*c484cf93SQuentin Schulz /* WAKE# */ 176*c484cf93SQuentin Schulz <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_up>, 177*c484cf93SQuentin Schulz /* SLP_BTN# */ 178*c484cf93SQuentin Schulz <1 RK_PB7 RK_FUNC_GPIO &pcfg_pull_up>, 179*c484cf93SQuentin Schulz /* LID_BTN */ 180*c484cf93SQuentin Schulz <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>, 181*c484cf93SQuentin Schulz /* BATLOW# */ 182*c484cf93SQuentin Schulz <3 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>, 183*c484cf93SQuentin Schulz /* BIOS_DISABLE# */ 184*c484cf93SQuentin Schulz <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_up>; 185*c484cf93SQuentin Schulz }; 186*c484cf93SQuentin Schulz }; 187*c484cf93SQuentin Schulz 188*c484cf93SQuentin Schulz leds { 189*c484cf93SQuentin Schulz sd_card_led_pin: sd-card-led-pin { 190*c484cf93SQuentin Schulz rockchip,pins = 191*c484cf93SQuentin Schulz <3 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>; 192*c484cf93SQuentin Schulz }; 193*c484cf93SQuentin Schulz }; 194*c484cf93SQuentin Schulz}; 195*c484cf93SQuentin Schulz 196*c484cf93SQuentin Schulz&pwm0 { 197*c484cf93SQuentin Schulz status = "okay"; 198*c484cf93SQuentin Schulz}; 199*c484cf93SQuentin Schulz 200*c484cf93SQuentin Schulz&sdmmc { 201*c484cf93SQuentin Schulz sd-uhs-sdr12; 202*c484cf93SQuentin Schulz sd-uhs-sdr25; 203*c484cf93SQuentin Schulz sd-uhs-sdr50; 204*c484cf93SQuentin Schulz bus-width = <4>; 205*c484cf93SQuentin Schulz cap-mmc-highspeed; 206*c484cf93SQuentin Schulz cap-sd-highspeed; 207*c484cf93SQuentin Schulz cd-gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_LOW>; 208*c484cf93SQuentin Schulz disable-wp; 209*c484cf93SQuentin Schulz vmmc-supply = <&vcc3v3_baseboard>; 210*c484cf93SQuentin Schulz status = "okay"; 211*c484cf93SQuentin Schulz}; 212*c484cf93SQuentin Schulz 213*c484cf93SQuentin Schulz&spi1 { 214*c484cf93SQuentin Schulz status = "okay"; 215*c484cf93SQuentin Schulz}; 216*c484cf93SQuentin Schulz 217*c484cf93SQuentin Schulz&u2phy_otg { 218*c484cf93SQuentin Schulz status = "okay"; 219*c484cf93SQuentin Schulz}; 220*c484cf93SQuentin Schulz 221*c484cf93SQuentin Schulz&uart0 { 222*c484cf93SQuentin Schulz status = "okay"; 223*c484cf93SQuentin Schulz}; 224*c484cf93SQuentin Schulz 225*c484cf93SQuentin Schulz&uart5 { 226*c484cf93SQuentin Schulz pinctrl-0 = <&uart5_xfer>; 227*c484cf93SQuentin Schulz status = "okay"; 228*c484cf93SQuentin Schulz}; 229*c484cf93SQuentin Schulz 230*c484cf93SQuentin Schulz&usb20_otg { 231*c484cf93SQuentin Schulz status = "okay"; 232*c484cf93SQuentin Schulz}; 233