Skip to content

Commit

Permalink
dt: Update all mainline bcm283x dt files for i2c0 pinctrl mux
Browse files Browse the repository at this point in the history
BSC0 (aka i2c0) can me muxed via pinctrl to GPIOs 0&1, 28&29, or
44&45. These have different uses based on the platform (40pin header,
and CSI/DSI connectors), so add a pinctrl I2C mux between the
different options.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
  • Loading branch information
6by9 committed Apr 21, 2020
1 parent e0f5690 commit b6f635e
Show file tree
Hide file tree
Showing 14 changed files with 79 additions and 2 deletions.
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-a-plus.dts
Expand Up @@ -126,3 +126,8 @@
pinctrl-0 = <&uart0_gpio14>;
status = "okay";
};

/* i2c on camera/display connector is gpio 28&29 */
&i2c0mux {
pinctrl-1 = <&i2c0_gpio28>;
};
7 changes: 7 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-a.dts
Expand Up @@ -121,3 +121,10 @@
pinctrl-0 = <&uart0_gpio14>;
status = "okay";
};

/* i2c0 on camera/display connector is gpio 0&1. Not exposed on header.
* To avoid having to remap everything, map both ports to gpios 0&1
*/
&i2c0mux {
pinctrl-1 = <&i2c0_gpio0>;
};
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-b-plus.dts
Expand Up @@ -128,3 +128,8 @@
pinctrl-0 = <&uart0_gpio14>;
status = "okay";
};

/* i2c on camera/display connector is gpio 28&29 */
&i2c0mux {
pinctrl-1 = <&i2c0_gpio28>;
};
8 changes: 8 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-b-rev2.dts
Expand Up @@ -121,3 +121,11 @@
pinctrl-0 = <&uart0_gpio14>;
status = "okay";
};

/* i2c0 on camera/display connector is gpio 0&1. Not exposed on header.
* To avoid having to remap everything, map both ports to gpios 0&1
*/
&i2c0mux {
pinctrl-1 = <&i2c0_gpio0>;
};

7 changes: 7 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-b.dts
Expand Up @@ -116,3 +116,10 @@
pinctrl-0 = <&uart0_gpio14>;
status = "okay";
};

/* camera/display connector use BSC1 on GPIOS 2&3.
* To avoid having to remap everything, map both ports to gpios 0&1
*/
&i2c0mux {
pinctrl-1 = <&i2c0_gpio0>;
};
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-cm1-io1.dts
Expand Up @@ -95,3 +95,8 @@
pinctrl-0 = <&uart0_gpio14>;
status = "okay";
};

/* WHAT TO DO HERE? */
&i2c0mux {
pinctrl-1 = <&i2c0_gpio28>;
};
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-zero-w.dts
Expand Up @@ -149,3 +149,8 @@
pinctrl-0 = <&uart1_gpio14>;
status = "okay";
};

/* i2c on camera/display connector is gpio 28&29 */
&i2c0mux {
pinctrl-1 = <&i2c0_gpio28>;
};
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/bcm2835-rpi-zero.dts
Expand Up @@ -117,3 +117,8 @@
pinctrl-0 = <&uart0_gpio14>;
status = "okay";
};

/* i2c on camera/display connector is gpio 28&29 */
&i2c0mux {
pinctrl-1 = <&i2c0_gpio28>;
};
9 changes: 7 additions & 2 deletions arch/arm/boot/dts/bcm2835-rpi.dtsi
Expand Up @@ -46,13 +46,18 @@
};
};

&i2c0 {
&i2c0if {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_gpio0>;
status = "okay";
clock-frequency = <100000>;
};

&i2c0mux {
pinctrl-0 = <&i2c0_gpio0>;
/* pinctrl-1 varies based on platform */
status = "okay";
};

&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_gpio2>;
Expand Down
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/bcm2836-rpi-2-b.dts
Expand Up @@ -128,3 +128,8 @@
pinctrl-0 = <&uart0_gpio14>;
status = "okay";
};

/* i2c on camera/display connector is gpio 28&29 */
&i2c0mux {
pinctrl-1 = <&i2c0_gpio28>;
};
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/bcm2837-rpi-3-a-plus.dts
Expand Up @@ -176,3 +176,8 @@
pinctrl-0 = <&uart1_gpio14>;
status = "okay";
};

/* i2c on camera/display connector is gpio 44&45 */
&i2c0mux {
pinctrl-1 = <&i2c0_gpio44>;
};
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/bcm2837-rpi-3-b-plus.dts
Expand Up @@ -179,3 +179,8 @@
pinctrl-0 = <&uart1_gpio14>;
status = "okay";
};

/* i2c on camera/display connector is gpio 44&45 */
&i2c0mux {
pinctrl-1 = <&i2c0_gpio44>;
};
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/bcm2837-rpi-3-b.dts
Expand Up @@ -174,3 +174,8 @@
status = "okay";
bus-width = <4>;
};

/* i2c on camera/display connector is gpio 44&45 */
&i2c0mux {
pinctrl-1 = <&i2c0_gpio44>;
};
5 changes: 5 additions & 0 deletions arch/arm/boot/dts/bcm2837-rpi-cm3-io3.dts
Expand Up @@ -94,3 +94,8 @@
pinctrl-0 = <&uart0_gpio14>;
status = "okay";
};

/* WHAT TO DO HERE? */
&i2c0mux {
pinctrl-1 = <&i2c0_gpio28>;
};

0 comments on commit b6f635e

Please sign in to comment.