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