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

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

ARM: dts: lager: use demuxer for IIC3/I2C3



Create a separate bus for da9063 PMIC and da9210 regulator
related I2C slaves.

Based on similar work for HDMI by Wolfram Sang.

Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
[wsa: rebased, corrected chip name in commit msg, updated aliases]
Signed-off-by: default avatarWolfram Sang <wsa+renesas@sang-engineering.com>
parent 4e65e1b6
Loading
Loading
Loading
Loading
+53 −31
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@
		i2c10 = &i2cexio0;
		i2c11 = &i2cexio1;
		i2c12 = &i2chdmi;
		i2c13 = &i2cpwr;
	};

	chosen {
@@ -418,6 +419,46 @@
			};
		};
	};

	/*
	 * IIC3 and I2C3 may be switched using pinmux.
	 * IIC3/I2C3 does not appear to support fallback to GPIO.
	 */
	i2cpwr: i2c-13 {
		compatible = "i2c-demux-pinctrl";
		i2c-parent = <&iic3>, <&i2c3>;
		i2c-bus-name = "i2c-pwr";
		#address-cells = <1>;
		#size-cells = <0>;

		pmic@58 {
			compatible = "dlg,da9063";
			reg = <0x58>;
			interrupt-parent = <&irqc0>;
			interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
			interrupt-controller;

			rtc {
				compatible = "dlg,da9063-rtc";
			};

			wdt {
				compatible = "dlg,da9063-watchdog";
			};
		};

		vdd_dvfs: regulator@68 {
			compatible = "dlg,da9210";
			reg = <0x68>;
			interrupt-parent = <&irqc0>;
			interrupts = <2 IRQ_TYPE_LEVEL_LOW>;

			regulator-min-microvolt = <1000000>;
			regulator-max-microvolt = <1000000>;
			regulator-boot-on;
			regulator-always-on;
		};
	};
};

&du {
@@ -557,6 +598,11 @@
		function = "iic2";
	};

	i2c3_pins: i2c3 {
		groups = "i2c3";
		function = "i2c3";
	};

	iic3_pins: iic3 {
		groups = "iic3";
		function = "iic3";
@@ -772,38 +818,14 @@
	clock-frequency = <100000>;
};

&iic3 {
	pinctrl-names = "default";
	pinctrl-0 = <&iic3_pins>;
	status = "okay";

	pmic@58 {
		compatible = "dlg,da9063";
		reg = <0x58>;
		interrupt-parent = <&irqc0>;
		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
		interrupt-controller;

		rtc {
			compatible = "dlg,da9063-rtc";
		};

		wdt {
			compatible = "dlg,da9063-watchdog";
		};
&i2c3	{
	pinctrl-0 = <&i2c3_pins>;
	pinctrl-names = "i2c-pwr";
};

	vdd_dvfs: regulator@68 {
		compatible = "dlg,da9210";
		reg = <0x68>;
		interrupt-parent = <&irqc0>;
		interrupts = <2 IRQ_TYPE_LEVEL_LOW>;

		regulator-min-microvolt = <1000000>;
		regulator-max-microvolt = <1000000>;
		regulator-boot-on;
		regulator-always-on;
	};
&iic3	{
	pinctrl-0 = <&iic3_pins>;
	pinctrl-names = "i2c-pwr";
};

&pci0 {