diff options
author | Kevin Hilman <khilman@linaro.org> | 2013-08-22 12:14:04 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2013-08-22 12:14:26 -0400 |
commit | 7ae0cebc58195aba5320f55c7bf5e3d735cf1312 (patch) | |
tree | 2d70bc9667606ba54fce5434d9024198d078c6c6 | |
parent | 5f5cc5cd7ce253e1d24be21dc07a430cb33a1529 (diff) | |
parent | 66e0c12f9e17a1c97fc358f9e1f5e1dc615e279a (diff) |
Merge tag 'nomadik-i2c-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/dt
From Linus Walleij:
Enables the standard Nomadik I2C driver for use
on the original Nomadik instead of using a bit-banged
driver.
* tag 'nomadik-i2c-for-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
ARM: nomadik: switch to use the Nomadik I2C driver
Signed-off-by: Kevin Hilman <khilman@linaro.org>
-rw-r--r-- | arch/arm/boot/dts/ste-nomadik-stn8815.dtsi | 42 | ||||
-rw-r--r-- | arch/arm/mach-nomadik/Kconfig | 1 |
2 files changed, 32 insertions, 11 deletions
diff --git a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi index a3acfa7b3dc9..9169d3025f39 100644 --- a/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi +++ b/arch/arm/boot/dts/ste-nomadik-stn8815.dtsi | |||
@@ -140,18 +140,30 @@ | |||
140 | }; | 140 | }; |
141 | }; | 141 | }; |
142 | i2c0 { | 142 | i2c0 { |
143 | i2c0_default_mux: i2c0_mux { | ||
144 | i2c0_default_mux { | ||
145 | ste,function = "i2c0"; | ||
146 | ste,pins = "i2c0_a_1"; | ||
147 | }; | ||
148 | }; | ||
143 | i2c0_default_mode: i2c0_default { | 149 | i2c0_default_mode: i2c0_default { |
144 | i2c0_default_cfg { | 150 | i2c0_default_cfg { |
145 | ste,pins = "GPIO62_D3", "GPIO63_D2"; | 151 | ste,pins = "GPIO62_D3", "GPIO63_D2"; |
146 | ste,input = <1>; | 152 | ste,input = <0>; |
147 | }; | 153 | }; |
148 | }; | 154 | }; |
149 | }; | 155 | }; |
150 | i2c1 { | 156 | i2c1 { |
157 | i2c1_default_mux: i2c1_mux { | ||
158 | i2c1_default_mux { | ||
159 | ste,function = "i2c1"; | ||
160 | ste,pins = "i2c1_a_1"; | ||
161 | }; | ||
162 | }; | ||
151 | i2c1_default_mode: i2c1_default { | 163 | i2c1_default_mode: i2c1_default { |
152 | i2c1_default_cfg { | 164 | i2c1_default_cfg { |
153 | ste,pins = "GPIO53_L4", "GPIO54_L3"; | 165 | ste,pins = "GPIO53_L4", "GPIO54_L3"; |
154 | ste,input = <1>; | 166 | ste,input = <0>; |
155 | }; | 167 | }; |
156 | }; | 168 | }; |
157 | }; | 169 | }; |
@@ -159,7 +171,7 @@ | |||
159 | i2c2_default_mode: i2c2_default { | 171 | i2c2_default_mode: i2c2_default { |
160 | i2c2_default_cfg { | 172 | i2c2_default_cfg { |
161 | ste,pins = "GPIO73_C21", "GPIO74_C20"; | 173 | ste,pins = "GPIO73_C21", "GPIO74_C20"; |
162 | ste,input = <1>; | 174 | ste,input = <0>; |
163 | }; | 175 | }; |
164 | }; | 176 | }; |
165 | }; | 177 | }; |
@@ -682,13 +694,17 @@ | |||
682 | 694 | ||
683 | /* I2C0 connected to the STw4811 power management chip */ | 695 | /* I2C0 connected to the STw4811 power management chip */ |
684 | i2c0 { | 696 | i2c0 { |
685 | compatible = "i2c-gpio"; | 697 | compatible = "st,nomadik-i2c", "arm,primecell"; |
686 | gpios = <&gpio1 31 0>, /* sda */ | 698 | reg = <0x101f8000 0x1000>; |
687 | <&gpio1 30 0>; /* scl */ | 699 | interrupt-parent = <&vica>; |
700 | interrupts = <20>; | ||
701 | clock-frequency = <100000>; | ||
688 | #address-cells = <1>; | 702 | #address-cells = <1>; |
689 | #size-cells = <0>; | 703 | #size-cells = <0>; |
704 | clocks = <&i2c0clk>, <&pclki2c0>; | ||
705 | clock-names = "mclk", "apb_pclk"; | ||
690 | pinctrl-names = "default"; | 706 | pinctrl-names = "default"; |
691 | pinctrl-0 = <&i2c0_default_mode>; | 707 | pinctrl-0 = <&i2c0_default_mux>, <&i2c0_default_mode>; |
692 | 708 | ||
693 | stw4811@2d { | 709 | stw4811@2d { |
694 | compatible = "st,stw4811"; | 710 | compatible = "st,stw4811"; |
@@ -698,13 +714,17 @@ | |||
698 | 714 | ||
699 | /* I2C1 connected to various sensors */ | 715 | /* I2C1 connected to various sensors */ |
700 | i2c1 { | 716 | i2c1 { |
701 | compatible = "i2c-gpio"; | 717 | compatible = "st,nomadik-i2c", "arm,primecell"; |
702 | gpios = <&gpio1 22 0>, /* sda */ | 718 | reg = <0x101f7000 0x1000>; |
703 | <&gpio1 21 0>; /* scl */ | 719 | interrupt-parent = <&vica>; |
720 | interrupts = <21>; | ||
721 | clock-frequency = <100000>; | ||
704 | #address-cells = <1>; | 722 | #address-cells = <1>; |
705 | #size-cells = <0>; | 723 | #size-cells = <0>; |
724 | clocks = <&i2c1clk>, <&pclki2c1>; | ||
725 | clock-names = "mclk", "apb_pclk"; | ||
706 | pinctrl-names = "default"; | 726 | pinctrl-names = "default"; |
707 | pinctrl-0 = <&i2c1_default_mode>; | 727 | pinctrl-0 = <&i2c1_default_mux>, <&i2c1_default_mode>; |
708 | 728 | ||
709 | camera@2d { | 729 | camera@2d { |
710 | compatible = "st,camera"; | 730 | compatible = "st,camera"; |
diff --git a/arch/arm/mach-nomadik/Kconfig b/arch/arm/mach-nomadik/Kconfig index 5981c3db9b41..4d42da49753c 100644 --- a/arch/arm/mach-nomadik/Kconfig +++ b/arch/arm/mach-nomadik/Kconfig | |||
@@ -27,6 +27,7 @@ config MACH_NOMADIK_8815NHK | |||
27 | select NOMADIK_8815 | 27 | select NOMADIK_8815 |
28 | select I2C | 28 | select I2C |
29 | select I2C_ALGOBIT | 29 | select I2C_ALGOBIT |
30 | select I2C_NOMADIK | ||
30 | 31 | ||
31 | endmenu | 32 | endmenu |
32 | endif | 33 | endif |