xref: /openbmc/linux/arch/arm64/boot/dts/rockchip/rk3308-roc-cc.dts (revision 24f68eb5bf14a74027946970a18bc902e19d986a)
14403e123SAndy Yan// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
24403e123SAndy Yan/*
34403e123SAndy Yan * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
44403e123SAndy Yan */
54403e123SAndy Yan
64403e123SAndy Yan/dts-v1/;
74403e123SAndy Yan#include "rk3308.dtsi"
84403e123SAndy Yan
94403e123SAndy Yan/ {
104403e123SAndy Yan	model = "Firefly ROC-RK3308-CC board";
114403e123SAndy Yan	compatible = "firefly,roc-rk3308-cc", "rockchip,rk3308";
123f6c2298SHeiko Stuebner
133f6c2298SHeiko Stuebner	aliases {
143f6c2298SHeiko Stuebner		mmc0 = &sdmmc;
153f6c2298SHeiko Stuebner		mmc1 = &emmc;
163f6c2298SHeiko Stuebner	};
173f6c2298SHeiko Stuebner
184403e123SAndy Yan	chosen {
194403e123SAndy Yan		stdout-path = "serial2:1500000n8";
204403e123SAndy Yan	};
214403e123SAndy Yan
22de0d04b9SJohan Jonker	ir-receiver {
234403e123SAndy Yan		compatible = "gpio-ir-receiver";
244403e123SAndy Yan		gpios = <&gpio0 RK_PC0 GPIO_ACTIVE_HIGH>;
254403e123SAndy Yan		pinctrl-names = "default";
264403e123SAndy Yan		pinctrl-0 = <&ir_recv_pin>;
274403e123SAndy Yan	};
284403e123SAndy Yan
294403e123SAndy Yan	ir_tx {
304403e123SAndy Yan		compatible = "pwm-ir-tx";
314403e123SAndy Yan		pwms = <&pwm5 0 25000 0>;
324403e123SAndy Yan	};
334403e123SAndy Yan
344403e123SAndy Yan	leds {
354403e123SAndy Yan		compatible = "gpio-leds";
364403e123SAndy Yan
37e916d85bSJohan Jonker		power_led: led-0 {
384403e123SAndy Yan			label = "firefly:red:power";
39*e2435148SHeiko Stuebner			linux,default-trigger = "default-on";
404403e123SAndy Yan			default-state = "on";
414403e123SAndy Yan			gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
424403e123SAndy Yan		};
434403e123SAndy Yan
44e916d85bSJohan Jonker		user_led: led-1 {
454403e123SAndy Yan			label = "firefly:blue:user";
46*e2435148SHeiko Stuebner			linux,default-trigger = "rc-feedback";
474403e123SAndy Yan			default-state = "off";
484403e123SAndy Yan			gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_HIGH>;
494403e123SAndy Yan		};
504403e123SAndy Yan	};
514403e123SAndy Yan
524403e123SAndy Yan	typec_vcc5v: typec-vcc5v {
534403e123SAndy Yan		compatible = "regulator-fixed";
544403e123SAndy Yan		regulator-name = "typec_vcc5v";
554403e123SAndy Yan		regulator-min-microvolt = <5000000>;
564403e123SAndy Yan		regulator-max-microvolt = <5000000>;
574403e123SAndy Yan		regulator-always-on;
584403e123SAndy Yan		regulator-boot-on;
594403e123SAndy Yan	};
604403e123SAndy Yan
614403e123SAndy Yan	vcc5v0_sys: vcc5v0-sys {
624403e123SAndy Yan		compatible = "regulator-fixed";
634403e123SAndy Yan		regulator-name = "vcc5v0_sys";
644403e123SAndy Yan		regulator-min-microvolt = <5000000>;
654403e123SAndy Yan		regulator-max-microvolt = <5000000>;
664403e123SAndy Yan		regulator-always-on;
674403e123SAndy Yan		regulator-boot-on;
684403e123SAndy Yan		vin-supply = <&typec_vcc5v>;
694403e123SAndy Yan	};
704403e123SAndy Yan
714403e123SAndy Yan	vcc_io: vcc-io {
724403e123SAndy Yan		compatible = "regulator-fixed";
734403e123SAndy Yan		regulator-name = "vcc_io";
744403e123SAndy Yan		regulator-min-microvolt = <3300000>;
754403e123SAndy Yan		regulator-max-microvolt = <3300000>;
764403e123SAndy Yan		regulator-always-on;
774403e123SAndy Yan		regulator-boot-on;
784403e123SAndy Yan		vin-supply = <&vcc5v0_sys>;
794403e123SAndy Yan	};
804403e123SAndy Yan
814403e123SAndy Yan	vcc_sdmmc: vcc-sdmmc {
824403e123SAndy Yan		compatible = "regulator-gpio";
834403e123SAndy Yan		regulator-name = "vcc_sdmmc";
844403e123SAndy Yan		regulator-min-microvolt = <1800000>;
854403e123SAndy Yan		regulator-max-microvolt = <3300000>;
864403e123SAndy Yan		gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_HIGH>;
87b82f8e29SJohan Jonker		states = <1800000 0x0>,
88b82f8e29SJohan Jonker			 <3300000 0x1>;
894403e123SAndy Yan		vin-supply = <&vcc5v0_sys>;
904403e123SAndy Yan	};
914403e123SAndy Yan
924403e123SAndy Yan	vcc_sd: vcc-sd {
934403e123SAndy Yan		compatible = "regulator-fixed";
944403e123SAndy Yan		gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_LOW>;
954403e123SAndy Yan		regulator-name = "vcc_sd";
964403e123SAndy Yan		regulator-min-microvolt = <3300000>;
974403e123SAndy Yan		regulator-max-microvolt = <3300000>;
984403e123SAndy Yan		regulator-always-on;
994403e123SAndy Yan		regulator-boot-on;
100772fb461SJohn Keeping		vin-supply = <&vcc_io>;
1014403e123SAndy Yan	};
1024403e123SAndy Yan
1034403e123SAndy Yan	vdd_core: vdd-core {
1044403e123SAndy Yan		compatible = "pwm-regulator";
1054403e123SAndy Yan		pwms = <&pwm0 0 5000 1>;
1064403e123SAndy Yan		regulator-name = "vdd_core";
1074403e123SAndy Yan		regulator-min-microvolt = <827000>;
1084403e123SAndy Yan		regulator-max-microvolt = <1340000>;
1094403e123SAndy Yan		regulator-settling-time-up-us = <250>;
1104403e123SAndy Yan		regulator-always-on;
1114403e123SAndy Yan		regulator-boot-on;
1124403e123SAndy Yan		pwm-supply = <&vcc5v0_sys>;
1134403e123SAndy Yan	};
1144403e123SAndy Yan
1154403e123SAndy Yan	vdd_log: vdd-log {
1164403e123SAndy Yan		compatible = "regulator-fixed";
1174403e123SAndy Yan		regulator-name = "vdd_log";
1184403e123SAndy Yan		regulator-min-microvolt = <1050000>;
1194403e123SAndy Yan		regulator-max-microvolt = <1050000>;
1204403e123SAndy Yan		regulator-always-on;
1214403e123SAndy Yan		regulator-boot-on;
1224403e123SAndy Yan		vin-supply = <&vcc5v0_sys>;
1234403e123SAndy Yan	};
1244403e123SAndy Yan};
1254403e123SAndy Yan
1264403e123SAndy Yan&cpu0 {
1274403e123SAndy Yan	cpu-supply = <&vdd_core>;
1284403e123SAndy Yan};
1294403e123SAndy Yan
1304403e123SAndy Yan&emmc {
1314403e123SAndy Yan	cap-mmc-highspeed;
1324403e123SAndy Yan	mmc-hs200-1_8v;
1334403e123SAndy Yan	non-removable;
1344403e123SAndy Yan	status = "okay";
1354403e123SAndy Yan};
1364403e123SAndy Yan
1374403e123SAndy Yan&i2c1 {
1384403e123SAndy Yan	clock-frequency = <400000>;
1394403e123SAndy Yan	status = "okay";
1404403e123SAndy Yan
1414403e123SAndy Yan	rtc: rtc@51 {
1424403e123SAndy Yan		compatible = "nxp,pcf8563";
1434403e123SAndy Yan		reg = <0x51>;
1444403e123SAndy Yan		#clock-cells = <0>;
1454403e123SAndy Yan	};
1464403e123SAndy Yan};
1474403e123SAndy Yan
1484403e123SAndy Yan&pwm5 {
1494403e123SAndy Yan	status = "okay";
1504403e123SAndy Yan	pinctrl-names = "active";
1514403e123SAndy Yan	pinctrl-0 = <&pwm5_pin_pull_down>;
1524403e123SAndy Yan};
1534403e123SAndy Yan
1544403e123SAndy Yan&pinctrl {
1554403e123SAndy Yan	pinctrl-names = "default";
1564403e123SAndy Yan	pinctrl-0 = <&rtc_32k>;
1574403e123SAndy Yan
1584403e123SAndy Yan	ir-receiver {
1594403e123SAndy Yan		ir_recv_pin: ir-recv-pin  {
1604403e123SAndy Yan			rockchip,pins = <0 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
1614403e123SAndy Yan		};
1624403e123SAndy Yan	};
1634403e123SAndy Yan
1644403e123SAndy Yan	buttons {
1654403e123SAndy Yan		pwr_key: pwr-key {
1664403e123SAndy Yan			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;
1674403e123SAndy Yan		};
1684403e123SAndy Yan	};
1694403e123SAndy Yan};
1704403e123SAndy Yan
1714403e123SAndy Yan&pwm0 {
1724403e123SAndy Yan	status = "okay";
1734403e123SAndy Yan	pinctrl-0 = <&pwm0_pin_pull_down>;
1744403e123SAndy Yan};
1754403e123SAndy Yan
1764403e123SAndy Yan&sdmmc {
1774403e123SAndy Yan	cap-mmc-highspeed;
1784403e123SAndy Yan	cap-sd-highspeed;
1794403e123SAndy Yan	card-detect-delay = <300>;
1804403e123SAndy Yan	sd-uhs-sdr25;
1814403e123SAndy Yan	sd-uhs-sdr50;
1824403e123SAndy Yan	sd-uhs-sdr104;
1834403e123SAndy Yan	vmmc-supply = <&vcc_sd>;
1844403e123SAndy Yan	vqmmc-supply = <&vcc_sdmmc>;
1854403e123SAndy Yan	status = "okay";
1864403e123SAndy Yan};
1874403e123SAndy Yan
1884403e123SAndy Yan&uart2 {
1894403e123SAndy Yan	status = "okay";
1904403e123SAndy Yan};
191