Add support for Kirin 970 PMIC and USB3
Subsystems (2)
cover Add support for Kirin 970 PMIC and USB3
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
Signature · 1 line
2.31.1
PATCH 1/2 dts: hisilicon: add support for the PMIC found on Hikey 970
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.
--- .../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
arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts +3 -19
@@ -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"; };
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +86 -0
86 lines not on this page · raw message
Signature · 1 line
2.31.1
Wei Xu
maintainerRe: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
Hi Mauro,
Quoted 76 lines · Mauro Carvalho Chehab
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 <[email protected]>--- .../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.dtsiarch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts +3
-19@@ -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"; };arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +10
-0@@ -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> + +/ {
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi line 20
Quoted 10 lines
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +10
-0+ 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
Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
Em Mon, 26 Jul 2021 10:40:44 +0800
Wei Xu <[email protected]> escreveu:
Quoted 84 lines
Hi Mauro,
Quoted 81 lines · Mauro Carvalho Chehab
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 <[email protected]>--- .../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.dtsiarch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts +3
-19@@ -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"; };arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +15
-0@@ -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";
Quoted 8 lines
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi line 20
Quoted 5 lines
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +5
-0+ 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
Wei Xu
maintainerRe: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
Hi Mauro,
Quoted 105 lines · Mauro Carvalho Chehab
Em Mon, 26 Jul 2021 10:40:44 +0800
Wei Xu <[email protected]> escreveu:Quoted 84 lines
Hi Mauro,
Quoted 81 lines · Mauro Carvalho Chehab
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 <[email protected]>--- .../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.dtsiarch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts +3
-19@@ -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"; };arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +15
-0@@ -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";Quoted 8 lines
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi line 20
Quoted 5 lines
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +5
-0+ 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.cwhich provides support for the Hi6421 variants that don't use a MIPI SPMI bus.
The "hisilicon,hi6421-spmi" compatible is for the new driver:
Quoted 8 lines
drivers/mfd/hi6421-spmi-pmic.cAnd it is defined at:
Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yamlBoth 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
Quoted 5 lines
Regards,
Mauro
.
Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
Em Mon, 26 Jul 2021 14:35:33 +0800
Wei Xu <[email protected]> escreveu:
Quoted 113 lines
Hi Mauro,
Quoted 110 lines · Mauro Carvalho Chehab
Em Mon, 26 Jul 2021 10:40:44 +0800
Wei Xu <[email protected]> escreveu:Quoted 84 lines
Hi Mauro,
Quoted 81 lines · Mauro Carvalho Chehab
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 <[email protected]>--- .../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.dtsiarch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts +3
-19@@ -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"; };arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +15
-0@@ -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";Quoted 8 lines
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi line 20
Quoted 5 lines
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +5
-0+ 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.cwhich 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.cAnd it is defined at:
Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yaml
Quoted 7 lines
Quoted 3 lines
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=9bd9e0de1cf5b89c4854be505ac0a418ddcc01bfGot 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
Re: [PATCH 1/2] dts: hisilicon: add support for the PMIC found on Hikey 970
Hi Mauro,
Quoted 132 lines · Mauro Carvalho Chehab
Em Mon, 26 Jul 2021 14:35:33 +0800
Wei Xu <[email protected]> escreveu:Quoted 113 lines
Hi Mauro,
Quoted 110 lines · Mauro Carvalho Chehab
Em Mon, 26 Jul 2021 10:40:44 +0800
Wei Xu <[email protected]> escreveu:Quoted 84 lines
Hi Mauro,
Quoted 81 lines · Mauro Carvalho Chehab
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 <[email protected]>--- .../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.dtsiarch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts +3
-19@@ -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"; };arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +15
-0@@ -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";Quoted 8 lines
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi line 20
Quoted 5 lines
arch/arm64/boot/dts/hisilicon/hikey970-pmic.dtsi new file +5
-0+ 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.cwhich 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.cAnd it is defined at:
Documentation/devicetree/bindings/mfd/hisilicon,hi6421-spmi-pmic.yamlQuoted 7 lines
Quoted 3 lines
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=9bd9e0de1cf5b89c4854be505ac0a418ddcc01bfGot 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).
Quoted 5 lines
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,
Best Regards,
Wei
Quoted 5 lines
Thanks,
Mauro
.
PATCH 2/2 dts: hisilicon: add support for USB3 on Hikey 970
In reply to Mauro Carvalho ChehabAdd the USB3 bindings for Kirin 970 phy and Hikey 970 board.
--- .../boot/dts/hisilicon/hi3670-hikey970.dts | 107 ++++++++++++++++++ arch/arm64/boot/dts/hisilicon/hi3670.dtsi | 56 +++++++++ 2 files changed, 163 insertions(+)
arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts +107 -0
@@ -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>; + }; + }; +};
arch/arm64/boot/dts/hisilicon/hi3670.dtsi +56 -0
67 lines not on this page · raw message
Signature · 1 line
2.31.1
Wei Xu
maintainerRe: [PATCH 2/2] dts: hisilicon: add support for USB3 on Hikey 970
Hi Mauro,
Quoted 3 lines · Mauro Carvalho Chehab
Add the USB3 bindings for Kirin 970 phy and Hikey 970 board.
Signed-off-by Mauro Carvalho Chehab <[email protected]>
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
Quoted 201 lines
--- .../boot/dts/hisilicon/hi3670-hikey970.dts | 107 ++++++++++++++++++ arch/arm64/boot/dts/hisilicon/hi3670.dtsi | 56 +++++++++ 2 files changed, 163 insertions(+)arch/arm64/boot/dts/hisilicon/hi3670-hikey970.dts +107
-0@@ -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>; + }; + }; +};arch/arm64/boot/dts/hisilicon/hi3670.dtsi +56
-0@@ -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"; + }; + }; }; };
Re: [PATCH 2/2] dts: hisilicon: add support for USB3 on Hikey 970
Em Mon, 26 Jul 2021 11:01:56 +0800
Wei Xu <[email protected]> escreveu:
Quoted 9 lines
Hi Mauro,
Quoted 3 lines · Mauro Carvalho Chehab
Add the USB3 bindings for Kirin 970 phy and Hikey 970 board.
Signed-off-by Mauro Carvalho Chehab <[email protected]>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 <[email protected]> AuthorDate: Tue Sep 8 11:58:23 2020 +0200 Commit: Felipe Balbi <[email protected]> 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