[PATCH v1] ARM: Rockchip: Add rk3568 BananaPi R2 Pro board support

Sascha Hauer s.hauer at pengutronix.de
Thu Feb 10 07:55:03 PST 2022


On Thu, Feb 10, 2022 at 04:22:22PM +0100, Frank Wunderlich wrote:
> 
> > Gesendet: Montag, 24. Januar 2022 um 09:55 Uhr
> > Von: "Sascha Hauer" <s.hauer at pengutronix.de>
> 
> > I saw this device tree looks different from the one you sent for kernel
> > inclusion. This is not a problem now, but once the kernel dts is
> > upstream it will show up in dts/ in the barebox tree. We then usually
> > include the upstream dts from the barebox board dts, so that only the
> > barebox specific additions are in the barebox dts. Given that it would
> > be nice if you could minimize the differences now already, so that later
> > inclusion of the upstream dts becomes easier.
> 
> Hi,
> 
> after dts got merged to linux i used it to find differences and minimized them.
> 
> have not added io-domain as i don't know if they change in future and they are not needed in barebox.
> 
> needed to add tsadc+pinctrl and spi3 to rk3568*.dtsi as they are referenced in my linux board dts
> 
> can you look if the dts is now ok for upstreaming?
> 
> https://github.com/frank-w/barebox-r2pro/blob/r2pro/arch/arm/dts/rk3568-bpi-r2-pro.dts

Here's the diff for the two files. Most stuff looks ok, but some there
are a few things:

> --- rk3568-bpi-r2-pro.dts	2022-02-10 16:44:02.512408386 +0100
> +++ bb.dts	2022-02-10 16:44:41.880348199 +0100
> @@ -15,13 +15,29 @@
>  	compatible = "rockchip,rk3568-bpi-r2pro", "rockchip,rk3568";
>  
>  	aliases {
> -		ethernet0 = &gmac0;
> -		mmc0 = &sdmmc0;
> -		mmc1 = &sdhci;
> +		emmc = &sdhci;
> +		sd = &sdmmc0;
>  	};
>  
> -	chosen: chosen {
> +	chosen {
>  		stdout-path = "serial2:1500000n8";
> +
> +		environment-sd {
> +			compatible = "barebox,environment";
> +			device-path = &environment_sd;
> +			status = "disabled";
> +		};
> +
> +		environment-emmc {
> +			compatible = "barebox,environment";
> +			device-path = &environment_emmc;
> +			status = "disabled";
> +		};
> +	};
> +
> +	memory at a00000 {
> +		device_type = "memory";
> +		reg = <0x0 0x00a00000 0x0 0x7f600000>;
>  	};
>  
>  	leds {
> @@ -72,11 +88,42 @@
>  		regulator-max-microvolt = <5000000>;
>  		vin-supply = <&dc_12v>;
>  	};
> +
> +	vcc3v3_lcd0_n: vcc3v3-lcd0-n {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc3v3_lcd0_n";
> +		regulator-boot-on;
> +
> +		regulator-state-mem {
> +			regulator-off-in-suspend;
> +		};
> +	};
> +
> +	vcc3v3_lcd1_n: vcc3v3-lcd1-n {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc3v3_lcd1_n";
> +		regulator-boot-on;
> +
> +		regulator-state-mem {
> +			regulator-off-in-suspend;
> +		};
> +	};
> +
> +	vcc5v0_host: vcc5v0-host-regulator {
> +		compatible = "regulator-fixed";
> +		regulator-name = "vcc5v0_host";
> +		enable-active-high;
> +		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&vcc5v0_host_en>;
> +		regulator-always-on;
> +	};
>  };
>  
>  &gmac0 {
>  	assigned-clocks = <&cru SCLK_GMAC0_RX_TX>, <&cru SCLK_GMAC0>;
>  	assigned-clock-parents = <&cru SCLK_GMAC0_RGMII_SPEED>, <&cru CLK_MAC0_2TOP>;
> +	assigned-clock-rates = <0>, <125000000>;
>  	clock_in_out = "input";
>  	phy-handle = <&rgmii_phy0>;
>  	phy-mode = "rgmii";
> @@ -86,10 +133,6 @@
>  		     &gmac0_rx_bus2
>  		     &gmac0_rgmii_clk
>  		     &gmac0_rgmii_bus>;
> -	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
> -	snps,reset-active-low;
> -	/* Reset time is 20ms, 100ms for rtl8211f */
> -	snps,reset-delays-us = <0 20000 100000>;

Why is this removed?

>  	tx_delay = <0x3c>;
>  	rx_delay = <0x2f>;
>  	status = "okay";
> @@ -106,6 +149,11 @@
>  		#clock-cells = <1>;
>  		pinctrl-names = "default";
>  		pinctrl-0 = <&pmic_int>;
> +
> +		clock-output-names = "rk808-clkout1", "rk808-clkout2";
> +		/* 1: rst regs (default in codes), 0: rst the pmic */
> +		pmic-reset-func = <0>;
> +
>  		rockchip,system-power-controller;
>  		vcc1-supply = <&vcc3v3_sys>;
>  		vcc2-supply = <&vcc3v3_sys>;
> @@ -118,6 +166,10 @@
>  		vcc9-supply = <&vcc3v3_sys>;
>  		wakeup-source;
>  
> +		pwrkey {
> +			status = "okay";
> +		};

This is unused in barebox, right? If so, please drop.

> +
>  		regulators {
>  			vdd_logic: DCDC_REG1 {
>  				regulator-name = "vdd_logic";
> @@ -337,19 +389,28 @@
>  			rockchip,pins =
>  				<0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
>  		};
> +
> +		soc_slppin_gpio: soc_slppin_gpio {
> +			rockchip,pins =
> +				<0 RK_PA2 RK_FUNC_GPIO &pcfg_output_low>;
> +		};
> +
> +		soc_slppin_slp: soc_slppin_slp {
> +			rockchip,pins =
> +				<0 RK_PA2 1 &pcfg_pull_none>;
> +		};
> +
> +		soc_slppin_rst: soc_slppin_rst {
> +			rockchip,pins =
> +				<0 RK_PA2 2 &pcfg_pull_none>;
> +		};

These are unused.

>  	};
> -};
>  
> -&pmu_io_domains {
> -	pmuio1-supply = <&vcc3v3_pmu>;
> -	pmuio2-supply = <&vcc3v3_pmu>;
> -	vccio1-supply = <&vccio_acodec>;
> -	vccio3-supply = <&vccio_sd>;
> -	vccio4-supply = <&vcc_1v8>;
> -	vccio5-supply = <&vcc_3v3>;
> -	vccio6-supply = <&vcc_3v3>;
> -	vccio7-supply = <&vcc_3v3>;
> -	status = "okay";
> +	usb {
> +		vcc5v0_host_en: vcc5v0-host-en {
> +			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
> +		};
> +	};
>  };
>  
>  &pwm8 {
> @@ -404,22 +465,46 @@
>  	bus-width = <8>;
>  	max-frequency = <200000000>;
>  	non-removable;
> +	no-sd;
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
>  	status = "okay";
> +
> +	partitions {
> +		compatible = "fixed-partitions";
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +
> +		environment_emmc: partition at 408000 {
> +			label = "barebox-environment";
> +			reg = <0x0 0x408000 0x0 0x8000>;
> +		};
> +	};
>  };
>  
>  &sdmmc0 {
>  	bus-width = <4>;
>  	cap-sd-highspeed;
> -	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;

Could be added to barebox dts as well.

>  	disable-wp;
> +	max-frequency = <150000000>;
>  	pinctrl-names = "default";
>  	pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
>  	sd-uhs-sdr104;
> +	supports-sd;

Please drop. This is used nowhere.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list