On 06/24/2013 06:24 PM, Alexandre Belloni wrote:
> From: Maxime Ripard <maxime.rip...@free-electrons.com>
> 
> The ADCs connected to this bus have been experiencing some timeout
> issues when using the iMX28 i2c controller. Switching back to bitbanging
> solves this.
> 
> Signed-off-by: Maxime Ripard <maxime.rip...@free-electrons.com>
> Signed-off-by: Alexandre Belloni <alexandre.bell...@free-electrons.com>

As there are no disadvantages in taking the driver through IIO and these changes
through the appropriate arch trees, I'd not propose to take these through IIO
(even when the discussion is done) unless specifically asked to.

Jonathan
> ---
>  arch/arm/boot/dts/imx28-cfa10049.dts | 108 
> +++++++++++++++++++++--------------
>  1 file changed, 65 insertions(+), 43 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx28-cfa10049.dts 
> b/arch/arm/boot/dts/imx28-cfa10049.dts
> index 05ae549..d3758c2 100644
> --- a/arch/arm/boot/dts/imx28-cfa10049.dts
> +++ b/arch/arm/boot/dts/imx28-cfa10049.dts
> @@ -139,6 +139,17 @@
>                                       fsl,pull-up = <0>; /* 0 will enable the 
> keeper */
>                               };
>  
> +                             i2c1_pins_cfa10049: i2c1@0 {
> +                                     reg = <0>;
> +                                     fsl,pinmux-ids = <
> +                                             0x3103 /* MX28_PAD_PWM0__GPIO */
> +                                             0x3113 /* 
> MX28_PAD_PWM1__I2C1_SDA */
> +                                     >;
> +                                     fsl,drive-strength = <1>;
> +                                     fsl,voltage = <1>;
> +                                     fsl,pull-up = <1>;
> +                             };
> +
>                               fiq_pins_cfa10049: fiq@0 {
>                                       reg = <0>;
>                                       fsl,pinmux-ids = <
> @@ -199,49 +210,6 @@
>                               status = "okay";
>                       };
>  
> -                     i2c1: i2c@8005a000 {
> -                             pinctrl-names = "default";
> -                             pinctrl-0 = <&i2c1_pins_a>;
> -                             status = "okay";
> -                     };
> -
> -                     i2cmux {
> -                             compatible = "i2c-mux-gpio";
> -                             #address-cells = <1>;
> -                             #size-cells = <0>;
> -                             mux-gpios = <&gpio1 22 0 &gpio1 23 0>;
> -                             i2c-parent = <&i2c1>;
> -
> -                             i2c@0 {
> -                                     reg = <0>;
> -                             };
> -
> -                             i2c@1 {
> -                                     reg = <1>;
> -                             };
> -
> -                             i2c@2 {
> -                                     reg = <2>;
> -                             };
> -
> -                             i2c@3 {
> -                                     reg = <3>;
> -                                     #address-cells = <1>;
> -                                     #size-cells = <0>;
> -
> -                                     pca9555: pca9555@20 {
> -                                             compatible = "nxp,pca9555";
> -                                             interrupt-parent = <&gpio2>;
> -                                             interrupts = <19 0x2>;
> -                                             gpio-controller;
> -                                             #gpio-cells = <2>;
> -                                             interrupt-controller;
> -                                             #interrupt-cells = <2>;
> -                                             reg = <0x20>;
> -                                     };
> -                             };
> -                     };
> -
>                       usbphy1: usbphy@8007e000 {
>                               status = "okay";
>                       };
> @@ -366,6 +334,60 @@
>               rotary-encoder,relative-axis;
>       };
>  
> +     i2c1gpio: i2c@0 {
> +             compatible = "i2c-gpio";
> +             pinctrl-0 = <&i2c1_pins_cfa10049>;
> +             pinctrl-names = "default";
> +             gpios = <
> +                     &gpio3 17 0 /* sda */
> +                     &gpio3 16 0 /* scl */
> +                      >;
> +             i2c-gpio,delay-us = <2>;        /* ~100 kHz */
> +     };
> +
> +     i2cmux {
> +             compatible = "i2c-mux-gpio";
> +             #address-cells = <1>;
> +             #size-cells = <0>;
> +             mux-gpios = <&gpio1 22 0 &gpio1 23 0>;
> +             i2c-parent = <&i2c1gpio>;
> +
> +             i2c@0 {
> +                     reg = <0>;
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
> +             };
> +
> +             i2c@1 {
> +                     reg = <1>;
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
> +             };
> +
> +             i2c@2 {
> +                     reg = <2>;
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
> +             };
> +
> +             i2c@3 {
> +                     reg = <3>;
> +                     #address-cells = <1>;
> +                     #size-cells = <0>;
> +
> +                     pca9555: pca9555@20 {
> +                             compatible = "nxp,pca9555";
> +                             interrupt-parent = <&gpio2>;
> +                             interrupts = <19 0x2>;
> +                             gpio-controller;
> +                             #gpio-cells = <2>;
> +                             interrupt-controller;
> +                             #interrupt-cells = <2>;
> +                             reg = <0x20>;
> +                     };
> +             };
> +     };
> +
>       backlight {
>               compatible = "pwm-backlight";
>               pwms = <&pwm 3 5000000>;
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to