xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3328-roc-pc.dts (revision 8cc087a1eee9ec1ca9f7ac1e63ad51bdb5a682eb)
1*8cc087a1SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*8cc087a1SEmmanuel Vadot// Copyright (c) 2021 T-Chip Intelligent Technology Co., Ltd
3*8cc087a1SEmmanuel Vadot
4*8cc087a1SEmmanuel Vadot/dts-v1/;
5*8cc087a1SEmmanuel Vadot
6*8cc087a1SEmmanuel Vadot#include <dt-bindings/input/input.h>
7*8cc087a1SEmmanuel Vadot
8*8cc087a1SEmmanuel Vadot#include "rk3328-roc-cc.dts"
9*8cc087a1SEmmanuel Vadot
10*8cc087a1SEmmanuel Vadot/ {
11*8cc087a1SEmmanuel Vadot	model = "Firefly ROC-RK3328-PC";
12*8cc087a1SEmmanuel Vadot	compatible = "firefly,roc-rk3328-pc", "rockchip,rk3328";
13*8cc087a1SEmmanuel Vadot
14*8cc087a1SEmmanuel Vadot	adc-keys {
15*8cc087a1SEmmanuel Vadot		compatible = "adc-keys";
16*8cc087a1SEmmanuel Vadot		io-channels = <&saradc 0>;
17*8cc087a1SEmmanuel Vadot		io-channel-names = "buttons";
18*8cc087a1SEmmanuel Vadot		keyup-threshold-microvolt = <1750000>;
19*8cc087a1SEmmanuel Vadot
20*8cc087a1SEmmanuel Vadot		/* This button is unpopulated out of the factory. */
21*8cc087a1SEmmanuel Vadot		button-recovery {
22*8cc087a1SEmmanuel Vadot			label = "Recovery";
23*8cc087a1SEmmanuel Vadot			linux,code = <KEY_VENDOR>;
24*8cc087a1SEmmanuel Vadot			press-threshold-microvolt = <10000>;
25*8cc087a1SEmmanuel Vadot		};
26*8cc087a1SEmmanuel Vadot	};
27*8cc087a1SEmmanuel Vadot
28*8cc087a1SEmmanuel Vadot	ir-receiver {
29*8cc087a1SEmmanuel Vadot		compatible = "gpio-ir-receiver";
30*8cc087a1SEmmanuel Vadot		gpios = <&gpio2 RK_PA2 GPIO_ACTIVE_LOW>;
31*8cc087a1SEmmanuel Vadot		linux,rc-map-name = "rc-khadas";
32*8cc087a1SEmmanuel Vadot		pinctrl-names = "default";
33*8cc087a1SEmmanuel Vadot		pinctrl-0 = <&ir_int>;
34*8cc087a1SEmmanuel Vadot	};
35*8cc087a1SEmmanuel Vadot
36*8cc087a1SEmmanuel Vadot	sdio_pwrseq: sdio-pwrseq {
37*8cc087a1SEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
38*8cc087a1SEmmanuel Vadot		pinctrl-names = "default";
39*8cc087a1SEmmanuel Vadot		pinctrl-0 = <&wifi_en>, <&wifi_host_wake>;
40*8cc087a1SEmmanuel Vadot		reset-gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>;
41*8cc087a1SEmmanuel Vadot	};
42*8cc087a1SEmmanuel Vadot};
43*8cc087a1SEmmanuel Vadot
44*8cc087a1SEmmanuel Vadot&codec {
45*8cc087a1SEmmanuel Vadot	mute-gpios = <&grf_gpio 0 GPIO_ACTIVE_LOW>;
46*8cc087a1SEmmanuel Vadot};
47*8cc087a1SEmmanuel Vadot
48*8cc087a1SEmmanuel Vadot&gpu {
49*8cc087a1SEmmanuel Vadot	mali-supply = <&vdd_logic>;
50*8cc087a1SEmmanuel Vadot};
51*8cc087a1SEmmanuel Vadot
52*8cc087a1SEmmanuel Vadot&pinctrl {
53*8cc087a1SEmmanuel Vadot	ir {
54*8cc087a1SEmmanuel Vadot		ir_int: ir-int {
55*8cc087a1SEmmanuel Vadot			rockchip,pins = <2 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
56*8cc087a1SEmmanuel Vadot		};
57*8cc087a1SEmmanuel Vadot	};
58*8cc087a1SEmmanuel Vadot
59*8cc087a1SEmmanuel Vadot	sdmmcio {
60*8cc087a1SEmmanuel Vadot		sdio_per_pin: sdio-per-pin {
61*8cc087a1SEmmanuel Vadot			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_down>;
62*8cc087a1SEmmanuel Vadot		};
63*8cc087a1SEmmanuel Vadot	};
64*8cc087a1SEmmanuel Vadot
65*8cc087a1SEmmanuel Vadot	wifi {
66*8cc087a1SEmmanuel Vadot		wifi_en: wifi-en {
67*8cc087a1SEmmanuel Vadot			rockchip,pins = <3 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
68*8cc087a1SEmmanuel Vadot		};
69*8cc087a1SEmmanuel Vadot
70*8cc087a1SEmmanuel Vadot		wifi_host_wake: wifi-host-wake {
71*8cc087a1SEmmanuel Vadot			rockchip,pins = <3 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none_4ma>;
72*8cc087a1SEmmanuel Vadot		};
73*8cc087a1SEmmanuel Vadot
74*8cc087a1SEmmanuel Vadot		bt_rst: bt-rst {
75*8cc087a1SEmmanuel Vadot			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
76*8cc087a1SEmmanuel Vadot		};
77*8cc087a1SEmmanuel Vadot
78*8cc087a1SEmmanuel Vadot		bt_en: bt-en {
79*8cc087a1SEmmanuel Vadot			rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
80*8cc087a1SEmmanuel Vadot		};
81*8cc087a1SEmmanuel Vadot	};
82*8cc087a1SEmmanuel Vadot};
83*8cc087a1SEmmanuel Vadot
84*8cc087a1SEmmanuel Vadot&pmic_int_l {
85*8cc087a1SEmmanuel Vadot	rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
86*8cc087a1SEmmanuel Vadot};
87*8cc087a1SEmmanuel Vadot
88*8cc087a1SEmmanuel Vadot&rk805 {
89*8cc087a1SEmmanuel Vadot	interrupt-parent = <&gpio0>;
90*8cc087a1SEmmanuel Vadot	interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
91*8cc087a1SEmmanuel Vadot};
92*8cc087a1SEmmanuel Vadot
93*8cc087a1SEmmanuel Vadot&saradc {
94*8cc087a1SEmmanuel Vadot	vref-supply = <&vcc_18>;
95*8cc087a1SEmmanuel Vadot	status = "okay";
96*8cc087a1SEmmanuel Vadot};
97*8cc087a1SEmmanuel Vadot
98*8cc087a1SEmmanuel Vadot&usb20_host_drv {
99*8cc087a1SEmmanuel Vadot	rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_up>;
100*8cc087a1SEmmanuel Vadot};
101*8cc087a1SEmmanuel Vadot
102*8cc087a1SEmmanuel Vadot&vcc_host1_5v {
103*8cc087a1SEmmanuel Vadot	gpio = <&gpio0 RK_PA0 GPIO_ACTIVE_HIGH>;
104*8cc087a1SEmmanuel Vadot};
105*8cc087a1SEmmanuel Vadot
106*8cc087a1SEmmanuel Vadot&vcc_sdio {
107*8cc087a1SEmmanuel Vadot	gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
108*8cc087a1SEmmanuel Vadot	pinctrl-names = "default";
109*8cc087a1SEmmanuel Vadot	pinctrl-0 = <&sdio_per_pin>;
110*8cc087a1SEmmanuel Vadot};
111