From: Paweł Chmiel <pawel.mikolaj.chm...@gmail.com>

Add support for the Silicon Labs si4709 fmradio, which can be found
on Galaxy S GT-i9000 (but not most other aries variants).

Signed-off-by: Paweł Chmiel <pawel.mikolaj.chm...@gmail.com>
Signed-off-by: Jonathan Bakker <xc-rac...@live.ca>
---
 arch/arm/boot/dts/s5pv210-aries.dtsi  |  2 +-
 arch/arm/boot/dts/s5pv210-galaxys.dts | 47 +++++++++++++++++++++++++++
 2 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/s5pv210-aries.dtsi 
b/arch/arm/boot/dts/s5pv210-aries.dtsi
index a3748705dce8..0fa3de3c985d 100644
--- a/arch/arm/boot/dts/s5pv210-aries.dtsi
+++ b/arch/arm/boot/dts/s5pv210-aries.dtsi
@@ -11,7 +11,7 @@
 / {
        compatible = "samsung,aries", "samsung,s5pv210";
 
-       aliases {
+       aliases: aliases {
                i2c4 = &i2c_sound;
                i2c5 = &i2c_accel;
                i2c6 = &i2c_pmic;
diff --git a/arch/arm/boot/dts/s5pv210-galaxys.dts 
b/arch/arm/boot/dts/s5pv210-galaxys.dts
index 9bf4a5b95b74..a99fdda25262 100644
--- a/arch/arm/boot/dts/s5pv210-galaxys.dts
+++ b/arch/arm/boot/dts/s5pv210-galaxys.dts
@@ -49,12 +49,59 @@
                        wakeup-source;
                };
        };
+
+       i2c_fmradio: i2c-gpio-8 {
+               compatible = "i2c-gpio";
+               sda-gpios = <&gpd1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               scl-gpios = <&gpd1 3 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
+               i2c-gpio,delay-us = <2>;
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               pinctrl-names = "default";
+               pinctrl-0 = <&fm_i2c_pins>;
+
+               fmradio@10 {
+                       compatible = "silabs,si470x";
+                       reg = <0x10>;
+                       interrupt-parent = <&gpj2>;
+                       interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
+                       reset-gpios = <&gpj2 5 GPIO_ACTIVE_HIGH>;
+
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&fm_irq &fm_rst>;
+               };
+       };
+};
+
+&aliases {
+       i2c8 = &i2c_fmradio;
 };
 
 &pinctrl0 {
        pinctrl-names = "default";
        pinctrl-0 = <&sleep_cfg>;
 
+       fm_i2c_pins: fm-i2c-pins {
+               samsung,pins = "gpd1-2", "gpd1-3";
+               samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
+       };
+
+       fm_irq: fm-irq {
+               samsung,pins = "gpj2-4";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
+               samsung,pin-pud = <S3C64XX_PIN_PULL_UP>;
+               samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
+       };
+
+       fm_rst: fm-rst {
+               samsung,pins = "gpj2-5";
+               samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
+               samsung,pin-pud = <S3C64XX_PIN_PULL_NONE>;
+               samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
+       };
+
        massmemory_en: massmemory-en {
                samsung,pins = "gpj2-7";
                samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
-- 
2.20.1

Reply via email to