1// SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2/* 3 * Copyright (c) 2024 Rockchip Electronics Co., Ltd. 4 * 5 */ 6 7/dts-v1/; 8 9#include <dt-bindings/leds/common.h> 10#include "rk3588-coolpi-cm5.dtsi" 11 12/ { 13 model = "CoolPi CM5 GenBook"; 14 compatible = "coolpi,pi-cm5-genbook", "coolpi,pi-cm5", "rockchip,rk3588"; 15 16 backlight: backlight { 17 compatible = "pwm-backlight"; 18 enable-gpios = <&gpio4 RK_PA3 GPIO_ACTIVE_HIGH>; 19 pinctrl-names = "default"; 20 pinctrl-0 = <&bl_en>; 21 power-supply = <&vcc12v_dcin>; 22 pwms = <&pwm6 0 25000 0>; 23 }; 24 25 battery: battery { 26 compatible = "simple-battery"; 27 charge-full-design-microamp-hours = <9800000>; 28 voltage-max-design-microvolt = <4350000>; 29 voltage-min-design-microvolt = <3000000>; 30 }; 31 32 charger: dc-charger { 33 compatible = "gpio-charger"; 34 charger-type = "mains"; 35 gpios = <&gpio1 RK_PC0 GPIO_ACTIVE_LOW>; 36 }; 37 38 leds: leds { 39 compatible = "gpio-leds"; 40 41 heartbeat_led: led-0 { 42 color = <LED_COLOR_ID_GREEN>; 43 function = LED_FUNCTION_STATUS; 44 gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>; 45 linux,default-trigger = "heartbeat"; 46 }; 47 48 wlan_led: led-1 { 49 color = <LED_COLOR_ID_GREEN>; 50 function = LED_FUNCTION_WLAN; 51 gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; 52 }; 53 54 charging_red: led-2 { 55 function = LED_FUNCTION_CHARGING; 56 color = <LED_COLOR_ID_RED>; 57 gpios = <&gpio3 RK_PD2 GPIO_ACTIVE_HIGH>; 58 }; 59 }; 60 61 vcc12v_dcin: vcc12v-dcin-regulator { 62 compatible = "regulator-fixed"; 63 regulator-name = "vcc12v_dcin"; 64 regulator-always-on; 65 regulator-boot-on; 66 regulator-min-microvolt = <12000000>; 67 regulator-max-microvolt = <12000000>; 68 }; 69 70 vcc_sys: vcc-sys-regulator { 71 compatible = "regulator-fixed"; 72 regulator-name = "vcc_sys"; 73 regulator-always-on; 74 regulator-boot-on; 75 regulator-min-microvolt = <7000000>; 76 regulator-max-microvolt = <7000000>; 77 vin-supply = <&vcc12v_dcin>; 78 }; 79 80 vcc5v0_sys: vcc5v0-sys-regulator { 81 compatible = "regulator-fixed"; 82 regulator-name = "vcc5v0_sys"; 83 regulator-always-on; 84 regulator-boot-on; 85 regulator-min-microvolt = <7000000>; 86 regulator-max-microvolt = <7000000>; 87 vin-supply = <&vcc_sys>; 88 }; 89 90 vcc3v3_sys: vcc3v3-sys-regulator { 91 compatible = "regulator-fixed"; 92 regulator-name = "vcc3v3_sys"; 93 regulator-always-on; 94 regulator-boot-on; 95 regulator-min-microvolt = <3300000>; 96 regulator-max-microvolt = <3300000>; 97 vin-supply = <&vcc5v0_sys>; 98 }; 99 100 vcc3v3_lcd: vcc3v3-lcd-regulator { 101 compatible = "regulator-fixed"; 102 regulator-name = "vcc3v3_lcd"; 103 enable-active-high; 104 gpio = <&gpio1 RK_PC4 GPIO_ACTIVE_HIGH>; 105 pinctrl-names = "default"; 106 pinctrl-0 = <&lcdpwr_en>; 107 vin-supply = <&vcc3v3_sys>; 108 }; 109 110 vcc5v0_usb: vcc5v0-usb-regulator { 111 compatible = "regulator-fixed"; 112 regulator-name = "vcc5v0_usb"; 113 regulator-boot-on; 114 regulator-always-on; 115 enable-active-high; 116 regulator-min-microvolt = <5000000>; 117 regulator-max-microvolt = <5000000>; 118 gpio = <&gpio1 RK_PD5 GPIO_ACTIVE_HIGH>; 119 pinctrl-names = "default"; 120 pinctrl-0 = <&usb_pwren>; 121 vin-supply = <&vcc_sys>; 122 }; 123 124 vcc5v0_usb_host0: vcc5v0_usb30_host: vcc5v0-usb-host-regulator { 125 compatible = "regulator-fixed"; 126 regulator-name = "vcc5v0_host"; 127 regulator-boot-on; 128 regulator-always-on; 129 enable-active-high; 130 regulator-min-microvolt = <5000000>; 131 regulator-max-microvolt = <5000000>; 132 gpio = <&gpio1 RK_PA7 GPIO_ACTIVE_HIGH>; 133 pinctrl-names = "default"; 134 pinctrl-0 = <&usb_host_pwren>; 135 vin-supply = <&vcc5v0_usb>; 136 }; 137}; 138 139&i2c4 { 140 status = "okay"; 141 pinctrl-names = "default"; 142 pinctrl-0 = <&i2c4m3_xfer>; 143 144 cw2015@62 { 145 compatible = "cellwise,cw2015"; 146 reg = <0x62>; 147 148 cellwise,battery-profile = /bits/ 8 < 149 0x17 0x67 0x69 0x63 0x63 0x62 0x62 0x5F 150 0x52 0x73 0x4C 0x5A 0x5B 0x4B 0x42 0x3A 151 0x33 0x2D 0x29 0x28 0x2E 0x31 0x3C 0x49 152 0x2C 0x2C 0x0C 0xCD 0x30 0x51 0x50 0x66 153 0x74 0x74 0x75 0x78 0x41 0x1B 0x84 0x5F 154 0x0B 0x34 0x1C 0x45 0x89 0x92 0xA0 0x13 155 0x2C 0x55 0xAB 0xCB 0x80 0x5E 0x7B 0xCB 156 0x2F 0x00 0x64 0xA5 0xB5 0x10 0x18 0x21 157 >; 158 159 cellwise,monitor-interval-ms = <3000>; 160 monitored-battery = <&battery>; 161 power-supplies = <&charger>; 162 }; 163}; 164 165&i2c5 { 166 status = "okay"; 167 pinctrl-names = "default"; 168 pinctrl-0 = <&i2c5m3_xfer>; 169 170 touchpad: touchpad@2c { 171 compatible = "hid-over-i2c"; 172 reg = <0x2c>; 173 interrupt-parent = <&gpio1>; 174 interrupts = <RK_PD6 IRQ_TYPE_LEVEL_LOW>; 175 hid-descr-addr = <0x0020>; 176 }; 177}; 178 179&gmac0 { 180 status = "disabled"; 181}; 182 183/* M.2 E-Key */ 184&pcie2x1l0 { 185 reset-gpios = <&gpio4 RK_PA2 GPIO_ACTIVE_HIGH>; 186 vpcie3v3-supply = <&vcc3v3_sys>; 187 pinctrl-names = "default"; 188 pinctrl-0 = <&pcie_clkreq &pcie_wake &pcie_rst &wifi_pwron &bt_pwron>; 189 status = "okay"; 190}; 191 192&pcie2x1l2 { 193 status = "disabled"; 194}; 195 196&pcie30phy { 197 status = "okay"; 198}; 199 200/* M.2 M-Key ssd */ 201&pcie3x4 { 202 reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>; 203 vpcie3v3-supply = <&vcc3v3_sys>; 204 status = "okay"; 205}; 206 207&pinctrl { 208 lcd { 209 lcdpwr_en: lcdpwr-en { 210 rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>; 211 }; 212 213 bl_en: bl-en { 214 rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>; 215 }; 216 }; 217 218 usb { 219 usb_pwren: usb-pwren { 220 rockchip,pins = <1 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>; 221 }; 222 223 usb_otg_pwren: usb-otg-pwren { 224 rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; 225 }; 226 227 usb_host_pwren: usb-host-pwren { 228 rockchip,pins = <1 RK_PA7 RK_FUNC_GPIO &pcfg_pull_up>; 229 }; 230 }; 231 232 wifi { 233 bt_pwron: bt-pwron { 234 rockchip,pins = <3 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>; 235 }; 236 237 pcie_clkreq: pcie-clkreq { 238 rockchip,pins = <4 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>; 239 }; 240 241 pcie_rst: pcie-rst { 242 rockchip,pins = <4 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 243 }; 244 245 wifi_pwron: wifi-pwron { 246 rockchip,pins = <3 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>; 247 }; 248 249 pcie_wake: pcie-wake { 250 rockchip,pins = <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 251 }; 252 }; 253}; 254 255&pwm6 { 256 pinctrl-0 = <&pwm6m1_pins>; 257 status = "okay"; 258}; 259 260&sdmmc { 261 status = "disabled"; 262}; 263 264&sfc { 265 pinctrl-names = "default"; 266 pinctrl-0 = <&fspim2_pins>; 267 status = "okay"; 268 269 flash@0 { 270 compatible = "jedec,spi-nor"; 271 reg = <0x0>; 272 spi-max-frequency = <100000000>; 273 spi-rx-bus-width = <4>; 274 spi-tx-bus-width = <1>; 275 }; 276}; 277 278&u2phy0 { 279 status = "okay"; 280}; 281 282&u2phy0_otg { 283 status = "okay"; 284}; 285 286&usbdp_phy0 { 287 status = "okay"; 288}; 289 290&u2phy1 { 291 status = "okay"; 292}; 293 294&u2phy1_otg { 295 status = "okay"; 296}; 297 298&u2phy2 { 299 status = "okay"; 300}; 301 302&u2phy3 { 303 status = "okay"; 304}; 305 306&u2phy2_host { 307 phy-supply = <&vcc5v0_usb_host0>; 308 status = "okay"; 309}; 310 311&u2phy3_host { 312 phy-supply = <&vcc5v0_usb>; 313 status = "okay"; 314}; 315 316&usbdp_phy1 { 317 status = "okay"; 318}; 319 320/* For Keypad */ 321&usb_host0_ehci { 322 status = "okay"; 323}; 324 325&usb_host0_ohci { 326 status = "okay"; 327}; 328 329/* Type C port */ 330&usb_host0_xhci { 331 dr_mode = "peripheral"; 332 maximum-speed = "high-speed"; 333 status = "okay"; 334}; 335 336/* connected to a HUB for camera and BT */ 337&usb_host1_ehci { 338 status = "okay"; 339}; 340 341&usb_host1_ohci { 342 status = "okay"; 343}; 344 345/* USB A out */ 346&usb_host1_xhci { 347 dr_mode = "host"; 348 status = "okay"; 349}; 350