From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965854AbbLQDex (ORCPT ); Wed, 16 Dec 2015 22:34:53 -0500 Received: from szxga02-in.huawei.com ([119.145.14.65]:5181 "EHLO szxga02-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932909AbbLQDeu (ORCPT ); Wed, 16 Dec 2015 22:34:50 -0500 Subject: Re: [PATCH v3 5/5] hisilicon/dts: Add hi655x pmic dts node To: , , , , , , , , , , , , , , , , , , References: <1450184056-79851-1-git-send-email-puck.chen@hisilicon.com> <1450184056-79851-6-git-send-email-puck.chen@hisilicon.com> CC: , , , From: chenfeng Message-ID: <56722B9F.8090301@hisilicon.com> Date: Thu, 17 Dec 2015 11:27:27 +0800 User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: <1450184056-79851-6-git-send-email-puck.chen@hisilicon.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.142.192.172] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020205.56722BBD.00B0,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: 0a445765aaa7c0c1af7a8096541a2d0c Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Mark, +- regulator-vset-regs: Voltage set register offset. +- regulator-vset-mask: voltage set control mask. +- regulator-n-vol: The num of support voltages. +- regulator-vset-table: The table of support voltages. > Why is this in the binding? This is a binding for a specific device, > there is no point in putting all these data tables in the DT - it just > bloats the DT and makes it harder for us to enhance our support for this > device in the future. You mentioned in previous version,I I have some questions for it. This regulator-vset-regs etc are vendor specific describe. The hi655x PMIC is a series of chips. They all have this value, but the offset may be different. And we can generate the dts file from excel which is defined by SOC. I think the dts is designed to distinguish different platform. If we hard code this in files, it may be also different to use as common in next chip version. I will appreciate it if you can give me some suggestions. On 2015/12/15 20:54, Chen Feng wrote: > Add dts node for hi665x MFD and regulator driver > > Signed-off-by: Chen Feng > Signed-off-by: Fei Wang > Tested-by: Xinwei Kong > --- > arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 178 ++++++++++++++++++++++++++++++ > 1 file changed, 178 insertions(+) > > diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi > index 82d2488..5f98a72 100644 > --- a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi > +++ b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi > @@ -208,5 +208,183 @@ > clock-names = "uartclk", "apb_pclk"; > status = "disabled"; > }; > + pmic: pmic@F8000000 { > + compatible = "hisilicon,hi655x-pmic"; > + reg = <0x0 0xf8000000 0x0 0x1000>; > + #interrupt-cells = <2>; > + interrupt-controller; > + pmic-gpios = <&gpio_pmu_irq_n>; > + status = "okay"; > + ldo2: regulator@a21 { > + compatible = "hisilicon,hi655x-regulator-pmic"; > + regulator-name = "ldo2"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <3200000>; > + regulator-valid-modes-mask = <0x02>; > + regulator-enable-ramp-delay = <120>; > + regulator-ctrl-regs = <0x029 0x02a 0x02b>; > + regulator-ctrl-mask = <0x1>; > + regulator-vset-regs = <0x072>; > + regulator-vset-mask = <0x7>; > + regulator-n-vol = <8>; > + regulator-vset-table = <2500000>,<2600000>, > + <2700000>,<2800000>, > + <2900000>,<3000000>, > + <3100000>,<3200000>; > + }; > + ldo7: regulator@a26 { > + compatible = "hisilicon,hi655x-regulator-pmic"; > + regulator-name = "ldo7"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3300000>; > + regulator-valid-modes-mask = <0x0a>; > + regulator-enable-ramp-delay = <120>; > + regulator-ctrl-regs = <0x029 0x02a 0x02b>; > + regulator-ctrl-mask = <0x6>; > + regulator-vset-regs = <0x078>; > + regulator-vset-mask = <0x7>; > + regulator-n-vol = <8>; > + regulator-vset-table = <1800000>,<1850000>, > + <2850000>,<2900000>, > + <3000000>,<3100000>, > + <3200000>,<3300000>; > + }; > + ldo10: regulator@a29 { > + compatible = "hisilicon,hi655x-regulator-pmic"; > + regulator-name = "ldo10"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3000000>; > + regulator-valid-modes-mask = <0x0a>; > + regulator-enable-ramp-delay = <360>; > + regulator-ctrl-regs = <0x02c 0x02d 0x02e>; > + regulator-ctrl-mask = <0x1>; > + regulator-vset-regs = <0x07b>; > + regulator-vset-mask = <0x7>; > + regulator-n-vol = <8>; > + regulator-vset-table = <1800000>,<1850000>, > + <1900000>,<2750000>, > + <2800000>,<2850000>, > + <2900000>,<3000000>; > + }; > + ldo13: regulator@a32 { > + compatible = "hisilicon,hi655x-regulator-pmic"; > + regulator-name = "ldo13"; > + regulator-min-microvolt = <1600000>; > + regulator-max-microvolt = <1950000>; > + regulator-enable-ramp-delay = <120>; > + regulator-ctrl-regs = <0x02c 0x02d 0x02e>; > + regulator-ctrl-mask = <0x4>; > + regulator-vset-regs = <0x07e>; > + regulator-vset-mask = <0x7>; > + regulator-n-vol = <8>; > + regulator-vset-table = <1600000>,<1650000>, > + <1700000>,<1750000>, > + <1800000>,<1850000>, > + <1900000>,<1950000>; > + }; > + ldo14: regulator@a33 { > + compatible = "hisilicon,hi655x-regulator-pmic"; > + regulator-name = "ldo14"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <3200000>; > + regulator-enable-ramp-delay = <120>; > + regulator-ctrl-regs = <0x02c 0x02d 0x02e>; > + regulator-ctrl-mask = <0x5>; > + regulator-vset-regs = <0x07f>; > + regulator-vset-mask = <0x7>; > + regulator-n-vol = <8>; > + regulator-vset-table = <2500000>,<2600000>, > + <2700000>,<2800000>, > + <2900000>,<3000000>, > + <3100000>,<3200000>; > + }; > + ldo15: regulator@a34 { > + compatible = "hisilicon,hi655x-regulator-pmic"; > + regulator-name = "ldo15"; > + regulator-min-microvolt = <1600000>; > + regulator-max-microvolt = <1950000>; > + regulator-boot-on; > + regulator-always-on; > + regulator-enable-ramp-delay = <120>; > + regulator-ctrl-regs = <0x02c 0x02d 0x02e>; > + regulator-ctrl-mask = <0x6>; > + regulator-vset-regs = <0x080>; > + regulator-vset-mask = <0x7>; > + regulator-n-vol = <8>; > + regulator-vset-table = <1600000>,<1650000>, > + <1700000>,<1750000>, > + <1800000>,<1850000>, > + <1900000>,<1950000>; > + }; > + ldo17: regulator@a36 { > + compatible = "hisilicon,hi655x-regulator-pmic"; > + regulator-name = "ldo17"; > + regulator-min-microvolt = <2500000>; > + regulator-max-microvolt = <3200000>; > + regulator-enable-ramp-delay = <120>; > + regulator-ctrl-regs = <0x02f 0x030 0x031>; > + regulator-ctrl-mask = <0x0>; > + regulator-vset-regs = <0x082>; > + regulator-vset-mask = <0x7>; > + regulator-n-vol = <8>; > + regulator-vset-table = <2500000>,<2600000>, > + <2700000>,<2800000>, > + <2900000>,<3000000>, > + <3100000>,<3200000>; > + }; > + ldo19: regulator@a38 { > + compatible = "hisilicon,hi655x-regulator-pmic"; > + regulator-name = "ldo19"; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <3000000>; > + regulator-enable-ramp-delay = <360>; > + regulator-ctrl-regs = <0x02f 0x030 0x031>; > + regulator-ctrl-mask = <0x2>; > + regulator-vset-regs = <0x084>; > + regulator-vset-mask = <0x7>; > + regulator-n-vol = <8>; > + regulator-vset-table = <1800000>,<1850000>, > + <1900000>,<2750000>, > + <2800000>,<2850000>, > + <2900000>,<3000000>; > + }; > + ldo21: regulator@a40 { > + compatible = "hisilicon,hi655x-regulator-pmic"; > + regulator-name = "ldo21"; > + regulator-min-microvolt = <1650000>; > + regulator-max-microvolt = <2000000>; > + regulator-always-on; > + regulator-valid-modes-mask = <0x02>; > + regulator-enable-ramp-delay = <120>; > + regulator-ctrl-regs = <0x02f 0x030 0x031>; > + regulator-ctrl-mask = <0x4>; > + regulator-vset-regs = <0x086>; > + regulator-vset-mask = <0x7>; > + regulator-n-vol = <8>; > + regulator-vset-table = <1650000>,<1700000>, > + <1750000>,<1800000>, > + <1850000>,<1900000>, > + <1950000>,<2000000>; > + }; > + ldo22: regulator@a41 { > + compatible = "hisilicon,hi655x-regulator-pmic"; > + regulator-name = "ldo22"; > + regulator-min-microvolt = <900000>; > + regulator-max-microvolt = <1200000>; > + regulator-boot-on; > + regulator-always-on; > + regulator-valid-modes-mask = <0x02>; > + regulator-enable-ramp-delay = <120>; > + regulator-ctrl-regs = <0x02f 0x030 0x031>; > + regulator-ctrl-mask = <0x5>; > + regulator-vset-regs = <0x087>; > + regulator-vset-mask = <0x7>; > + regulator-n-vol = <8>; > + regulator-vset-table = <900000>,<1000000>, > + <1050000>,<1100000>, > + <1150000>,<1175000>, > + <1185000>,<1200000>; > + }; > + }; > }; > }; >