Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e60a19f0 authored by Simon Horman's avatar Simon Horman
Browse files

ARM: dts: alt: use demuxer for I2C4



Make it possible to fallback to GPIO for I2C4 on the EXIO-B connector.

This is based on reference work for the I2C0 core of the lager/r8a7790
by Wolfram Sang.

Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
[wsa: rebased and fixed aliases]
Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
parent 6723438b
Loading
Loading
Loading
Loading
+35 −0
Original line number Diff line number Diff line
@@ -18,6 +18,8 @@

	aliases {
		serial0 = &scif2;
		i2c10 = &gpioi2c4;
		i2c12 = &i2cexio4;
	};

	chosen {
@@ -135,6 +137,29 @@
		#clock-cells = <0>;
		clock-frequency = <148500000>;
	};

	gpioi2c4: i2c-10 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "i2c-gpio";
		status = "disabled";
		gpios = <&gpio4 9 GPIO_ACTIVE_HIGH /* sda */
			 &gpio4 8 GPIO_ACTIVE_HIGH /* scl */
			>;
		i2c-gpio,delay-us = <5>;
	};

	/*
	 * I2C4 is routed to EXIO connector B, pins 73 (SCL) + 74 (SDA).
	 * A fallback to GPIO is provided.
	 */
	i2cexio4: i2c-14 {
		compatible = "i2c-demux-pinctrl";
		i2c-parent = <&i2c4>, <&gpioi2c4>;
		i2c-bus-name = "i2c-exio4";
		#address-cells = <1>;
		#size-cells = <0>;
	};
};

&du {
@@ -194,6 +219,11 @@
		function = "i2c1";
	};

	i2c4_pins: i2c4 {
		groups = "i2c4";
		function = "i2c4";
	};

	vin0_pins: vin0 {
		groups = "vin0_data8", "vin0_clk";
		function = "vin0";
@@ -314,6 +344,11 @@
	};
};

&i2c4 {
	pinctrl-0 = <&i2c4_pins>;
	pinctrl-names = "i2c-exio4";
};

&vin0 {
	status = "okay";
	pinctrl-0 = <&vin0_pins>;