[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200501133100.GB5154@kozik-lap>
Date: Fri, 1 May 2020 15:31:00 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Jonathan Bakker <xc-racer2@...e.ca>
Cc: kgene@...nel.org, robh+dt@...nel.org,
linux-arm-kernel@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
Paweł Chmiel <pawel.mikolaj.chmiel@...il.com>
Subject: Re: [PATCH 06/13] arm: dts: s5pv210: aries: Add support for more
devices
On Tue, Apr 28, 2020 at 04:32:56PM -0700, Jonathan Bakker wrote:
> Hi Krzysztof,
>
> On 2020-04-28 3:20 a.m., Krzysztof Kozlowski wrote:
> > On Sun, Apr 26, 2020 at 11:35:57AM -0700, Jonathan Bakker wrote:
> >> Add support for following devices:
> >> - touchkeys connected over i2c-gpio
> >> - s6e63m0 panel connected over spi-gpio
> >> - fsa9480 microusb switch over i2c-gpio
> >> - wm8994 over i2c-gpio (no machine driver yet)
> >> - all common i2c-gpio devices
> >
> > Please split it per functionality, e.g.:
> > 1. Add sound,
> > 2. Add panel,
> > 3. Add touchkeys (unless part of panel),
> > 4. The remaining i2c-gpio devices without bindings could go as one.
>
> Ok, will do.
>
> >
> >>
> >> Signed-off-by: Jonathan Bakker <xc-racer2@...e.ca>
> >> Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@...il.com>
> >> ---
> >> arch/arm/boot/dts/s5pv210-aries.dtsi | 282 ++++++++++++++++++++--
> >> arch/arm/boot/dts/s5pv210-fascinate4g.dts | 6 +
> >> 2 files changed, 270 insertions(+), 18 deletions(-)
> >>
> >> diff --git a/arch/arm/boot/dts/s5pv210-aries.dtsi b/arch/arm/boot/dts/s5pv210-aries.dtsi
> >> index f83df426f2b6..ef966d13d83d 100644
> >> --- a/arch/arm/boot/dts/s5pv210-aries.dtsi
> >> +++ b/arch/arm/boot/dts/s5pv210-aries.dtsi
> >> @@ -12,8 +12,14 @@
> >> compatible = "samsung,aries", "samsung,s5pv210";
> >>
> >> aliases {
> >> + i2c4 = &i2c_sound;
> >> + i2c5 = &i2c_accel;
> >> i2c6 = &i2c_pmic;
> >> + i2c7 = &i2c_musb;
> >> i2c9 = &i2c_fuel;
> >> + i2c10 = &i2c_touchkey;
> >> + i2c11 = &i2c_prox;
> >> + i2c12 = &i2c_magnetometer;
> >> };
> >>
> >> memory@...00000 {
> >> @@ -48,6 +54,18 @@
> >> gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>;
> >> };
> >>
> >> + touchkey_vdd: regulator-fixed-1 {
> >> + compatible = "regulator-fixed";
> >> + regulator-name = "VTOUCH_3.3V";
> >> + regulator-min-microvolt = <3300000>;
> >> + regulator-max-microvolt = <3300000>;
> >> + enable-active-high;
> >> + gpio = <&gpj3 2 GPIO_ACTIVE_HIGH>;
> >> +
> >> + pinctrl-names = "default";
> >> + pinctrl-0 = <&touchkey_vdd_ena>;
> >> + };
> >> +
> >> wifi_pwrseq: wifi-pwrseq {
> >> compatible = "mmc-pwrseq-simple";
> >> reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>;
> >> @@ -57,7 +75,69 @@
> >> power-off-delay-us = <500>;
> >> };
> >>
> >> - i2c_pmic: i2c-gpio-0 {
> >> + i2c_sound: i2c-gpio-0 {
> >> + compatible = "i2c-gpio";
> >> + sda-gpios = <&mp05 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> >> + scl-gpios = <&mp05 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> >> + i2c-gpio,delay-us = <2>;
> >> + #address-cells = <1>;
> >> + #size-cells = <0>;
> >> +
> >> + pinctrl-names = "default";
> >> + pinctrl-0 = <&sound_i2c_pins>;
> >> +
> >> + wm8994: wm8994@1a {
> >> + compatible = "wlf,wm8994";
> >> + reg = <0x1a>;
> >> +
> >> + #sound-dai-cells = <0>;
> >> +
> >> + gpio-controller;
> >> + #gpio-cells = <2>;
> >> +
> >> + clocks = <&clocks MOUT_CLKOUT>;
> >> + clock-names = "MCLK1";
> >> +
> >> + AVDD2-supply = <&buck3_reg>;
> >> + DBVDD-supply = <&buck3_reg>;
> >
> > No such supply, check the bindings.
> >
>
> Well, it may not be in the bindings, but the driver definitely requires it :) See drivers/mfd/wm8994-core.c
>
> What's the best way of dealing with this situation?
I'll send a patch fixing the bindings. However don't you miss the
AVDD1-supply in such case? Driver should report error.
>
> >> + CPVDD-supply = <&buck3_reg>;
> >> + SPKVDD1-supply = <&buck3_reg>;
> >> + SPKVDD2-supply = <&buck3_reg>;
> >> +
> >> + wlf,gpio-cfg = <0xa101 0x8100 0x0100 0x0100 0x8100
> >> + 0xa101 0x0100 0x8100 0x0100 0x0100
> >> + 0x0100>;
> >> +
> >> + wlf,ldo1ena = <&gpf3 4 GPIO_ACTIVE_HIGH>;
> >> + wlf,ldo2ena = <&gpf3 4 GPIO_ACTIVE_HIGH>;
> >> +
> >> + wlf,lineout1-se;
> >> + wlf,lineout2-se;
> >> +
> >> + assigned-clocks = <&clocks MOUT_CLKOUT>;
> >> + assigned-clock-rates = <0>;
> >> + assigned-clock-parents = <&xusbxti>;
> >> +
> >> + pinctrl-names = "default";
> >> + pinctrl-0 = <&codec_ldo>;
> >> + };
> >> + };
> >> +
> >> + i2c_accel: i2c-gpio-1 {
> >> + compatible = "i2c-gpio";
> >> + sda-gpios = <&gpj3 6 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> >> + scl-gpios = <&gpj3 7 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
> >> + i2c-gpio,delay-us = <2>;
> >> + #address-cells = <1>;
> >> + #size-cells = <0>;
> >> +
> >> + pinctrl-names = "default";
> >> + pinctrl-0 = <&accel_i2c_pins>;
> >> +
> >> + /* bma023 accelerometer, no mainline binding */
> >
> > status disabled ... unless you need it for user-space I2C tools?
> >
>
> Nope, but wanted to add them all in due to adding the si4709 in galaxys. I was having
> issues with accidentally overwriting previously named nodes (ie having i2c-gpio-0 in
> both the common dtsi and the device specific dts) so I wanted to get the numbers
> nailed down.
So add them with status disabled. This will document the HW without
enabling empty I2C GPIO bus.
Best regards,
Krzysztof
Powered by blists - more mailing lists