Commit 3a44a8d1 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven
Browse files

arm64: dts: renesas: salvator-xs: Factor out USB ch3 parts



Move the parts related to the fourth USB2 interface on Salvator-XS
boards to salvator-xs.dtsi, to avoid future duplication of board
descriptions.

As this interface is not present on all SoCs that can be found on
Salvator-X(S), but only on R-Car H3 ES2.0+, its descriptions are
protected by the preprocessor symbol SOC_HAS_USB2_CH3, defined in
r8a77951.dtsi, and undefined in r8a77950.dtsi.

Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: default avatarNiklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/411df1adfd64ee82e5a0d1603df85d657fd4f8c0.1623087028.git.geert+renesas@glider.be
parent d18fb00d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -7,6 +7,8 @@

#include "r8a77951.dtsi"

#undef SOC_HAS_USB2_CH3

&audma0 {
	iommus = <&ipmmu_mp1 0>, <&ipmmu_mp1 1>,
	       <&ipmmu_mp1 2>, <&ipmmu_mp1 3>,
+0 −41
Original line number Diff line number Diff line
@@ -47,44 +47,3 @@
	clock-names = "du.0", "du.1", "du.2", "du.3",
		      "dclkin.0", "dclkin.1", "dclkin.2", "dclkin.3";
};

&ehci3 {
	dr_mode = "otg";
	status = "okay";
};

&hsusb3 {
	dr_mode = "otg";
	status = "okay";
};

&ohci3 {
	dr_mode = "otg";
	status = "okay";
};

&pfc {
	/*
	 * - On Salvator-X[S], GP6_3[01] are connected to ADV7482 as irq pins
	 *   (when SW31 is the default setting on Salvator-XS).
	 * - If SW31 is the default setting, you cannot use USB2.0 ch3 on
	 *   r8a77951 with Salvator-XS.
	 *   Hence the SW31 setting must be changed like 2) below.
	 *   1) Default setting of SW31: ON-ON-OFF-OFF-OFF-OFF:
	 *	- Connect GP6_3[01] to ADV7842.
	 *   2) Changed setting of SW31: OFF-OFF-ON-ON-ON-ON:
	 *	- Connect GP6_3[01] to BD082065 (USB2.0 ch3's host power).
	 *	- Connect GP6_{04,21} to ADV7842.
	 */
	usb2_ch3_pins: usb2_ch3 {
		groups = "usb2_ch3";
		function = "usb2_ch3";
	};
};

&usb2_phy3 {
	pinctrl-0 = <&usb2_ch3_pins>;
	pinctrl-names = "default";

	status = "okay";
};
+1 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@
#define SOC_HAS_HDMI1
#define SOC_HAS_SATA
#define SOC_HAS_USB2_CH2
#define SOC_HAS_USB2_CH3

/ {
	compatible = "renesas,r8a7795";
+43 −0
Original line number Diff line number Diff line
@@ -40,3 +40,46 @@

/* SW12-7 must be set 'Off' (MD12 set to 1) which is not the default! */
#endif /* SOC_HAS_SATA */

#ifdef SOC_HAS_USB2_CH3
&ehci3 {
	dr_mode = "otg";
	status = "okay";
};

&hsusb3 {
	dr_mode = "otg";
	status = "okay";
};

&ohci3 {
	dr_mode = "otg";
	status = "okay";
};

&pfc {
	/*
	 * - On Salvator-X[S], GP6_3[01] are connected to ADV7482 as irq pins
	 *   (when SW31 is the default setting on Salvator-XS).
	 * - If SW31 is the default setting, you cannot use USB2.0 ch3 on
	 *   r8a77951 with Salvator-XS.
	 *   Hence the SW31 setting must be changed like 2) below.
	 *   1) Default setting of SW31: ON-ON-OFF-OFF-OFF-OFF:
	 *	- Connect GP6_3[01] to ADV7842.
	 *   2) Changed setting of SW31: OFF-OFF-ON-ON-ON-ON:
	 *	- Connect GP6_3[01] to BD082065 (USB2.0 ch3's host power).
	 *	- Connect GP6_{04,21} to ADV7842.
	 */
	usb2_ch3_pins: usb2_ch3 {
		groups = "usb2_ch3";
		function = "usb2_ch3";
	};
};

&usb2_phy3 {
	pinctrl-0 = <&usb2_ch3_pins>;
	pinctrl-names = "default";

	status = "okay";
};
#endif /* SOC_HAS_USB2_CH3 */