1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd 4 */ 5 6/dts-v1/; 7#include "rk3399-roc-pc.dtsi" 8 9/* 10 * Notice: 11 * 1. rk3399-roc-pc-plus is powered by dc_12v directly. 12 * 2. rk3399-roc-pc-plus has only vcc_bus_typec0 in schematic, which is coresponding 13 * to vcc_vbus_typec1 in rk3399-roc-pc. 14 * For simplicity, reserve the node name of vcc_vbus_typec1. 15 * 3. vcc5v0_host is actually 2 regulators (host0, 1) controlled by the same gpio. 16 */ 17 18/delete-node/ &fusb1; 19/delete-node/ &hub_rst; 20/delete-node/ &mp8859; 21/delete-node/ &vcc_sys_en; 22/delete-node/ &vcc_vbus_typec0; 23/delete-node/ &yellow_led; 24 25/ { 26 model = "Firefly ROC-RK3399-PC-PLUS Board"; 27 compatible = "firefly,roc-rk3399-pc-plus", "rockchip,rk3399"; 28 29 dc_12v: dc-12v { 30 compatible = "regulator-fixed"; 31 regulator-name = "dc_12v"; 32 regulator-always-on; 33 regulator-boot-on; 34 regulator-min-microvolt = <12000000>; 35 regulator-max-microvolt = <12000000>; 36 }; 37 38 es8388-sound { 39 compatible = "simple-audio-card"; 40 pinctrl-names = "default"; 41 pinctrl-0 = <&hp_det_pin>; 42 simple-audio-card,name = "rockchip,es8388-codec"; 43 simple-audio-card,format = "i2s"; 44 simple-audio-card,mclk-fs = <256>; 45 simple-audio-card,widgets = 46 "Microphone", "Mic Jack", 47 "Headphone", "Headphones"; 48 simple-audio-card,routing = 49 "LINPUT1", "Mic Jack", 50 "Headphone Amp INL", "LOUT2", 51 "Headphone Amp INR", "ROUT2", 52 "Headphones", "Headphone Amp OUTL", 53 "Headphones", "Headphone Amp OUTR"; 54 simple-audio-card,hp-det-gpio = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>; 55 simple-audio-card,aux-devs = <&headphones_amp>; 56 simple-audio-card,pin-switches = "Headphones"; 57 58 simple-audio-card,codec { 59 sound-dai = <&es8388>; 60 }; 61 62 simple-audio-card,cpu { 63 sound-dai = <&i2s1>; 64 }; 65 }; 66 67 gpio-fan { 68 #cooling-cells = <2>; 69 compatible = "gpio-fan"; 70 gpio-fan,speed-map = <0 0 3000 1>; 71 gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>; 72 }; 73 74 /delete-node/ gpio-keys; 75 76 /* not amplifier, used as switcher only */ 77 headphones_amp: headphones-amp { 78 compatible = "simple-audio-amplifier"; 79 pinctrl-names = "default"; 80 pinctrl-0 = <&ear_ctl_pin>; 81 enable-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 82 sound-name-prefix = "Headphone Amp"; 83 VCC-supply = <&vcca3v0_codec>; 84 }; 85 86 ir-receiver { 87 linux,rc-map-name = "rc-khadas"; 88 }; 89 90 leds { 91 pinctrl-names = "default"; 92 pinctrl-0 = <&work_led_pin>, <&diy_led_pin>; 93 }; 94}; 95 96&fusb0 { 97 vbus-supply = <&vcc_vbus_typec1>; 98}; 99 100&i2c0 { 101 hym8563: hym8563@51 { 102 compatible = "haoyu,hym8563"; 103 reg = <0x51>; 104 interrupt-parent = <&gpio0>; 105 interrupts = <RK_PA5 IRQ_TYPE_EDGE_FALLING>; 106 #clock-cells = <0>; 107 clock-frequency = <32768>; 108 clock-output-names = "xin32k"; 109 pinctrl-names = "default"; 110 pinctrl-0 = <&hym8563_int>; 111 }; 112}; 113 114&i2c1 { 115 es8388: es8388@11 { 116 compatible = "everest,es8388"; 117 reg = <0x11>; 118 clock-names = "mclk"; 119 clocks = <&cru SCLK_I2S_8CH_OUT>; 120 #sound-dai-cells = <0>; 121 }; 122}; 123 124/* <4 RK_PA0 1 &pcfg_pull_none> is used as i2s_8ch_mclk_pin */ 125&i2s0_8ch_bus { 126 rockchip,pins = 127 <3 RK_PD0 1 &pcfg_pull_none>, 128 <3 RK_PD1 1 &pcfg_pull_none>, 129 <3 RK_PD2 1 &pcfg_pull_none>, 130 <3 RK_PD3 1 &pcfg_pull_none>, 131 <3 RK_PD4 1 &pcfg_pull_none>, 132 <3 RK_PD5 1 &pcfg_pull_none>, 133 <3 RK_PD6 1 &pcfg_pull_none>, 134 <3 RK_PD7 1 &pcfg_pull_none>; 135}; 136 137&i2s1 { 138 pinctrl-names = "default"; 139 pinctrl-0 = <&i2s_8ch_mclk_pin>, <&i2s1_2ch_bus>; 140 rockchip,playback-channels = <2>; 141 rockchip,capture-channels = <2>; 142 status = "okay"; 143}; 144 145&pinctrl { 146 es8388 { 147 ear_ctl_pin: ear-ctl-pin { 148 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_output_high>; 149 }; 150 151 hp_det_pin: hp-det-pin { 152 rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_down>; 153 }; 154 }; 155 156 hym8563 { 157 hym8563_int: hym8563-int { 158 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 159 }; 160 }; 161 162 i2s1 { 163 i2s_8ch_mclk_pin: i2s-8ch-mclk-pin { 164 rockchip,pins = <4 RK_PA0 1 &pcfg_pull_none>; 165 }; 166 }; 167}; 168 169&u2phy0 { 170 status = "okay"; 171 172 u2phy0_otg: otg-port { 173 phy-supply = <&vcc_vbus_typec1>; 174 status = "okay"; 175 }; 176 177 u2phy0_host: host-port { 178 phy-supply = <&vcc5v0_host>; 179 status = "okay"; 180 }; 181}; 182 183&u2phy1 { 184 status = "okay"; 185 186 u2phy1_otg: otg-port { 187 phy-supply = <&vcc5v0_host>; 188 status = "okay"; 189 }; 190 191 u2phy1_host: host-port { 192 phy-supply = <&vcc5v0_host>; 193 status = "okay"; 194 }; 195}; 196 197&uart0 { 198 pinctrl-names = "default"; 199 pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>; 200 status = "okay"; 201}; 202 203&usbdrd_dwc3_0 { 204 dr_mode = "host"; 205 status = "okay"; 206}; 207 208&vcc_sys { 209 /* vcc_sys is fixed, not controlled by any gpio */ 210 /delete-property/ gpio; 211 /delete-property/ pinctrl-names; 212 /delete-property/ pinctrl-0; 213}; 214 215&vcc5v0_host { 216 pinctrl-names = "default"; 217 pinctrl-0 = <&vcc5v0_host_en>; 218}; 219