From adb9e561a73c5665a83b6d40bd21a6b483ead889 Mon Sep 17 00:00:00 2001 From: Sourav Poddar Date: Wed, 13 Feb 2013 14:58:30 +0530 Subject: [PATCH] ARM: dts: omap4-panda: Add I2c pinctrl data Booting 3.8-rc6 on omap4 panda results in the following error [ 0.444427] omap_i2c 48070000.i2c: did not get pins for i2c error: -19 [ 0.445770] omap_i2c 48070000.i2c: bus 0 rev0.11 at 400 kHz [ 0.473937] omap_i2c 48072000.i2c: did not get pins for i2c error: -19 [ 0.474670] omap_i2c 48072000.i2c: bus 1 rev0.11 at 400 kHz [ 0.474822] omap_i2c 48060000.i2c: did not get pins for i2c error: -19 [ 0.476379] omap_i2c 48060000.i2c: bus 2 rev0.11 at 100 kHz [ 0.477294] omap_i2c 48350000.i2c: did not get pins for i2c error: -19 [ 0.477996] omap_i2c 48350000.i2c: bus 3 rev0.11 at 400 kHz [ 0.483398] Switching to clocksource 32k_counter This happens because omap4 panda dts file is not adapted to use i2c through pinctrl framework. Populating i2c pinctrl data to get rid of the error. Tested on omap4460 panda with 3.8-rc6 kernel. Signed-off-by: Sourav Poddar Reported-by: Luciano Coelho Signed-off-by: Benoit Cousson --- arch/arm/boot/dts/omap4-panda.dts | 40 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/arch/arm/boot/dts/omap4-panda.dts b/arch/arm/boot/dts/omap4-panda.dts index 4122efe..f951e6b 100644 --- a/arch/arm/boot/dts/omap4-panda.dts +++ b/arch/arm/boot/dts/omap4-panda.dts @@ -110,9 +110,40 @@ 0x58 0x10b /* hdmi_hpd.gpio_63 INPUT PULLDOWN | MODE3 */ >; }; + + i2c1_pins: pinmux_i2c1_pins { + pinctrl-single,pins = < + 0xe2 0x118 /* i2c1_scl PULLUP | INPUTENABLE | MODE0 */ + 0xe4 0x118 /* i2c1_sda PULLUP | INPUTENABLE | MODE0 */ + >; + }; + + i2c2_pins: pinmux_i2c2_pins { + pinctrl-single,pins = < + 0xe6 0x118 /* i2c2_scl PULLUP | INPUTENABLE | MODE0 */ + 0xe8 0x118 /* i2c2_sda PULLUP | INPUTENABLE | MODE0 */ + >; + }; + + i2c3_pins: pinmux_i2c3_pins { + pinctrl-single,pins = < + 0xea 0x118 /* i2c3_scl PULLUP | INPUTENABLE | MODE0 */ + 0xec 0x118 /* i2c3_sda PULLUP | INPUTENABLE | MODE0 */ + >; + }; + + i2c4_pins: pinmux_i2c4_pins { + pinctrl-single,pins = < + 0xee 0x118 /* i2c4_scl PULLUP | INPUTENABLE | MODE0 */ + 0xf0 0x118 /* i2c4_sda PULLUP | INPUTENABLE | MODE0 */ + >; + }; }; &i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pins>; + clock-frequency = <400000>; twl: twl@48 { @@ -139,10 +170,16 @@ /include/ "twl6030.dtsi" &i2c2 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c2_pins>; + clock-frequency = <400000>; }; &i2c3 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c3_pins>; + clock-frequency = <100000>; /* @@ -156,6 +193,9 @@ }; &i2c4 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c4_pins>; + clock-frequency = <400000>; }; -- 2.7.4