Message ID | 20181228161819.18931-6-pawel.mikolaj.chmiel@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ARM: dts: s5pv210: aries: Enable more drivers present on Samsung Aries based devices | expand |
On Fri, 28 Dec 2018 at 17:18, Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> wrote: > > From: Jonathan Bakker <xc-racer2@live.ca> > > This commit enables following devices present on Aries based phones: > - pwm-vibrator attached to PWM 1 > - poweroff support > - Atmel maXTouch touchscreen. It's connected to i2c2 > - Broadcom BCM4329 bluetooth over uart0 > > Signed-off-by: Jonathan Bakker <xc-racer2@live.ca> > Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> > --- > arch/arm/boot/dts/s5pv210-aries.dtsi | 68 ++++++++++++++++++++++++++++ > 1 file changed, 68 insertions(+) > > diff --git a/arch/arm/boot/dts/s5pv210-aries.dtsi b/arch/arm/boot/dts/s5pv210-aries.dtsi > index 35ba009a1a33..b7246f879648 100644 > --- a/arch/arm/boot/dts/s5pv210-aries.dtsi > +++ b/arch/arm/boot/dts/s5pv210-aries.dtsi > @@ -41,6 +41,13 @@ > }; > }; > > + vibrator_pwr: regulator-fixed-0 { > + compatible = "regulator-fixed"; > + regulator-name = "vibrator-en"; > + enable-active-high; > + gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>; > + }; > + > wifi_pwrseq: wifi-pwrseq { > compatible = "mmc-pwrseq-simple"; > reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>; > @@ -314,6 +321,22 @@ > reg = <0x36>; > }; > }; > + > + vibrator: pwm-vibrator { > + compatible = "pwm-vibrator"; > + pwms = <&pwm 1 44642 0>; > + pwm-names = "enable"; > + vcc-supply = <&vibrator_pwr>; > + pinctrl-names = "default"; > + pinctrl-0 = <&pwm1_out>; > + }; > + > + poweroff: syscon-poweroff { > + compatible = "syscon-poweroff"; > + regmap = <&pmu_syscon>; > + offset = <0x681c>; /* PS_HOLD_CONTROL */ > + value = <0x5200>; > + }; > }; > > &fimd { > @@ -347,6 +370,23 @@ > status = "okay"; > }; > > +&i2c2 { > + samsung,i2c-sda-delay = <100>; > + samsung,i2c-max-bus-freq = <400000>; > + samsung,i2c-slave-addr = <0x10>; > + status = "okay"; > + > + touchscreen@4a { > + compatible = "atmel,maxtouch"; > + reg = <0x4a>; > + interrupt-parent = <&gpj0>; > + interrupts = <5 IRQ_TYPE_LEVEL_LOW>; > + pinctrl-names = "default"; > + pinctrl-0 = <&ts_irq>; > + reset-gpios = <&gpj1 3 GPIO_ACTIVE_HIGH>; > + }; > +}; > + > &mfc { > memory-region = <&mfc_left>, <&mfc_right>; > }; > @@ -372,6 +412,13 @@ > samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; > }; > > + bt_host_wake: bt-host-wake { > + samsung,pins = "gph2-5"; > + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > + samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>; > + samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; > + }; > + > tf_detect: tf-detect { > samsung,pins = "gph3-4"; > samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > @@ -384,6 +431,17 @@ > samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>; > }; > + > + ts_irq: ts-irq { > + samsung,pins = "gpj0-5"; > + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > + samsung,pin-pud = <S3C64XX_PIN_PULL_UP>; It seems there is a difference here between Aries and Fascinate. At least in vendor kernel. One disables pull and second pulls down. Anyway neither of them pulls it up. Best regards, Krzysztof
Dnia poniedziałek, 31 grudnia 2018 14:35:55 CET Krzysztof Kozlowski pisze: > On Fri, 28 Dec 2018 at 17:18, Paweł Chmiel > <pawel.mikolaj.chmiel@gmail.com> wrote: > > > > From: Jonathan Bakker <xc-racer2@live.ca> > > > > This commit enables following devices present on Aries based phones: > > - pwm-vibrator attached to PWM 1 > > - poweroff support > > - Atmel maXTouch touchscreen. It's connected to i2c2 > > - Broadcom BCM4329 bluetooth over uart0 > > > > Signed-off-by: Jonathan Bakker <xc-racer2@live.ca> > > Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com> > > --- > > arch/arm/boot/dts/s5pv210-aries.dtsi | 68 ++++++++++++++++++++++++++++ > > 1 file changed, 68 insertions(+) > > > > diff --git a/arch/arm/boot/dts/s5pv210-aries.dtsi b/arch/arm/boot/dts/s5pv210-aries.dtsi > > index 35ba009a1a33..b7246f879648 100644 > > --- a/arch/arm/boot/dts/s5pv210-aries.dtsi > > +++ b/arch/arm/boot/dts/s5pv210-aries.dtsi > > @@ -41,6 +41,13 @@ > > }; > > }; > > > > + vibrator_pwr: regulator-fixed-0 { > > + compatible = "regulator-fixed"; > > + regulator-name = "vibrator-en"; > > + enable-active-high; > > + gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>; > > + }; > > + > > wifi_pwrseq: wifi-pwrseq { > > compatible = "mmc-pwrseq-simple"; > > reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>; > > @@ -314,6 +321,22 @@ > > reg = <0x36>; > > }; > > }; > > + > > + vibrator: pwm-vibrator { > > + compatible = "pwm-vibrator"; > > + pwms = <&pwm 1 44642 0>; > > + pwm-names = "enable"; > > + vcc-supply = <&vibrator_pwr>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&pwm1_out>; > > + }; > > + > > + poweroff: syscon-poweroff { > > + compatible = "syscon-poweroff"; > > + regmap = <&pmu_syscon>; > > + offset = <0x681c>; /* PS_HOLD_CONTROL */ > > + value = <0x5200>; > > + }; > > }; > > > > &fimd { > > @@ -347,6 +370,23 @@ > > status = "okay"; > > }; > > > > +&i2c2 { > > + samsung,i2c-sda-delay = <100>; > > + samsung,i2c-max-bus-freq = <400000>; > > + samsung,i2c-slave-addr = <0x10>; > > + status = "okay"; > > + > > + touchscreen@4a { > > + compatible = "atmel,maxtouch"; > > + reg = <0x4a>; > > + interrupt-parent = <&gpj0>; > > + interrupts = <5 IRQ_TYPE_LEVEL_LOW>; > > + pinctrl-names = "default"; > > + pinctrl-0 = <&ts_irq>; > > + reset-gpios = <&gpj1 3 GPIO_ACTIVE_HIGH>; > > + }; > > +}; > > + > > &mfc { > > memory-region = <&mfc_left>, <&mfc_right>; > > }; > > @@ -372,6 +412,13 @@ > > samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; > > }; > > > > + bt_host_wake: bt-host-wake { > > + samsung,pins = "gph2-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > > + samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>; > > + samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; > > + }; > > + > > tf_detect: tf-detect { > > samsung,pins = "gph3-4"; > > samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > > @@ -384,6 +431,17 @@ > > samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; > > samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>; > > }; > > + > > + ts_irq: ts-irq { > > + samsung,pins = "gpj0-5"; > > + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; > > + samsung,pin-pud = <S3C64XX_PIN_PULL_UP>; > > It seems there is a difference here between Aries and Fascinate. At > least in vendor kernel. One disables pull and second pulls down. > Anyway neither of them pulls it up. Fixed with all other issues in v2. Thanks > > Best regards, > Krzysztof
diff --git a/arch/arm/boot/dts/s5pv210-aries.dtsi b/arch/arm/boot/dts/s5pv210-aries.dtsi index 35ba009a1a33..b7246f879648 100644 --- a/arch/arm/boot/dts/s5pv210-aries.dtsi +++ b/arch/arm/boot/dts/s5pv210-aries.dtsi @@ -41,6 +41,13 @@ }; }; + vibrator_pwr: regulator-fixed-0 { + compatible = "regulator-fixed"; + regulator-name = "vibrator-en"; + enable-active-high; + gpio = <&gpj1 1 GPIO_ACTIVE_HIGH>; + }; + wifi_pwrseq: wifi-pwrseq { compatible = "mmc-pwrseq-simple"; reset-gpios = <&gpg1 2 GPIO_ACTIVE_LOW>; @@ -314,6 +321,22 @@ reg = <0x36>; }; }; + + vibrator: pwm-vibrator { + compatible = "pwm-vibrator"; + pwms = <&pwm 1 44642 0>; + pwm-names = "enable"; + vcc-supply = <&vibrator_pwr>; + pinctrl-names = "default"; + pinctrl-0 = <&pwm1_out>; + }; + + poweroff: syscon-poweroff { + compatible = "syscon-poweroff"; + regmap = <&pmu_syscon>; + offset = <0x681c>; /* PS_HOLD_CONTROL */ + value = <0x5200>; + }; }; &fimd { @@ -347,6 +370,23 @@ status = "okay"; }; +&i2c2 { + samsung,i2c-sda-delay = <100>; + samsung,i2c-max-bus-freq = <400000>; + samsung,i2c-slave-addr = <0x10>; + status = "okay"; + + touchscreen@4a { + compatible = "atmel,maxtouch"; + reg = <0x4a>; + interrupt-parent = <&gpj0>; + interrupts = <5 IRQ_TYPE_LEVEL_LOW>; + pinctrl-names = "default"; + pinctrl-0 = <&ts_irq>; + reset-gpios = <&gpj1 3 GPIO_ACTIVE_HIGH>; + }; +}; + &mfc { memory-region = <&mfc_left>, <&mfc_right>; }; @@ -372,6 +412,13 @@ samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; }; + bt_host_wake: bt-host-wake { + samsung,pins = "gph2-5"; + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; + samsung,pin-pud = <S3C64XX_PIN_PULL_DOWN>; + samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; + }; + tf_detect: tf-detect { samsung,pins = "gph3-4"; samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; @@ -384,6 +431,17 @@ samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>; }; + + ts_irq: ts-irq { + samsung,pins = "gpj0-5"; + samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; + samsung,pin-pud = <S3C64XX_PIN_PULL_UP>; + samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; + }; +}; + +&pwm { + samsung,pwm-outputs = <1>; }; &sdhci1 { @@ -421,6 +479,16 @@ &uart0 { status = "okay"; + + bluetooth { + compatible = "brcm,bcm43438-bt"; + max-speed = <115200>; + pinctrl-names = "default"; + pinctrl-0 = <&uart0_data &uart0_fctl &bt_host_wake>; + shutdown-gpios = <&gpb 3 GPIO_ACTIVE_HIGH>; + device-wakeup-gpios = <&gpg3 4 GPIO_ACTIVE_HIGH>; + host-wakeup-gpios = <&gph2 5 GPIO_ACTIVE_HIGH>; + }; }; &uart1 {