linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Add DTS bits to enable USB3 PHY on HiKey970
@ 2021-09-02 11:55 Mauro Carvalho Chehab
  2021-09-02 11:55 ` [PATCH 1/2] arm64: dts: hisilicon: Add support for Hikey 970 PMIC Mauro Carvalho Chehab
  2021-09-02 11:55 ` [PATCH 2/2] arm64: dts: hisilicon: Add support for Hikey 970 USB3 PHY Mauro Carvalho Chehab
  0 siblings, 2 replies; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2021-09-02 11:55 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab, Rob Herring,
	devicetree, linux-arm-kernel, linux-kernel

Hi Wei,

Now that the Hi6421v600 PMIC together with its DT schema schema got
merged upstream, we can merge the PMIC and the USB3 PHY support for
HiKey 970 DTS.

Please merge those two via HiSilicon tree.

-

It should be noticed that there's one last component needed for USB3 to
work: the DT schema for the in-board USB HUB. I'll submit this in
separate, as such patch series is still under review:

	https://lore.kernel.org/lkml/cover.1630581434.git.mchehab+huawei@kernel.org/T/#t

Regards,
Mauro	

Mauro Carvalho Chehab (2):
  arm64: dts: hisilicon: Add support for Hikey 970 PMIC
  arm64: dts: hisilicon: Add support for Hikey 970 USB3 PHY

 .../boot/dts/hisilicon/hi3670-hikey970.dts    | 105 ++++++++++++++----
 arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  58 +++++++++-
 .../boot/dts/hisilicon/hikey970-pmic.dtsi     |  86 ++++++++++++++
 3 files changed, 229 insertions(+), 20 deletions(-)
 create mode 100644 arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi

-- 
2.31.1



^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] arm64: dts: hisilicon: Add support for Hikey 970 PMIC
  2021-09-02 11:55 [PATCH 0/2] Add DTS bits to enable USB3 PHY on HiKey970 Mauro Carvalho Chehab
@ 2021-09-02 11:55 ` Mauro Carvalho Chehab
  2021-09-15 12:51   ` Mauro Carvalho Chehab
  2021-09-02 11:55 ` [PATCH 2/2] arm64: dts: hisilicon: Add support for Hikey 970 USB3 PHY Mauro Carvalho Chehab
  1 sibling, 1 reply; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2021-09-02 11:55 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab, Rob Herring,
	devicetree, linux-arm-kernel, linux-kernel

Add a device tree for the HiSilicon 6421v600 SPMI PMIC, used
on HiKey970 board.

As we now have support for it, change the fixed regulators
used by the SD I/O to use the proper LDO supplies.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 .../boot/dts/hisilicon/hi3670-hikey970.dts    | 22 +----
 arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  2 +-
 .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
 3 files changed, 90 insertions(+), 20 deletions(-)
 create mode 100644 arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi

diff --git a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
index d8abf442ee7e..7c32f5fd5cc5 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
@@ -12,6 +12,7 @@
 
 #include "hi3670.dtsi"
 #include "hikey970-pinctrl.dtsi"
+#include "hikey970-pmic.dtsi"
 
 / {
 	model = "HiKey970";
@@ -39,23 +40,6 @@ memory@0 {
 		reg = <0x0 0x0 0x0 0x0>;
 	};
 
-	sd_1v8: regulator-1v8 {
-		compatible = "regulator-fixed";
-		regulator-name = "fixed-1.8V";
-		regulator-min-microvolt = <1800000>;
-		regulator-max-microvolt = <1800000>;
-		regulator-always-on;
-	};
-
-	sd_3v3: regulator-3v3 {
-		compatible = "regulator-fixed";
-		regulator-name = "fixed-3.3V";
-		regulator-min-microvolt = <3300000>;
-		regulator-max-microvolt = <3300000>;
-		regulator-boot-on;
-		regulator-always-on;
-	};
-
 	wlan_en: wlan-en-1-8v {
 		compatible = "regulator-fixed";
 		regulator-name = "wlan-en-regulator";
@@ -402,8 +386,8 @@ &dwmmc1 {
 	pinctrl-0 = <&sd_pmx_func
 		     &sd_clk_cfg_func
 		     &sd_cfg_func>;
-	vmmc-supply = <&sd_3v3>;
-	vqmmc-supply = <&sd_1v8>;
+	vmmc-supply = <&ldo16>;
+	vqmmc-supply = <&ldo9>;
 	status = "okay";
 };
 
diff --git a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
index 20698cfd0637..636c8817df7e 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
@@ -669,7 +669,7 @@ ufs: ufs@ff3c0000 {
 			interrupt-parent = <&gic>;
 			interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&crg_ctrl HI3670_CLK_GATE_UFSIO_REF>,
-				<&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>;
+				 <&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>;
 			clock-names = "ref_clk", "phy_clk";
 			freq-table-hz = <0 0
 					 0 0>;
diff --git a/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi b/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi
new file mode 100644
index 000000000000..970047f2dabd
--- /dev/null
+++ b/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi
@@ -0,0 +1,86 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * dts file for Hi6421v600 SPMI PMIC used at the HiKey970 Development Board
+ *
+ * Copyright (C) 2020, Huawei Tech. Co., Ltd.
+ */
+
+#include <dt-bindings/spmi/spmi.h>
+
+/ {
+	spmi: spmi@fff24000 {
+		compatible = "hisilicon,kirin970-spmi-controller";
+		#address-cells = <2>;
+		#size-cells = <0>;
+		status = "okay";
+		reg = <0x0 0xfff24000 0x0 0x1000>;
+		hisilicon,spmi-channel = <2>;
+
+		pmic: pmic@0 {
+			compatible = "hisilicon,hi6421-spmi";
+			reg = <0 SPMI_USID>;
+
+			#interrupt-cells = <2>;
+			interrupt-controller;
+			gpios = <&gpio28 0 0>;
+
+			regulators {
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				ldo3: ldo3 { /* HDMI */
+					regulator-name = "ldo3";
+					regulator-min-microvolt = <1500000>;
+					regulator-max-microvolt = <2000000>;
+					regulator-boot-on;
+				};
+
+				ldo4: ldo4 { /* 40 PIN */
+					regulator-name = "ldo4";
+					regulator-min-microvolt = <1725000>;
+					regulator-max-microvolt = <1900000>;
+					regulator-boot-on;
+				};
+
+				ldo9: ldo9 { /* SDCARD I/O */
+					regulator-name = "ldo9";
+					regulator-min-microvolt = <1750000>;
+					regulator-max-microvolt = <3300000>;
+					regulator-boot-on;
+				};
+
+				ldo15: ldo15 { /* UFS */
+					regulator-name = "ldo15";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <3000000>;
+					regulator-always-on;
+				};
+
+				ldo16: ldo16 { /* SD */
+					regulator-name = "ldo16";
+					regulator-min-microvolt = <1800000>;
+					regulator-max-microvolt = <3000000>;
+					regulator-boot-on;
+				};
+
+				ldo17: ldo17 { /* USB HUB */
+					regulator-name = "ldo17";
+					regulator-min-microvolt = <2500000>;
+					regulator-max-microvolt = <3300000>;
+				};
+
+				ldo33: ldo33 { /* PEX8606 */
+					regulator-name = "ldo33";
+					regulator-min-microvolt = <2500000>;
+					regulator-max-microvolt = <3300000>;
+				};
+
+				ldo34: ldo34 { /* GPS AUX IN VDD */
+					regulator-name = "ldo34";
+					regulator-min-microvolt = <2600000>;
+					regulator-max-microvolt = <3300000>;
+				};
+			};
+		};
+	};
+};
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] arm64: dts: hisilicon: Add support for Hikey 970 USB3 PHY
  2021-09-02 11:55 [PATCH 0/2] Add DTS bits to enable USB3 PHY on HiKey970 Mauro Carvalho Chehab
  2021-09-02 11:55 ` [PATCH 1/2] arm64: dts: hisilicon: Add support for Hikey 970 PMIC Mauro Carvalho Chehab
@ 2021-09-02 11:55 ` Mauro Carvalho Chehab
  2021-09-18  7:01   ` Wei Xu
  1 sibling, 1 reply; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2021-09-02 11:55 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab, Rob Herring,
	devicetree, linux-arm-kernel, linux-kernel

Add the USB3 bindings for Kirin 970 phy and Hikey 970 board.

Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
---
 .../boot/dts/hisilicon/hi3670-hikey970.dts    | 83 +++++++++++++++++++
 arch/arm64/boot/dts/hisilicon/hi3670.dtsi     | 56 +++++++++++++
 2 files changed, 139 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
index 7c32f5fd5cc5..60594db07041 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
@@ -430,3 +430,86 @@ &uart6 {
 	label = "LS-UART1";
 	status = "okay";
 };
+
+&usb_phy {
+	phy-supply = <&ldo17>;
+};
+
+&i2c1 {
+	status = "okay";
+
+	rt1711h: rt1711h@4e {
+		compatible = "richtek,rt1711h";
+		reg = <0x4e>;
+		status = "okay";
+		interrupt-parent = <&gpio27>;
+		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
+		pinctrl-names = "default";
+		pinctrl-0 = <&usb_cfg_func>;
+
+		usb_con: connector {
+			compatible = "usb-c-connector";
+			label = "USB-C";
+			data-role = "dual";
+			power-role = "dual";
+			try-power-role = "sink";
+			source-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>;
+			sink-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)
+				PDO_VAR(5000, 5000, 1000)>;
+			op-sink-microwatt = <10000000>;
+
+			ports {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				port@1 {
+					reg = <1>;
+					usb_con_ss: endpoint {
+						remote-endpoint = <&dwc3_ss>;
+					};
+				};
+			};
+		};
+		port {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			rt1711h_ep: endpoint@0 {
+				reg = <0>;
+				remote-endpoint = <&hikey_usb_ep1>;
+			};
+		};
+	};
+};
+
+&i2c2 {
+	/* USB HUB is on this bus at address 0x44 */
+	status = "okay";
+};
+
+&dwc3 { /* USB */
+	dr_mode = "otg";
+	maximum-speed = "super-speed";
+	phy_type = "utmi";
+	snps,dis-del-phy-power-chg-quirk;
+	snps,dis_u2_susphy_quirk;
+	snps,dis_u3_susphy_quirk;
+	snps,tx_de_emphasis_quirk;
+	snps,tx_de_emphasis = <1>;
+	snps,dis-split-quirk;
+	snps,gctl-reset-quirk;
+	usb-role-switch;
+	role-switch-default-mode = "host";
+	port {
+		#address-cells = <1>;
+		#size-cells = <0>;
+		dwc3_role_switch: endpoint@0 {
+			reg = <0>;
+			remote-endpoint = <&hikey_usb_ep0>;
+		};
+
+		dwc3_ss: endpoint@1 {
+			reg = <1>;
+			remote-endpoint = <&usb_con_ss>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
index 636c8817df7e..782e1487666d 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
+++ b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
@@ -8,6 +8,7 @@
 
 #include <dt-bindings/interrupt-controller/arm-gic.h>
 #include <dt-bindings/clock/hi3670-clock.h>
+#include <dt-bindings/usb/pd.h>
 
 / {
 	compatible = "hisilicon,hi3670";
@@ -785,5 +786,60 @@ i2c4: i2c@fdf0d000 {
 			pinctrl-0 = <&i2c4_pmx_func &i2c4_cfg_func>;
 			status = "disabled";
 		};
+
+		usb3_otg_bc: usb3_otg_bc@ff200000 {
+			compatible = "syscon", "simple-mfd";
+			reg = <0x0 0xff200000 0x0 0x1000>;
+
+			usb_phy: usbphy {
+				compatible = "hisilicon,hi3670-usb-phy";
+				#phy-cells = <0>;
+				hisilicon,pericrg-syscon = <&crg_ctrl>;
+				hisilicon,pctrl-syscon = <&pctrl>;
+				hisilicon,sctrl-syscon = <&sctrl>;
+				hisilicon,eye-diagram-param = <0xFDFEE4>;
+				hisilicon,tx-vboost-lvl = <0x5>;
+			};
+		};
+
+		usb31_misc_rst: usb31_misc_rst_controller {
+			compatible = "hisilicon,hi3660-reset";
+			#reset-cells = <2>;
+			hisi,rst-syscon = <&usb3_otg_bc>;
+		};
+
+		usb3: hisi_dwc3 {
+			compatible = "hisilicon,hi3670-dwc3";
+			#address-cells = <2>;
+			#size-cells = <2>;
+			ranges;
+
+			clocks = <&crg_ctrl HI3670_CLK_GATE_ABB_USB>,
+				  <&crg_ctrl HI3670_HCLK_GATE_USB3OTG>,
+				  <&crg_ctrl HI3670_CLK_GATE_USB3OTG_REF>,
+				  <&crg_ctrl HI3670_ACLK_GATE_USB3DVFS>;
+			clock-names = "clk_gate_abb_usb",
+				      "hclk_gate_usb3otg",
+				      "clk_gate_usb3otg_ref",
+				      "aclk_gate_usb3dvfs";
+
+			assigned-clocks = <&crg_ctrl HI3670_ACLK_GATE_USB3DVFS>;
+			assigned-clock-rates = <238000000>;
+			resets = <&crg_rst 0x90 6>,
+				 <&crg_rst 0x90 7>,
+				 <&usb31_misc_rst 0xA0 8>,
+				 <&usb31_misc_rst 0xA0 9>;
+
+			dwc3: usb@ff100000 {
+				compatible = "snps,dwc3";
+				reg = <0x0 0xff100000 0x0 0x100000>;
+
+				interrupts = <0 159 IRQ_TYPE_LEVEL_HIGH>,
+					    <0 161 IRQ_TYPE_LEVEL_HIGH>;
+
+				phys = <&usb_phy>;
+				phy-names = "usb3-phy";
+			};
+		};
 	};
 };
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] arm64: dts: hisilicon: Add support for Hikey 970 PMIC
  2021-09-02 11:55 ` [PATCH 1/2] arm64: dts: hisilicon: Add support for Hikey 970 PMIC Mauro Carvalho Chehab
@ 2021-09-15 12:51   ` Mauro Carvalho Chehab
  2021-09-18  7:08     ` Wei Xu
  0 siblings, 1 reply; 6+ messages in thread
From: Mauro Carvalho Chehab @ 2021-09-15 12:51 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Rob Herring, devicetree,
	linux-arm-kernel, linux-kernel

Em Thu,  2 Sep 2021 13:55:23 +0200
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu:

> Add a device tree for the HiSilicon 6421v600 SPMI PMIC, used
> on HiKey970 board.
> 
> As we now have support for it, change the fixed regulators
> used by the SD I/O to use the proper LDO supplies.

Hi Wei,

Gentile ping.

Now that the drivers and the DT schema are already upstreamed, could 
you please merge those two patches?

Thank you!
Mauro

> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
>  .../boot/dts/hisilicon/hi3670-hikey970.dts    | 22 +----
>  arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  2 +-
>  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
>  3 files changed, 90 insertions(+), 20 deletions(-)
>  create mode 100644 arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> index d8abf442ee7e..7c32f5fd5cc5 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> @@ -12,6 +12,7 @@
>  
>  #include "hi3670.dtsi"
>  #include "hikey970-pinctrl.dtsi"
> +#include "hikey970-pmic.dtsi"
>  
>  / {
>  	model = "HiKey970";
> @@ -39,23 +40,6 @@ memory@0 {
>  		reg = <0x0 0x0 0x0 0x0>;
>  	};
>  
> -	sd_1v8: regulator-1v8 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "fixed-1.8V";
> -		regulator-min-microvolt = <1800000>;
> -		regulator-max-microvolt = <1800000>;
> -		regulator-always-on;
> -	};
> -
> -	sd_3v3: regulator-3v3 {
> -		compatible = "regulator-fixed";
> -		regulator-name = "fixed-3.3V";
> -		regulator-min-microvolt = <3300000>;
> -		regulator-max-microvolt = <3300000>;
> -		regulator-boot-on;
> -		regulator-always-on;
> -	};
> -
>  	wlan_en: wlan-en-1-8v {
>  		compatible = "regulator-fixed";
>  		regulator-name = "wlan-en-regulator";
> @@ -402,8 +386,8 @@ &dwmmc1 {
>  	pinctrl-0 = <&sd_pmx_func
>  		     &sd_clk_cfg_func
>  		     &sd_cfg_func>;  
> -	vmmc-supply = <&sd_3v3>;
> -	vqmmc-supply = <&sd_1v8>;
> +	vmmc-supply = <&ldo16>;
> +	vqmmc-supply = <&ldo9>;
>  	status = "okay";
>  };
>  
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
> index 20698cfd0637..636c8817df7e 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
> @@ -669,7 +669,7 @@ ufs: ufs@ff3c0000 {
>  			interrupt-parent = <&gic>;
>  			interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
>  			clocks = <&crg_ctrl HI3670_CLK_GATE_UFSIO_REF>,
> -				<&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>;
> +				 <&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>;
>  			clock-names = "ref_clk", "phy_clk";
>  			freq-table-hz = <0 0
>  					 0 0>;
> diff --git a/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi b/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi
> new file mode 100644
> index 000000000000..970047f2dabd
> --- /dev/null
> +++ b/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi
> @@ -0,0 +1,86 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * dts file for Hi6421v600 SPMI PMIC used at the HiKey970 Development Board
> + *
> + * Copyright (C) 2020, Huawei Tech. Co., Ltd.
> + */
> +
> +#include <dt-bindings/spmi/spmi.h>
> +
> +/ {
> +	spmi: spmi@fff24000 {
> +		compatible = "hisilicon,kirin970-spmi-controller";
> +		#address-cells = <2>;
> +		#size-cells = <0>;
> +		status = "okay";
> +		reg = <0x0 0xfff24000 0x0 0x1000>;
> +		hisilicon,spmi-channel = <2>;
> +
> +		pmic: pmic@0 {
> +			compatible = "hisilicon,hi6421-spmi";
> +			reg = <0 SPMI_USID>;
> +
> +			#interrupt-cells = <2>;
> +			interrupt-controller;
> +			gpios = <&gpio28 0 0>;
> +
> +			regulators {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +
> +				ldo3: ldo3 { /* HDMI */
> +					regulator-name = "ldo3";
> +					regulator-min-microvolt = <1500000>;
> +					regulator-max-microvolt = <2000000>;
> +					regulator-boot-on;
> +				};
> +
> +				ldo4: ldo4 { /* 40 PIN */
> +					regulator-name = "ldo4";
> +					regulator-min-microvolt = <1725000>;
> +					regulator-max-microvolt = <1900000>;
> +					regulator-boot-on;
> +				};
> +
> +				ldo9: ldo9 { /* SDCARD I/O */
> +					regulator-name = "ldo9";
> +					regulator-min-microvolt = <1750000>;
> +					regulator-max-microvolt = <3300000>;
> +					regulator-boot-on;
> +				};
> +
> +				ldo15: ldo15 { /* UFS */
> +					regulator-name = "ldo15";
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <3000000>;
> +					regulator-always-on;
> +				};
> +
> +				ldo16: ldo16 { /* SD */
> +					regulator-name = "ldo16";
> +					regulator-min-microvolt = <1800000>;
> +					regulator-max-microvolt = <3000000>;
> +					regulator-boot-on;
> +				};
> +
> +				ldo17: ldo17 { /* USB HUB */
> +					regulator-name = "ldo17";
> +					regulator-min-microvolt = <2500000>;
> +					regulator-max-microvolt = <3300000>;
> +				};
> +
> +				ldo33: ldo33 { /* PEX8606 */
> +					regulator-name = "ldo33";
> +					regulator-min-microvolt = <2500000>;
> +					regulator-max-microvolt = <3300000>;
> +				};
> +
> +				ldo34: ldo34 { /* GPS AUX IN VDD */
> +					regulator-name = "ldo34";
> +					regulator-min-microvolt = <2600000>;
> +					regulator-max-microvolt = <3300000>;
> +				};
> +			};
> +		};
> +	};
> +};



Thanks,
Mauro

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] arm64: dts: hisilicon: Add support for Hikey 970 USB3 PHY
  2021-09-02 11:55 ` [PATCH 2/2] arm64: dts: hisilicon: Add support for Hikey 970 USB3 PHY Mauro Carvalho Chehab
@ 2021-09-18  7:01   ` Wei Xu
  0 siblings, 0 replies; 6+ messages in thread
From: Wei Xu @ 2021-09-18  7:01 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: linuxarm, mauro.chehab, Rob Herring, devicetree,
	linux-arm-kernel, linux-kernel

Hi Mauro,

On 2021/9/2 19:55, Mauro Carvalho Chehab wrote:
> Add the USB3 bindings for Kirin 970 phy and Hikey 970 board.
> 
> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
> ---
>  .../boot/dts/hisilicon/hi3670-hikey970.dts    | 83 +++++++++++++++++++
>  arch/arm64/boot/dts/hisilicon/hi3670.dtsi     | 56 +++++++++++++
>  2 files changed, 139 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> index 7c32f5fd5cc5..60594db07041 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> @@ -430,3 +430,86 @@ &uart6 {
>  	label = "LS-UART1";
>  	status = "okay";
>  };
> +
> +&usb_phy {
> +	phy-supply = <&ldo17>;
> +};
> +
> +&i2c1 {
> +	status = "okay";
> +
> +	rt1711h: rt1711h@4e {
> +		compatible = "richtek,rt1711h";
> +		reg = <0x4e>;
> +		status = "okay";
> +		interrupt-parent = <&gpio27>;
> +		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&usb_cfg_func>;
> +
> +		usb_con: connector {
> +			compatible = "usb-c-connector";
> +			label = "USB-C";
> +			data-role = "dual";
> +			power-role = "dual";
> +			try-power-role = "sink";
> +			source-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)>;
> +			sink-pdos = <PDO_FIXED(5000, 500, PDO_FIXED_USB_COMM)
> +				PDO_VAR(5000, 5000, 1000)>;
> +			op-sink-microwatt = <10000000>;
> +
> +			ports {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +				port@1 {
> +					reg = <1>;
> +					usb_con_ss: endpoint {
> +						remote-endpoint = <&dwc3_ss>;
> +					};
> +				};
> +			};
> +		};
> +		port {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			rt1711h_ep: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&hikey_usb_ep1>;

The 'hikey_usb_ep1' is not defined yet.

> +			};
> +		};
> +	};
> +};
> +
> +&i2c2 {
> +	/* USB HUB is on this bus at address 0x44 */
> +	status = "okay";
> +};
> +
> +&dwc3 { /* USB */
> +	dr_mode = "otg";
> +	maximum-speed = "super-speed";
> +	phy_type = "utmi";
> +	snps,dis-del-phy-power-chg-quirk;
> +	snps,dis_u2_susphy_quirk;
> +	snps,dis_u3_susphy_quirk;
> +	snps,tx_de_emphasis_quirk;
> +	snps,tx_de_emphasis = <1>;
> +	snps,dis-split-quirk;
> +	snps,gctl-reset-quirk;
> +	usb-role-switch;
> +	role-switch-default-mode = "host";
> +	port {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +		dwc3_role_switch: endpoint@0 {
> +			reg = <0>;
> +			remote-endpoint = <&hikey_usb_ep0>;

Ditto. The 'hikey_usb_ep0' is not defined yet.

> +		};
> +
> +		dwc3_ss: endpoint@1 {
> +			reg = <1>;
> +			remote-endpoint = <&usb_con_ss>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
> index 636c8817df7e..782e1487666d 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
> +++ b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
> @@ -8,6 +8,7 @@
>  
>  #include <dt-bindings/interrupt-controller/arm-gic.h>
>  #include <dt-bindings/clock/hi3670-clock.h>
> +#include <dt-bindings/usb/pd.h>
>  
>  / {
>  	compatible = "hisilicon,hi3670";
> @@ -785,5 +786,60 @@ i2c4: i2c@fdf0d000 {
>  			pinctrl-0 = <&i2c4_pmx_func &i2c4_cfg_func>;
>  			status = "disabled";
>  		};
> +
> +		usb3_otg_bc: usb3_otg_bc@ff200000 {
> +			compatible = "syscon", "simple-mfd";
> +			reg = <0x0 0xff200000 0x0 0x1000>;
> +
> +			usb_phy: usbphy {
> +				compatible = "hisilicon,hi3670-usb-phy";
> +				#phy-cells = <0>;
> +				hisilicon,pericrg-syscon = <&crg_ctrl>;
> +				hisilicon,pctrl-syscon = <&pctrl>;
> +				hisilicon,sctrl-syscon = <&sctrl>;
> +				hisilicon,eye-diagram-param = <0xFDFEE4>;
> +				hisilicon,tx-vboost-lvl = <0x5>;
> +			};
> +		};
> +
> +		usb31_misc_rst: usb31_misc_rst_controller {
> +			compatible = "hisilicon,hi3660-reset";
> +			#reset-cells = <2>;
> +			hisi,rst-syscon = <&usb3_otg_bc>;
> +		};
> +
> +		usb3: hisi_dwc3 {
> +			compatible = "hisilicon,hi3670-dwc3";

Is it OK to add the 'hi3670-dwc3' into the devicetree binding document?
Thanks!

Best Regards,
Wei

> +			#address-cells = <2>;
> +			#size-cells = <2>;
> +			ranges;
> +
> +			clocks = <&crg_ctrl HI3670_CLK_GATE_ABB_USB>,
> +				  <&crg_ctrl HI3670_HCLK_GATE_USB3OTG>,
> +				  <&crg_ctrl HI3670_CLK_GATE_USB3OTG_REF>,
> +				  <&crg_ctrl HI3670_ACLK_GATE_USB3DVFS>;
> +			clock-names = "clk_gate_abb_usb",
> +				      "hclk_gate_usb3otg",
> +				      "clk_gate_usb3otg_ref",
> +				      "aclk_gate_usb3dvfs";
> +
> +			assigned-clocks = <&crg_ctrl HI3670_ACLK_GATE_USB3DVFS>;
> +			assigned-clock-rates = <238000000>;
> +			resets = <&crg_rst 0x90 6>,
> +				 <&crg_rst 0x90 7>,
> +				 <&usb31_misc_rst 0xA0 8>,
> +				 <&usb31_misc_rst 0xA0 9>;
> +
> +			dwc3: usb@ff100000 {
> +				compatible = "snps,dwc3";
> +				reg = <0x0 0xff100000 0x0 0x100000>;
> +
> +				interrupts = <0 159 IRQ_TYPE_LEVEL_HIGH>,
> +					    <0 161 IRQ_TYPE_LEVEL_HIGH>;
> +
> +				phys = <&usb_phy>;
> +				phy-names = "usb3-phy";
> +			};
> +		};
>  	};
>  };
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] arm64: dts: hisilicon: Add support for Hikey 970 PMIC
  2021-09-15 12:51   ` Mauro Carvalho Chehab
@ 2021-09-18  7:08     ` Wei Xu
  0 siblings, 0 replies; 6+ messages in thread
From: Wei Xu @ 2021-09-18  7:08 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: linuxarm, mauro.chehab, Rob Herring, devicetree,
	linux-arm-kernel, linux-kernel

Hi Mauro,

On 2021/9/15 20:51, Mauro Carvalho Chehab wrote:
> Em Thu,  2 Sep 2021 13:55:23 +0200
> Mauro Carvalho Chehab <mchehab+huawei@kernel.org> escreveu:
> 
>> Add a device tree for the HiSilicon 6421v600 SPMI PMIC, used
>> on HiKey970 board.
>>
>> As we now have support for it, change the fixed regulators
>> used by the SD I/O to use the proper LDO supplies.
> 
> Hi Wei,
> 
> Gentile ping.
> 
> Now that the drivers and the DT schema are already upstreamed, could 
> you please merge those two patches?

Applied the patch 1 to the HiSilicon arm64 dt tree.
Thanks!

Best Regards,
Wei

> 
> Thank you!
> Mauro
> 
>>
>> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
>> ---
>>  .../boot/dts/hisilicon/hi3670-hikey970.dts    | 22 +----
>>  arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  2 +-
>>  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
>>  3 files changed, 90 insertions(+), 20 deletions(-)
>>  create mode 100644 arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi
>>
>> diff --git a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
>> index d8abf442ee7e..7c32f5fd5cc5 100644
>> --- a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
>> +++ b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
>> @@ -12,6 +12,7 @@
>>  
>>  #include "hi3670.dtsi"
>>  #include "hikey970-pinctrl.dtsi"
>> +#include "hikey970-pmic.dtsi"
>>  
>>  / {
>>  	model = "HiKey970";
>> @@ -39,23 +40,6 @@ memory@0 {
>>  		reg = <0x0 0x0 0x0 0x0>;
>>  	};
>>  
>> -	sd_1v8: regulator-1v8 {
>> -		compatible = "regulator-fixed";
>> -		regulator-name = "fixed-1.8V";
>> -		regulator-min-microvolt = <1800000>;
>> -		regulator-max-microvolt = <1800000>;
>> -		regulator-always-on;
>> -	};
>> -
>> -	sd_3v3: regulator-3v3 {
>> -		compatible = "regulator-fixed";
>> -		regulator-name = "fixed-3.3V";
>> -		regulator-min-microvolt = <3300000>;
>> -		regulator-max-microvolt = <3300000>;
>> -		regulator-boot-on;
>> -		regulator-always-on;
>> -	};
>> -
>>  	wlan_en: wlan-en-1-8v {
>>  		compatible = "regulator-fixed";
>>  		regulator-name = "wlan-en-regulator";
>> @@ -402,8 +386,8 @@ &dwmmc1 {
>>  	pinctrl-0 = <&sd_pmx_func
>>  		     &sd_clk_cfg_func
>>  		     &sd_cfg_func>;  
>> -	vmmc-supply = <&sd_3v3>;
>> -	vqmmc-supply = <&sd_1v8>;
>> +	vmmc-supply = <&ldo16>;
>> +	vqmmc-supply = <&ldo9>;
>>  	status = "okay";
>>  };
>>  
>> diff --git a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
>> index 20698cfd0637..636c8817df7e 100644
>> --- a/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
>> +++ b/arch/arm64/boot/dts/hisilicon/hi3670.dtsi
>> @@ -669,7 +669,7 @@ ufs: ufs@ff3c0000 {
>>  			interrupt-parent = <&gic>;
>>  			interrupts = <GIC_SPI 278 IRQ_TYPE_LEVEL_HIGH>;
>>  			clocks = <&crg_ctrl HI3670_CLK_GATE_UFSIO_REF>,
>> -				<&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>;
>> +				 <&crg_ctrl HI3670_CLK_GATE_UFS_SUBSYS>;
>>  			clock-names = "ref_clk", "phy_clk";
>>  			freq-table-hz = <0 0
>>  					 0 0>;
>> diff --git a/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi b/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi
>> new file mode 100644
>> index 000000000000..970047f2dabd
>> --- /dev/null
>> +++ b/arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi
>> @@ -0,0 +1,86 @@
>> +// SPDX-License-Identifier: GPL-2.0
>> +/*
>> + * dts file for Hi6421v600 SPMI PMIC used at the HiKey970 Development Board
>> + *
>> + * Copyright (C) 2020, Huawei Tech. Co., Ltd.
>> + */
>> +
>> +#include <dt-bindings/spmi/spmi.h>
>> +
>> +/ {
>> +	spmi: spmi@fff24000 {
>> +		compatible = "hisilicon,kirin970-spmi-controller";
>> +		#address-cells = <2>;
>> +		#size-cells = <0>;
>> +		status = "okay";
>> +		reg = <0x0 0xfff24000 0x0 0x1000>;
>> +		hisilicon,spmi-channel = <2>;
>> +
>> +		pmic: pmic@0 {
>> +			compatible = "hisilicon,hi6421-spmi";
>> +			reg = <0 SPMI_USID>;
>> +
>> +			#interrupt-cells = <2>;
>> +			interrupt-controller;
>> +			gpios = <&gpio28 0 0>;
>> +
>> +			regulators {
>> +				#address-cells = <1>;
>> +				#size-cells = <0>;
>> +
>> +				ldo3: ldo3 { /* HDMI */
>> +					regulator-name = "ldo3";
>> +					regulator-min-microvolt = <1500000>;
>> +					regulator-max-microvolt = <2000000>;
>> +					regulator-boot-on;
>> +				};
>> +
>> +				ldo4: ldo4 { /* 40 PIN */
>> +					regulator-name = "ldo4";
>> +					regulator-min-microvolt = <1725000>;
>> +					regulator-max-microvolt = <1900000>;
>> +					regulator-boot-on;
>> +				};
>> +
>> +				ldo9: ldo9 { /* SDCARD I/O */
>> +					regulator-name = "ldo9";
>> +					regulator-min-microvolt = <1750000>;
>> +					regulator-max-microvolt = <3300000>;
>> +					regulator-boot-on;
>> +				};
>> +
>> +				ldo15: ldo15 { /* UFS */
>> +					regulator-name = "ldo15";
>> +					regulator-min-microvolt = <1800000>;
>> +					regulator-max-microvolt = <3000000>;
>> +					regulator-always-on;
>> +				};
>> +
>> +				ldo16: ldo16 { /* SD */
>> +					regulator-name = "ldo16";
>> +					regulator-min-microvolt = <1800000>;
>> +					regulator-max-microvolt = <3000000>;
>> +					regulator-boot-on;
>> +				};
>> +
>> +				ldo17: ldo17 { /* USB HUB */
>> +					regulator-name = "ldo17";
>> +					regulator-min-microvolt = <2500000>;
>> +					regulator-max-microvolt = <3300000>;
>> +				};
>> +
>> +				ldo33: ldo33 { /* PEX8606 */
>> +					regulator-name = "ldo33";
>> +					regulator-min-microvolt = <2500000>;
>> +					regulator-max-microvolt = <3300000>;
>> +				};
>> +
>> +				ldo34: ldo34 { /* GPS AUX IN VDD */
>> +					regulator-name = "ldo34";
>> +					regulator-min-microvolt = <2600000>;
>> +					regulator-max-microvolt = <3300000>;
>> +				};
>> +			};
>> +		};
>> +	};
>> +};
> 
> 
> 
> Thanks,
> Mauro
> .
> 

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-09-18  7:08 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-02 11:55 [PATCH 0/2] Add DTS bits to enable USB3 PHY on HiKey970 Mauro Carvalho Chehab
2021-09-02 11:55 ` [PATCH 1/2] arm64: dts: hisilicon: Add support for Hikey 970 PMIC Mauro Carvalho Chehab
2021-09-15 12:51   ` Mauro Carvalho Chehab
2021-09-18  7:08     ` Wei Xu
2021-09-02 11:55 ` [PATCH 2/2] arm64: dts: hisilicon: Add support for Hikey 970 USB3 PHY Mauro Carvalho Chehab
2021-09-18  7:01   ` Wei Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).