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

Commit 61866d7f authored by Wolfram Sang's avatar Wolfram Sang Committed by Simon Horman
Browse files

ARM: dts: alt: use demuxer for I2C1



Create a separate bus for HDMI related I2C1 and provide fallback to GPIO.

Based on work for the r8a7790/lager by Wolfram Sang.

Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
[wsa: rebased, fixed aliases, switched to named GPIOs]
Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
parent 12937bff
Loading
Loading
Loading
Loading
+37 −16
Original line number Diff line number Diff line
@@ -18,7 +18,9 @@

	aliases {
		serial0 = &scif2;
		i2c9 = &gpioi2c1;
		i2c10 = &gpioi2c4;
		i2c11 = &i2chdmi;
		i2c12 = &i2cexio4;
	};

@@ -138,16 +140,49 @@
		clock-frequency = <148500000>;
	};

	gpioi2c1: i2c-9 {
		#address-cells = <1>;
		#size-cells = <0>;
		compatible = "i2c-gpio";
		status = "disabled";
		scl-gpios = <&gpio4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
		sda-gpios = <&gpio4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
	};

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

	/*
	 * A fallback to GPIO is provided for I2C1.
	 */
	i2chdmi: i2c-11 {
		compatible = "i2c-demux-pinctrl";
		i2c-parent = <&i2c1>, <&gpioi2c1>;
		i2c-bus-name = "i2c-hdmi";
		#address-cells = <1>;
		#size-cells = <0>;

		composite-in@20 {
			compatible = "adi,adv7180";
			reg = <0x20>;
			remote = <&vin0>;

			port {
				adv7180: endpoint {
					bus-width = <8>;
					remote-endpoint = <&vin0ep>;
				};
			};
		};
	};

	/*
	 * I2C4 is routed to EXIO connector B, pins 73 (SCL) + 74 (SDA).
	 * A fallback to GPIO is provided.
@@ -324,23 +359,9 @@

&i2c1 {
	pinctrl-0 = <&i2c1_pins>;
	pinctrl-names = "default";
	pinctrl-names = "i2c-hdmi";

	status = "okay";
	clock-frequency = <400000>;

	composite-in@20 {
		compatible = "adi,adv7180";
		reg = <0x20>;
		remote = <&vin0>;

		port {
			adv7180: endpoint {
				bus-width = <8>;
				remote-endpoint = <&vin0ep>;
			};
		};
	};
};

&i2c4 {