[PATCH 1/2] arm64: dts: hisilicon: Add support for Hikey 970 PMIC

Wei Xu xuwei5 at hisilicon.com
Sat Sep 18 00:08:13 PDT 2021


Hi Mauro,

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

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

Best Regards,
Wei

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



More information about the linux-arm-kernel mailing list