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@xxxxxxx> >> Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@xxxxxxxxx> >> --- >> 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@30000000 { >> @@ -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? >> + 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. <snip> >> >> &pwm { >> diff --git a/arch/arm/boot/dts/s5pv210-fascinate4g.dts b/arch/arm/boot/dts/s5pv210-fascinate4g.dts >> index 94dcb9b64b9a..42e6e2de197d 100644 >> --- a/arch/arm/boot/dts/s5pv210-fascinate4g.dts >> +++ b/arch/arm/boot/dts/s5pv210-fascinate4g.dts >> @@ -278,3 +278,9 @@ >> PIN_SLP(mp07-7, INPUT, DOWN); >> }; >> }; >> + >> +&wm8994 { >> + /* GPIO3 (BCLK2) and GPIO4 (LRCLK2) as outputs */ >> + wlf,gpio-cfg = <0xa101 0x8100 0x8100 0x8100 0x8100 0xa101 >> + 0x0100 0x8100 0x0100 0x0100 0x0100>; > > Indent the line till opening <. Will do. > > Best regards, > Krzysztof > Thanks, Jonathan