All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Add support for Kirin 970 PMIC and USB3
@ 2021-07-24  8:55 ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-24  8:55 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab,
	Greg Kroah-Hartman, Rob Herring, Rob Herring, devicetree,
	linux-arm-kernel, linux-kernel

As the PMIC driver was finally promoved from staging, add the DT
properties for both PMIC and USB3 for HiKey 970.

Mauro Carvalho Chehab (2):
  dts: hisilicon: add support for the PMIC found on Hikey 970
  dts: hisilicon: add support for USB3 on Hikey 970

 .../boot/dts/hisilicon/hi3670-hikey970.dts    | 129 +++++++++++++++---
 arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  56 ++++++++
 .../boot/dts/hisilicon/hikey970-pmic.dtsi     |  86 ++++++++++++
 3 files changed, 252 insertions(+), 19 deletions(-)
 create mode 100644 arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi

-- 
2.31.1



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

* [PATCH 0/2] Add support for Kirin 970 PMIC and USB3
@ 2021-07-24  8:55 ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-24  8:55 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab,
	Greg Kroah-Hartman, Rob Herring, Rob Herring, devicetree,
	linux-arm-kernel, linux-kernel

As the PMIC driver was finally promoved from staging, add the DT
properties for both PMIC and USB3 for HiKey 970.

Mauro Carvalho Chehab (2):
  dts: hisilicon: add support for the PMIC found on Hikey 970
  dts: hisilicon: add support for USB3 on Hikey 970

 .../boot/dts/hisilicon/hi3670-hikey970.dts    | 129 +++++++++++++++---
 arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  56 ++++++++
 .../boot/dts/hisilicon/hikey970-pmic.dtsi     |  86 ++++++++++++
 3 files changed, 252 insertions(+), 19 deletions(-)
 create mode 100644 arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi

-- 
2.31.1



_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
  2021-07-24  8:55 ` Mauro Carvalho Chehab
@ 2021-07-24  8:55   ` Mauro Carvalho Chehab
  -1 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-24  8:55 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab,
	Greg Kroah-Hartman, Rob Herring, 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 +----
 .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
 2 files changed, 89 insertions(+), 19 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/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] 20+ messages in thread

* [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
@ 2021-07-24  8:55   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-24  8:55 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab,
	Greg Kroah-Hartman, Rob Herring, 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 +----
 .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
 2 files changed, 89 insertions(+), 19 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/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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 2/2] dts: hisilicon: add support for USB3 on Hikey 970
  2021-07-24  8:55 ` Mauro Carvalho Chehab
@ 2021-07-24  8:55   ` Mauro Carvalho Chehab
  -1 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-24  8:55 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab,
	Greg Kroah-Hartman, Rob Herring, 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    | 107 ++++++++++++++++++
 arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  56 +++++++++
 2 files changed, 163 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
index 7c32f5fd5cc5..16f81f86e3fa 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
@@ -53,6 +53,30 @@ wlan_en: wlan-en-1-8v {
 		startup-delay-us = <70000>;
 		enable-active-high;
 	};
+
+	hikey_usbhub: hikey_usbhub {
+		compatible = "hisilicon,kirin970_hikey_usbhub";
+
+		typec-vbus-gpios = <&gpio26 1 0>;
+		otg-switch-gpios = <&gpio4 2 0>;
+		hub_reset_en_gpio = <&gpio0 3 0>;
+		hub-vdd-supply = <&ldo17>;
+		usb-role-switch;
+
+		port {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			hikey_usb_ep0: endpoint@0 {
+				reg = <0>;
+				remote-endpoint = <&dwc3_role_switch>;
+			};
+			hikey_usb_ep1: endpoint@1 {
+				reg = <1>;
+				remote-endpoint = <&rt1711h_ep>;
+			};
+		};
+	};
 };
 
 /*
@@ -430,3 +454,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 20698cfd0637..1f228612192c 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] 20+ messages in thread

* [PATCH 2/2] dts: hisilicon: add support for USB3 on Hikey 970
@ 2021-07-24  8:55   ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-24  8:55 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Mauro Carvalho Chehab,
	Greg Kroah-Hartman, Rob Herring, 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    | 107 ++++++++++++++++++
 arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  56 +++++++++
 2 files changed, 163 insertions(+)

diff --git a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
index 7c32f5fd5cc5..16f81f86e3fa 100644
--- a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
@@ -53,6 +53,30 @@ wlan_en: wlan-en-1-8v {
 		startup-delay-us = <70000>;
 		enable-active-high;
 	};
+
+	hikey_usbhub: hikey_usbhub {
+		compatible = "hisilicon,kirin970_hikey_usbhub";
+
+		typec-vbus-gpios = <&gpio26 1 0>;
+		otg-switch-gpios = <&gpio4 2 0>;
+		hub_reset_en_gpio = <&gpio0 3 0>;
+		hub-vdd-supply = <&ldo17>;
+		usb-role-switch;
+
+		port {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			hikey_usb_ep0: endpoint@0 {
+				reg = <0>;
+				remote-endpoint = <&dwc3_role_switch>;
+			};
+			hikey_usb_ep1: endpoint@1 {
+				reg = <1>;
+				remote-endpoint = <&rt1711h_ep>;
+			};
+		};
+	};
 };
 
 /*
@@ -430,3 +454,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 20698cfd0637..1f228612192c 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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
  2021-07-24  8:55   ` Mauro Carvalho Chehab
@ 2021-07-26  2:40     ` Wei Xu
  -1 siblings, 0 replies; 20+ messages in thread
From: Wei Xu @ 2021-07-26  2:40 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: linuxarm, mauro.chehab, Greg Kroah-Hartman, Rob Herring,
	Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
	xuwei (O)

Hi Mauro,

On 2021/7/24 16:55, Mauro Carvalho Chehab wrote:
> 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 +----
>  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
>  2 files changed, 89 insertions(+), 19 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/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";

Should this be "hisilicon,hi6421-pmic" which is already in the binding document "mfd/hi6421.txt"?
Others are OK to me.
Thanks!

Best Regards,
Wei

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

* Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
@ 2021-07-26  2:40     ` Wei Xu
  0 siblings, 0 replies; 20+ messages in thread
From: Wei Xu @ 2021-07-26  2:40 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: linuxarm, mauro.chehab, Greg Kroah-Hartman, Rob Herring,
	Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
	xuwei (O)

Hi Mauro,

On 2021/7/24 16:55, Mauro Carvalho Chehab wrote:
> 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 +----
>  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
>  2 files changed, 89 insertions(+), 19 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/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";

Should this be "hisilicon,hi6421-pmic" which is already in the binding document "mfd/hi6421.txt"?
Others are OK to me.
Thanks!

Best Regards,
Wei

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/2] dts: hisilicon: add support for USB3 on Hikey 970
  2021-07-24  8:55   ` Mauro Carvalho Chehab
@ 2021-07-26  3:01     ` Wei Xu
  -1 siblings, 0 replies; 20+ messages in thread
From: Wei Xu @ 2021-07-26  3:01 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: linuxarm, mauro.chehab, Greg Kroah-Hartman, Rob Herring,
	Rob Herring, devicetree, linux-arm-kernel, linux-kernel

Hi Mauro,

On 2021/7/24 16: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>

Fine to me and I can merge this patch once the binding for the 
"kirin970_hikey_usbhub" and "hi3670-dwc3" are ready.
Thanks!

Best Regards,
Wei

> ---
>  .../boot/dts/hisilicon/hi3670-hikey970.dts    | 107 ++++++++++++++++++
>  arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  56 +++++++++
>  2 files changed, 163 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> index 7c32f5fd5cc5..16f81f86e3fa 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> @@ -53,6 +53,30 @@ wlan_en: wlan-en-1-8v {
>  		startup-delay-us = <70000>;
>  		enable-active-high;
>  	};
> +
> +	hikey_usbhub: hikey_usbhub {
> +		compatible = "hisilicon,kirin970_hikey_usbhub";
> +
> +		typec-vbus-gpios = <&gpio26 1 0>;
> +		otg-switch-gpios = <&gpio4 2 0>;
> +		hub_reset_en_gpio = <&gpio0 3 0>;
> +		hub-vdd-supply = <&ldo17>;
> +		usb-role-switch;
> +
> +		port {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			hikey_usb_ep0: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&dwc3_role_switch>;
> +			};
> +			hikey_usb_ep1: endpoint@1 {
> +				reg = <1>;
> +				remote-endpoint = <&rt1711h_ep>;
> +			};
> +		};
> +	};
>  };
>  
>  /*
> @@ -430,3 +454,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 20698cfd0637..1f228612192c 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";
> +			};
> +		};
>  	};
>  };
> 

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

* Re: [PATCH 2/2] dts: hisilicon: add support for USB3 on Hikey 970
@ 2021-07-26  3:01     ` Wei Xu
  0 siblings, 0 replies; 20+ messages in thread
From: Wei Xu @ 2021-07-26  3:01 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: linuxarm, mauro.chehab, Greg Kroah-Hartman, Rob Herring,
	Rob Herring, devicetree, linux-arm-kernel, linux-kernel

Hi Mauro,

On 2021/7/24 16: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>

Fine to me and I can merge this patch once the binding for the 
"kirin970_hikey_usbhub" and "hi3670-dwc3" are ready.
Thanks!

Best Regards,
Wei

> ---
>  .../boot/dts/hisilicon/hi3670-hikey970.dts    | 107 ++++++++++++++++++
>  arch/arm64/boot/dts/hisilicon/hi3670.dtsi     |  56 +++++++++
>  2 files changed, 163 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> index 7c32f5fd5cc5..16f81f86e3fa 100644
> --- a/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> +++ b/arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts
> @@ -53,6 +53,30 @@ wlan_en: wlan-en-1-8v {
>  		startup-delay-us = <70000>;
>  		enable-active-high;
>  	};
> +
> +	hikey_usbhub: hikey_usbhub {
> +		compatible = "hisilicon,kirin970_hikey_usbhub";
> +
> +		typec-vbus-gpios = <&gpio26 1 0>;
> +		otg-switch-gpios = <&gpio4 2 0>;
> +		hub_reset_en_gpio = <&gpio0 3 0>;
> +		hub-vdd-supply = <&ldo17>;
> +		usb-role-switch;
> +
> +		port {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			hikey_usb_ep0: endpoint@0 {
> +				reg = <0>;
> +				remote-endpoint = <&dwc3_role_switch>;
> +			};
> +			hikey_usb_ep1: endpoint@1 {
> +				reg = <1>;
> +				remote-endpoint = <&rt1711h_ep>;
> +			};
> +		};
> +	};
>  };
>  
>  /*
> @@ -430,3 +454,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 20698cfd0637..1f228612192c 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";
> +			};
> +		};
>  	};
>  };
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
  2021-07-26  2:40     ` Wei Xu
@ 2021-07-26  6:19       ` Mauro Carvalho Chehab
  -1 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-26  6:19 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Greg Kroah-Hartman, Rob Herring,
	Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
	xuwei (O)

Em Mon, 26 Jul 2021 10:40:44 +0800
Wei Xu <xuwei5@hisilicon.com> escreveu:

> Hi Mauro,
> 
> On 2021/7/24 16:55, Mauro Carvalho Chehab wrote:
> > 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 +----
> >  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
> >  2 files changed, 89 insertions(+), 19 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/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";  
> 
> Should this be "hisilicon,hi6421-pmic" which is already in the binding document "mfd/hi6421.txt"?
> Others are OK to me.

No. 

hisilicon,hi6421-pmic is used by this driver
	drivers/mfd/hi6421-pmic-core.c

which provides support for the Hi6421 variants that don't use a MIPI
SPMI bus.

The "hisilicon,hi6421-spmi" compatible is for the new driver:
	drivers/mfd/hi6421-spmi-pmic.c

And it is defined at:
	Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml

Both DT bindings and the driver were promoted from staging on this patch:

	https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-next&id=9bd9e0de1cf5b89c4854be505ac0a418ddcc01bf

Regards,
Mauro

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

* Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
@ 2021-07-26  6:19       ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-26  6:19 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Greg Kroah-Hartman, Rob Herring,
	Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
	xuwei (O)

Em Mon, 26 Jul 2021 10:40:44 +0800
Wei Xu <xuwei5@hisilicon.com> escreveu:

> Hi Mauro,
> 
> On 2021/7/24 16:55, Mauro Carvalho Chehab wrote:
> > 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 +----
> >  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
> >  2 files changed, 89 insertions(+), 19 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/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";  
> 
> Should this be "hisilicon,hi6421-pmic" which is already in the binding document "mfd/hi6421.txt"?
> Others are OK to me.

No. 

hisilicon,hi6421-pmic is used by this driver
	drivers/mfd/hi6421-pmic-core.c

which provides support for the Hi6421 variants that don't use a MIPI
SPMI bus.

The "hisilicon,hi6421-spmi" compatible is for the new driver:
	drivers/mfd/hi6421-spmi-pmic.c

And it is defined at:
	Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml

Both DT bindings and the driver were promoted from staging on this patch:

	https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-next&id=9bd9e0de1cf5b89c4854be505ac0a418ddcc01bf

Regards,
Mauro

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
  2021-07-26  6:19       ` Mauro Carvalho Chehab
@ 2021-07-26  6:35         ` Wei Xu
  -1 siblings, 0 replies; 20+ messages in thread
From: Wei Xu @ 2021-07-26  6:35 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: linuxarm, mauro.chehab, Greg Kroah-Hartman, Rob Herring,
	Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
	xuwei (O)

Hi Mauro,

On 2021/7/26 14:19, Mauro Carvalho Chehab wrote:
> Em Mon, 26 Jul 2021 10:40:44 +0800
> Wei Xu <xuwei5@hisilicon.com> escreveu:
> 
>> Hi Mauro,
>>
>> On 2021/7/24 16:55, Mauro Carvalho Chehab wrote:
>>> 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 +----
>>>  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
>>>  2 files changed, 89 insertions(+), 19 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/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";  
>>
>> Should this be "hisilicon,hi6421-pmic" which is already in the binding document "mfd/hi6421.txt"?
>> Others are OK to me.
> 
> No. 
> 
> hisilicon,hi6421-pmic is used by this driver
> 	drivers/mfd/hi6421-pmic-core.c
> 
> which provides support for the Hi6421 variants that don't use a MIPI
> SPMI bus.
> 
> The "hisilicon,hi6421-spmi" compatible is for the new driver:
> 	drivers/mfd/hi6421-spmi-pmic.c
> 
> And it is defined at:
> 	Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
> 
> Both DT bindings and the driver were promoted from staging on this patch:
> 
> 	https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-next&id=9bd9e0de1cf5b89c4854be505ac0a418ddcc01bf

Got it. Thanks for your kind explanation!
So I am fine with this patch.
Do you need my ack now or later I can merge it once it is out of staging.

Best Regards,
Wei

> 
> Regards,
> Mauro
> .
> 

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

* Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
@ 2021-07-26  6:35         ` Wei Xu
  0 siblings, 0 replies; 20+ messages in thread
From: Wei Xu @ 2021-07-26  6:35 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: linuxarm, mauro.chehab, Greg Kroah-Hartman, Rob Herring,
	Rob Herring, devicetree, linux-arm-kernel, linux-kernel,
	xuwei (O)

Hi Mauro,

On 2021/7/26 14:19, Mauro Carvalho Chehab wrote:
> Em Mon, 26 Jul 2021 10:40:44 +0800
> Wei Xu <xuwei5@hisilicon.com> escreveu:
> 
>> Hi Mauro,
>>
>> On 2021/7/24 16:55, Mauro Carvalho Chehab wrote:
>>> 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 +----
>>>  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
>>>  2 files changed, 89 insertions(+), 19 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/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";  
>>
>> Should this be "hisilicon,hi6421-pmic" which is already in the binding document "mfd/hi6421.txt"?
>> Others are OK to me.
> 
> No. 
> 
> hisilicon,hi6421-pmic is used by this driver
> 	drivers/mfd/hi6421-pmic-core.c
> 
> which provides support for the Hi6421 variants that don't use a MIPI
> SPMI bus.
> 
> The "hisilicon,hi6421-spmi" compatible is for the new driver:
> 	drivers/mfd/hi6421-spmi-pmic.c
> 
> And it is defined at:
> 	Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
> 
> Both DT bindings and the driver were promoted from staging on this patch:
> 
> 	https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-next&id=9bd9e0de1cf5b89c4854be505ac0a418ddcc01bf

Got it. Thanks for your kind explanation!
So I am fine with this patch.
Do you need my ack now or later I can merge it once it is out of staging.

Best Regards,
Wei

> 
> Regards,
> Mauro
> .
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
  2021-07-26  6:35         ` Wei Xu
@ 2021-07-26  7:43           ` Mauro Carvalho Chehab
  -1 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-26  7:43 UTC (permalink / raw)
  To: Wei Xu, Greg Kroah-Hartman
  Cc: linuxarm, mauro.chehab, Rob Herring, Rob Herring, devicetree,
	linux-arm-kernel, linux-kernel, xuwei (O)

Em Mon, 26 Jul 2021 14:35:33 +0800
Wei Xu <xuwei5@hisilicon.com> escreveu:

> Hi Mauro,
> 
> On 2021/7/26 14:19, Mauro Carvalho Chehab wrote:
> > Em Mon, 26 Jul 2021 10:40:44 +0800
> > Wei Xu <xuwei5@hisilicon.com> escreveu:
> >   
> >> Hi Mauro,
> >>
> >> On 2021/7/24 16:55, Mauro Carvalho Chehab wrote:  
> >>> 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 +----
> >>>  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
> >>>  2 files changed, 89 insertions(+), 19 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/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";    
> >>
> >> Should this be "hisilicon,hi6421-pmic" which is already in the binding document "mfd/hi6421.txt"?
> >> Others are OK to me.  
> > 
> > No. 
> > 
> > hisilicon,hi6421-pmic is used by this driver
> > 	drivers/mfd/hi6421-pmic-core.c
> > 
> > which provides support for the Hi6421 variants that don't use a MIPI
> > SPMI bus.
> > 
> > The "hisilicon,hi6421-spmi" compatible is for the new driver:
> > 	drivers/mfd/hi6421-spmi-pmic.c
> > 
> > And it is defined at:
> > 	Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
> > 
> > Both DT bindings and the driver were promoted from staging on this patch:
> > 
> > 	https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-next&id=9bd9e0de1cf5b89c4854be505ac0a418ddcc01bf  
> 
> Got it. Thanks for your kind explanation!
> So I am fine with this patch.
> Do you need my ack now or later I can merge it once it is out of staging.

Whatever works best for you and Greg.

It should be noticed that the driver should be out of staging for v5.15-rc1
(as the patch moving it out of staging was already merged at Greg's tree).
This patch is needed by the PCI driver patchset I'm currently working,
so the best would be if this patch could also be merged for v5.15-rc1
(either via HiSilicon tree or via staging tree).

I suspect that having your ack and merging this via staging would work
best, as this would ensure that both changes will be merged upstream
at the same time.

But, as I said, it is up to you both ;-)

Thanks,
Mauro

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

* Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
@ 2021-07-26  7:43           ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-26  7:43 UTC (permalink / raw)
  To: Wei Xu, Greg Kroah-Hartman
  Cc: linuxarm, mauro.chehab, Rob Herring, Rob Herring, devicetree,
	linux-arm-kernel, linux-kernel, xuwei (O)

Em Mon, 26 Jul 2021 14:35:33 +0800
Wei Xu <xuwei5@hisilicon.com> escreveu:

> Hi Mauro,
> 
> On 2021/7/26 14:19, Mauro Carvalho Chehab wrote:
> > Em Mon, 26 Jul 2021 10:40:44 +0800
> > Wei Xu <xuwei5@hisilicon.com> escreveu:
> >   
> >> Hi Mauro,
> >>
> >> On 2021/7/24 16:55, Mauro Carvalho Chehab wrote:  
> >>> 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 +----
> >>>  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
> >>>  2 files changed, 89 insertions(+), 19 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/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";    
> >>
> >> Should this be "hisilicon,hi6421-pmic" which is already in the binding document "mfd/hi6421.txt"?
> >> Others are OK to me.  
> > 
> > No. 
> > 
> > hisilicon,hi6421-pmic is used by this driver
> > 	drivers/mfd/hi6421-pmic-core.c
> > 
> > which provides support for the Hi6421 variants that don't use a MIPI
> > SPMI bus.
> > 
> > The "hisilicon,hi6421-spmi" compatible is for the new driver:
> > 	drivers/mfd/hi6421-spmi-pmic.c
> > 
> > And it is defined at:
> > 	Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
> > 
> > Both DT bindings and the driver were promoted from staging on this patch:
> > 
> > 	https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-next&id=9bd9e0de1cf5b89c4854be505ac0a418ddcc01bf  
> 
> Got it. Thanks for your kind explanation!
> So I am fine with this patch.
> Do you need my ack now or later I can merge it once it is out of staging.

Whatever works best for you and Greg.

It should be noticed that the driver should be out of staging for v5.15-rc1
(as the patch moving it out of staging was already merged at Greg's tree).
This patch is needed by the PCI driver patchset I'm currently working,
so the best would be if this patch could also be merged for v5.15-rc1
(either via HiSilicon tree or via staging tree).

I suspect that having your ack and merging this via staging would work
best, as this would ensure that both changes will be merged upstream
at the same time.

But, as I said, it is up to you both ;-)

Thanks,
Mauro

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
  2021-07-26  7:43           ` Mauro Carvalho Chehab
@ 2021-07-26  8:10             ` Wei Xu
  -1 siblings, 0 replies; 20+ messages in thread
From: Wei Xu @ 2021-07-26  8:10 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Greg Kroah-Hartman
  Cc: linuxarm, mauro.chehab, Rob Herring, Rob Herring, devicetree,
	linux-arm-kernel, linux-kernel, xuwei (O)

Hi Mauro,

On 2021/7/26 15:43, Mauro Carvalho Chehab wrote:
> Em Mon, 26 Jul 2021 14:35:33 +0800
> Wei Xu <xuwei5@hisilicon.com> escreveu:
> 
>> Hi Mauro,
>>
>> On 2021/7/26 14:19, Mauro Carvalho Chehab wrote:
>>> Em Mon, 26 Jul 2021 10:40:44 +0800
>>> Wei Xu <xuwei5@hisilicon.com> escreveu:
>>>   
>>>> Hi Mauro,
>>>>
>>>> On 2021/7/24 16:55, Mauro Carvalho Chehab wrote:  
>>>>> 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 +----
>>>>>  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
>>>>>  2 files changed, 89 insertions(+), 19 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/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";    
>>>>
>>>> Should this be "hisilicon,hi6421-pmic" which is already in the binding document "mfd/hi6421.txt"?
>>>> Others are OK to me.  
>>>
>>> No. 
>>>
>>> hisilicon,hi6421-pmic is used by this driver
>>> 	drivers/mfd/hi6421-pmic-core.c
>>>
>>> which provides support for the Hi6421 variants that don't use a MIPI
>>> SPMI bus.
>>>
>>> The "hisilicon,hi6421-spmi" compatible is for the new driver:
>>> 	drivers/mfd/hi6421-spmi-pmic.c
>>>
>>> And it is defined at:
>>> 	Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
>>>
>>> Both DT bindings and the driver were promoted from staging on this patch:
>>>
>>> 	https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-next&id=9bd9e0de1cf5b89c4854be505ac0a418ddcc01bf  
>>
>> Got it. Thanks for your kind explanation!
>> So I am fine with this patch.
>> Do you need my ack now or later I can merge it once it is out of staging.
> 
> Whatever works best for you and Greg.
> 
> It should be noticed that the driver should be out of staging for v5.15-rc1
> (as the patch moving it out of staging was already merged at Greg's tree).
> This patch is needed by the PCI driver patchset I'm currently working,
> so the best would be if this patch could also be merged for v5.15-rc1
> (either via HiSilicon tree or via staging tree).
> 
> I suspect that having your ack and merging this via staging would work
> best, as this would ensure that both changes will be merged upstream
> at the same time.
> 
> But, as I said, it is up to you both ;-)

Got it.
To avoid dependency, I think it is better to be merged by Greg's tree.
So for this patch,

Reviewed-by: Wei Xu <xuwei5@hisilicon.com>

Best Regards,
Wei

> 
> Thanks,
> Mauro
> .
> 

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

* Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
@ 2021-07-26  8:10             ` Wei Xu
  0 siblings, 0 replies; 20+ messages in thread
From: Wei Xu @ 2021-07-26  8:10 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Greg Kroah-Hartman
  Cc: linuxarm, mauro.chehab, Rob Herring, Rob Herring, devicetree,
	linux-arm-kernel, linux-kernel, xuwei (O)

Hi Mauro,

On 2021/7/26 15:43, Mauro Carvalho Chehab wrote:
> Em Mon, 26 Jul 2021 14:35:33 +0800
> Wei Xu <xuwei5@hisilicon.com> escreveu:
> 
>> Hi Mauro,
>>
>> On 2021/7/26 14:19, Mauro Carvalho Chehab wrote:
>>> Em Mon, 26 Jul 2021 10:40:44 +0800
>>> Wei Xu <xuwei5@hisilicon.com> escreveu:
>>>   
>>>> Hi Mauro,
>>>>
>>>> On 2021/7/24 16:55, Mauro Carvalho Chehab wrote:  
>>>>> 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 +----
>>>>>  .../boot/dts/hisilicon/hikey970-pmic.dtsi     | 86 +++++++++++++++++++
>>>>>  2 files changed, 89 insertions(+), 19 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/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";    
>>>>
>>>> Should this be "hisilicon,hi6421-pmic" which is already in the binding document "mfd/hi6421.txt"?
>>>> Others are OK to me.  
>>>
>>> No. 
>>>
>>> hisilicon,hi6421-pmic is used by this driver
>>> 	drivers/mfd/hi6421-pmic-core.c
>>>
>>> which provides support for the Hi6421 variants that don't use a MIPI
>>> SPMI bus.
>>>
>>> The "hisilicon,hi6421-spmi" compatible is for the new driver:
>>> 	drivers/mfd/hi6421-spmi-pmic.c
>>>
>>> And it is defined at:
>>> 	Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
>>>
>>> Both DT bindings and the driver were promoted from staging on this patch:
>>>
>>> 	https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit/?h=staging-next&id=9bd9e0de1cf5b89c4854be505ac0a418ddcc01bf  
>>
>> Got it. Thanks for your kind explanation!
>> So I am fine with this patch.
>> Do you need my ack now or later I can merge it once it is out of staging.
> 
> Whatever works best for you and Greg.
> 
> It should be noticed that the driver should be out of staging for v5.15-rc1
> (as the patch moving it out of staging was already merged at Greg's tree).
> This patch is needed by the PCI driver patchset I'm currently working,
> so the best would be if this patch could also be merged for v5.15-rc1
> (either via HiSilicon tree or via staging tree).
> 
> I suspect that having your ack and merging this via staging would work
> best, as this would ensure that both changes will be merged upstream
> at the same time.
> 
> But, as I said, it is up to you both ;-)

Got it.
To avoid dependency, I think it is better to be merged by Greg's tree.
So for this patch,

Reviewed-by: Wei Xu <xuwei5@hisilicon.com>

Best Regards,
Wei

> 
> Thanks,
> Mauro
> .
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/2] dts: hisilicon: add support for USB3 on Hikey 970
  2021-07-26  3:01     ` Wei Xu
@ 2021-07-26  9:50       ` Mauro Carvalho Chehab
  -1 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-26  9:50 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Greg Kroah-Hartman, Rob Herring,
	Rob Herring, devicetree, linux-arm-kernel, linux-kernel

Em Mon, 26 Jul 2021 11:01:56 +0800
Wei Xu <xuwei5@hisilicon.com> escreveu:

> Hi Mauro,
> 
> On 2021/7/24 16: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>  
> 
> Fine to me and I can merge this patch once the binding for the 
> "kirin970_hikey_usbhub" and "hi3670-dwc3" are ready.

The compatible:
	"hisilicon,hi3670-dwc3"

was already merged upstream on this patch:

commit b68d9251561f33661e53dd618f1cafe7ec9ec3c2
Author:     Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
AuthorDate: Tue Sep 8 11:58:23 2020 +0200
Commit:     Felipe Balbi <balbi@kernel.org>
CommitDate: Thu Sep 24 11:56:01 2020 +0300

    usb: dwc3: simple: add support for Hikey 970
    
    This binding driver is needed for Hikey 970 to work,
    as otherwise a Serror is produced:

It follows the DWC3 schema, e. g.:

	Documentation/devicetree/bindings/usb/snps,dwc3.yaml

While double checking for "kirin970_hikey_usbhub", it sounds that
the dt-binding patch was not merged yet, and require further
discussions.

I'll re-start the upstream thread where this was discussed in
the past. I'll re-submit this patch once we finish such
discussions.

Thanks,
Mauro

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

* Re: [PATCH 2/2] dts: hisilicon: add support for USB3 on Hikey 970
@ 2021-07-26  9:50       ` Mauro Carvalho Chehab
  0 siblings, 0 replies; 20+ messages in thread
From: Mauro Carvalho Chehab @ 2021-07-26  9:50 UTC (permalink / raw)
  To: Wei Xu
  Cc: linuxarm, mauro.chehab, Greg Kroah-Hartman, Rob Herring,
	Rob Herring, devicetree, linux-arm-kernel, linux-kernel

Em Mon, 26 Jul 2021 11:01:56 +0800
Wei Xu <xuwei5@hisilicon.com> escreveu:

> Hi Mauro,
> 
> On 2021/7/24 16: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>  
> 
> Fine to me and I can merge this patch once the binding for the 
> "kirin970_hikey_usbhub" and "hi3670-dwc3" are ready.

The compatible:
	"hisilicon,hi3670-dwc3"

was already merged upstream on this patch:

commit b68d9251561f33661e53dd618f1cafe7ec9ec3c2
Author:     Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
AuthorDate: Tue Sep 8 11:58:23 2020 +0200
Commit:     Felipe Balbi <balbi@kernel.org>
CommitDate: Thu Sep 24 11:56:01 2020 +0300

    usb: dwc3: simple: add support for Hikey 970
    
    This binding driver is needed for Hikey 970 to work,
    as otherwise a Serror is produced:

It follows the DWC3 schema, e. g.:

	Documentation/devicetree/bindings/usb/snps,dwc3.yaml

While double checking for "kirin970_hikey_usbhub", it sounds that
the dt-binding patch was not merged yet, and require further
discussions.

I'll re-start the upstream thread where this was discussed in
the past. I'll re-submit this patch once we finish such
discussions.

Thanks,
Mauro

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2021-07-26  9:52 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-24  8:55 [PATCH 0/2] Add support for Kirin 970 PMIC and USB3 Mauro Carvalho Chehab
2021-07-24  8:55 ` Mauro Carvalho Chehab
2021-07-24  8:55 ` [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970 Mauro Carvalho Chehab
2021-07-24  8:55   ` Mauro Carvalho Chehab
2021-07-26  2:40   ` Wei Xu
2021-07-26  2:40     ` Wei Xu
2021-07-26  6:19     ` Mauro Carvalho Chehab
2021-07-26  6:19       ` Mauro Carvalho Chehab
2021-07-26  6:35       ` Wei Xu
2021-07-26  6:35         ` Wei Xu
2021-07-26  7:43         ` Mauro Carvalho Chehab
2021-07-26  7:43           ` Mauro Carvalho Chehab
2021-07-26  8:10           ` Wei Xu
2021-07-26  8:10             ` Wei Xu
2021-07-24  8:55 ` [PATCH 2/2] dts: hisilicon: add support for USB3 " Mauro Carvalho Chehab
2021-07-24  8:55   ` Mauro Carvalho Chehab
2021-07-26  3:01   ` Wei Xu
2021-07-26  3:01     ` Wei Xu
2021-07-26  9:50     ` Mauro Carvalho Chehab
2021-07-26  9:50       ` Mauro Carvalho Chehab

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.