Commit f3c6526d authored by Dragan Simic's avatar Dragan Simic Committed by Heiko Stuebner
Browse files

arm64: dts: rockchip: Convert dts files used as parents to dtsi files



Including a board dts file is not the right way to represent the hierarchical
nature of the board dts files and to create a dts file for another variant of
an ancestor board.  However, a few boards and their variants (ab)used this
approach, so let's clean that up by converting the common ancestors into dtsi
files, and by adding separate board-variant dts files.

No functional changes are introduced, which was validated by decompiling and
comparing all affected board dtb files before and after these changes.  In
more detail, the affected dtb files have some of their blocks shuffled around
a bit and some of their phandles have different values, as a result of the
changes to the order in which the building blocks from the parent dtsi files
are included, but they effectively remain the same as the originals.

The only perceivable introduced change is the turning of "roc-rk3328-cc" into
"ROC-RK3328-CC", which is the model name of one of the affected boards, which
was performed to match the styling of the official board name.

As a side note, due to the nature of introduced changes, this commit is best
viewed using "-B80%/80% -M20% -C5%" as the set of options for git-log(1).

Signed-off-by: default avatarDragan Simic <dsimic@manjaro.org>
Link: https://lore.kernel.org/r/f3d789c14fe34a53327cac03cd3837e530e21f5c.1728937091.git.dsimic@manjaro.org


Signed-off-by: default avatarHeiko Stuebner <heiko@sntech.de>
parent e684f024
Loading
Loading
Loading
Loading
+394 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2020 David Bauer <mail@david-bauer.net>
 */

/dts-v1/;

#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include "rk3328.dtsi"

/ {
	aliases {
		ethernet0 = &gmac2io;
		ethernet1 = &rtl8153;
		mmc0 = &sdmmc;
	};

	chosen {
		stdout-path = "serial2:1500000n8";
	};

	gmac_clk: gmac-clock {
		compatible = "fixed-clock";
		clock-frequency = <125000000>;
		clock-output-names = "gmac_clkin";
		#clock-cells = <0>;
	};

	keys {
		compatible = "gpio-keys";
		pinctrl-0 = <&reset_button_pin>;
		pinctrl-names = "default";

		key-reset {
			label = "reset";
			gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RESTART>;
			debounce-interval = <50>;
		};
	};

	leds {
		compatible = "gpio-leds";
		pinctrl-0 = <&lan_led_pin>,  <&sys_led_pin>, <&wan_led_pin>;
		pinctrl-names = "default";

		lan_led: led-0 {
			gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
			label = "nanopi-r2s:green:lan";
		};

		sys_led: led-1 {
			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
			label = "nanopi-r2s:red:sys";
			default-state = "on";
		};

		wan_led: led-2 {
			gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_HIGH>;
			label = "nanopi-r2s:green:wan";
		};
	};

	vcc_io_sdio: sdmmcio-regulator {
		compatible = "regulator-gpio";
		enable-active-high;
		gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_HIGH>;
		pinctrl-0 = <&sdio_vcc_pin>;
		pinctrl-names = "default";
		regulator-name = "vcc_io_sdio";
		regulator-always-on;
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <3300000>;
		regulator-settling-time-us = <5000>;
		regulator-type = "voltage";
		startup-delay-us = <2000>;
		states = <1800000 0x1>,
			 <3300000 0x0>;
		vin-supply = <&vcc_io_33>;
	};

	vcc_sd: sdmmc-regulator {
		compatible = "regulator-fixed";
		gpio = <&gpio0 RK_PD6 GPIO_ACTIVE_LOW>;
		pinctrl-0 = <&sdmmc0m1_pin>;
		pinctrl-names = "default";
		regulator-name = "vcc_sd";
		regulator-boot-on;
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		vin-supply = <&vcc_io_33>;
	};

	vdd_5v: vdd-5v {
		compatible = "regulator-fixed";
		regulator-name = "vdd_5v";
		regulator-always-on;
		regulator-boot-on;
		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;
	};

	vdd_5v_lan: vdd-5v-lan {
		compatible = "regulator-fixed";
		enable-active-high;
		gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
		pinctrl-0 = <&lan_vdd_pin>;
		pinctrl-names = "default";
		regulator-name = "vdd_5v_lan";
		regulator-always-on;
		regulator-boot-on;
		vin-supply = <&vdd_5v>;
	};
};

&cpu0 {
	cpu-supply = <&vdd_arm>;
};

&cpu1 {
	cpu-supply = <&vdd_arm>;
};

&cpu2 {
	cpu-supply = <&vdd_arm>;
};

&cpu3 {
	cpu-supply = <&vdd_arm>;
};

&display_subsystem {
	status = "disabled";
};

&gmac2io {
	assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
	assigned-clock-parents = <&gmac_clk>, <&gmac_clk>;
	clock_in_out = "input";
	phy-mode = "rgmii";
	phy-supply = <&vcc_io_33>;
	pinctrl-0 = <&rgmiim1_pins>;
	pinctrl-names = "default";
	snps,aal;

	mdio {
		compatible = "snps,dwmac-mdio";
		#address-cells = <1>;
		#size-cells = <0>;
	};
};

&i2c1 {
	status = "okay";

	rk805: pmic@18 {
		compatible = "rockchip,rk805";
		reg = <0x18>;
		interrupt-parent = <&gpio1>;
		interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
		#clock-cells = <1>;
		clock-output-names = "xin32k", "rk805-clkout2";
		gpio-controller;
		#gpio-cells = <2>;
		pinctrl-0 = <&pmic_int_l>;
		pinctrl-names = "default";
		system-power-controller;
		wakeup-source;

		vcc1-supply = <&vdd_5v>;
		vcc2-supply = <&vdd_5v>;
		vcc3-supply = <&vdd_5v>;
		vcc4-supply = <&vdd_5v>;
		vcc5-supply = <&vcc_io_33>;
		vcc6-supply = <&vdd_5v>;

		regulators {
			vdd_log: DCDC_REG1 {
				regulator-name = "vdd_log";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <712500>;
				regulator-max-microvolt = <1450000>;
				regulator-ramp-delay = <12500>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1000000>;
				};
			};

			vdd_arm: DCDC_REG2 {
				regulator-name = "vdd_arm";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <712500>;
				regulator-max-microvolt = <1450000>;
				regulator-ramp-delay = <12500>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <950000>;
				};
			};

			vcc_ddr: DCDC_REG3 {
				regulator-name = "vcc_ddr";
				regulator-always-on;
				regulator-boot-on;

				regulator-state-mem {
					regulator-on-in-suspend;
				};
			};

			vcc_io_33: DCDC_REG4 {
				regulator-name = "vcc_io_33";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <3300000>;
				regulator-max-microvolt = <3300000>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <3300000>;
				};
			};

			vcc_18: LDO_REG1 {
				regulator-name = "vcc_18";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1800000>;
				};
			};

			vcc18_emmc: LDO_REG2 {
				regulator-name = "vcc18_emmc";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1800000>;
				regulator-max-microvolt = <1800000>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1800000>;
				};
			};

			vdd_10: LDO_REG3 {
				regulator-name = "vdd_10";
				regulator-always-on;
				regulator-boot-on;
				regulator-min-microvolt = <1000000>;
				regulator-max-microvolt = <1000000>;

				regulator-state-mem {
					regulator-on-in-suspend;
					regulator-suspend-microvolt = <1000000>;
				};
			};
		};
	};
};

&io_domains {
	pmuio-supply = <&vcc_io_33>;
	vccio1-supply = <&vcc_io_33>;
	vccio2-supply = <&vcc18_emmc>;
	vccio3-supply = <&vcc_io_sdio>;
	vccio4-supply = <&vcc_18>;
	vccio5-supply = <&vcc_io_33>;
	vccio6-supply = <&vcc_io_33>;
	status = "okay";
};

&pinctrl {
	button {
		reset_button_pin: reset-button-pin {
			rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	gmac2io {
		eth_phy_reset_pin: eth-phy-reset-pin {
			rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>;
		};
	};

	leds {
		lan_led_pin: lan-led-pin {
			rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		sys_led_pin: sys-led-pin {
			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
		};

		wan_led_pin: wan-led-pin {
			rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	lan {
		lan_vdd_pin: lan-vdd-pin {
			rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
		};
	};

	pmic {
		pmic_int_l: pmic-int-l {
			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};

	sd {
		sdio_vcc_pin: sdio-vcc-pin {
			rockchip,pins = <1 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
		};
	};
};

&pwm2 {
	status = "okay";
};

&sdmmc {
	bus-width = <4>;
	cap-sd-highspeed;
	disable-wp;
	pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
	pinctrl-names = "default";
	sd-uhs-sdr12;
	sd-uhs-sdr25;
	sd-uhs-sdr50;
	sd-uhs-sdr104;
	vmmc-supply = <&vcc_sd>;
	vqmmc-supply = <&vcc_io_sdio>;
	status = "okay";
};

&tsadc {
	rockchip,hw-tshut-mode = <0>;
	rockchip,hw-tshut-polarity = <0>;
	status = "okay";
};

&u2phy {
	status = "okay";
};

&u2phy_host {
	status = "okay";
};

&u2phy_otg {
	status = "okay";
};

&uart2 {
	status = "okay";
};

&usb20_otg {
	status = "okay";
	dr_mode = "host";
};

&usbdrd3 {
	dr_mode = "host";
	status = "okay";
	#address-cells = <1>;
	#size-cells = <0>;

	/* Second port is for USB 3.0 */
	rtl8153: device@2 {
		compatible = "usbbda,8153";
		reg = <2>;
	};
};

&usb_host0_ehci {
	status = "okay";
};

&usb_host0_ohci {
	status = "okay";
};
+2 −1
Original line number Diff line number Diff line
@@ -7,7 +7,8 @@
 */

/dts-v1/;
#include "rk3328-nanopi-r2c.dts"

#include "rk3328-nanopi-r2c.dtsi"

/ {
	model = "FriendlyElec NanoPi R2C Plus";
+2 −26
Original line number Diff line number Diff line
@@ -7,34 +7,10 @@
 */

/dts-v1/;
#include "rk3328-nanopi-r2s.dts"

#include "rk3328-nanopi-r2c.dtsi"

/ {
	model = "FriendlyElec NanoPi R2C";
	compatible = "friendlyarm,nanopi-r2c", "rockchip,rk3328";
};

&gmac2io {
	phy-handle = <&yt8521s>;
	tx_delay = <0x22>;
	rx_delay = <0x12>;

	mdio {
		/delete-node/ ethernet-phy@1;

		yt8521s: ethernet-phy@3 {
			compatible = "ethernet-phy-ieee802.3-c22";
			reg = <3>;

			motorcomm,clk-out-frequency-hz = <125000000>;
			motorcomm,keep-pll-enabled;
			motorcomm,auto-sleep-disabled;

			pinctrl-0 = <&eth_phy_reset_pin>;
			pinctrl-names = "default";
			reset-assert-us = <10000>;
			reset-deassert-us = <50000>;
			reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
		};
	};
};
+35 −0
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
/*
 * Copyright (c) 2021 FriendlyElec Computer Tech. Co., Ltd.
 * (http://www.friendlyarm.com)
 *
 * Copyright (c) 2021-2023 Tianling Shen <cnsztl@gmail.com>
 */

/dts-v1/;

#include "rk3328-nanopi-r2.dtsi"

&gmac2io {
	phy-handle = <&yt8521s>;
	tx_delay = <0x22>;
	rx_delay = <0x12>;
	status = "okay";

	mdio {
		yt8521s: ethernet-phy@3 {
			compatible = "ethernet-phy-ieee802.3-c22";
			reg = <3>;

			motorcomm,clk-out-frequency-hz = <125000000>;
			motorcomm,keep-pll-enabled;
			motorcomm,auto-sleep-disabled;

			pinctrl-0 = <&eth_phy_reset_pin>;
			pinctrl-names = "default";
			reset-assert-us = <10000>;
			reset-deassert-us = <50000>;
			reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
		};
	};
};
+19 −1
Original line number Diff line number Diff line
@@ -7,7 +7,8 @@
 */

/dts-v1/;
#include "rk3328-nanopi-r2s.dts"

#include "rk3328-nanopi-r2s.dtsi"

/ {
	compatible = "friendlyarm,nanopi-r2s-plus", "rockchip,rk3328";
@@ -30,3 +31,20 @@ &emmc {
	supports-emmc;
	status = "okay";
};

&gmac2io {
	phy-handle = <&rtl8211e>;
	tx_delay = <0x24>;
	rx_delay = <0x18>;

	mdio {
		rtl8211e: ethernet-phy@1 {
			reg = <1>;
			pinctrl-0 = <&eth_phy_reset_pin>;
			pinctrl-names = "default";
			reset-assert-us = <10000>;
			reset-deassert-us = <50000>;
			reset-gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
		};
	};
};
Loading