diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
index 34cdaada82a20..f09b965d9ba57 100644
--- a/arch/arm/boot/dts/overlays/README
+++ b/arch/arm/boot/dts/overlays/README
@@ -568,6 +568,8 @@ Load: dtoverlay=ads1115,[=]
Params: addr I2C bus address of device. Set based on how the
addr pin is wired. (default=0x48 assumes addr
is pulled to GND)
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
cha_enable Enable virtual channel a.
cha_cfg Set the configuration for virtual channel a.
(default=4 configures this channel for the
@@ -577,22 +579,6 @@ Params: addr I2C bus address of device. Set based on how the
cha_gain Set the gain of the Programmable Gain
Amplifier for this channel. (Default 1 sets the
full scale of the channel to 4.096 Volts)
- i2c0 Choose the I2C0 bus on GPIOs 0&1
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c4 Choose the I2C4 bus (configure with the i2c4
- overlay - BCM2711 only)
- i2c5 Choose the I2C5 bus (configure with the i2c5
- overlay - BCM2711 only)
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
- i2c-path Override I2C path to allow for i2c-gpio buses
Channel parameters can be set for each enabled channel.
A maximum of 4 channels can be enabled (letters a thru d).
@@ -1263,20 +1249,11 @@ Params: sizex Touchscreen size x (default 800)
invx Touchscreen inverted x axis
invy Touchscreen inverted y axis
swapxy Touchscreen swapped x y axis
- i2c0 Choose the I2C0 bus on GPIOs 0&1
- i2c1 Choose the I2C1 bus on GPIOs 2&3
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c4 Choose the I2C4 bus (configure with the i2c4
- overlay - BCM2711 only)
- i2c5 Choose the I2C5 bus (configure with the i2c5
- overlay - BCM2711 only)
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
addr Sets the address for the touch controller. Note
that the device must be configured to use the
specified address.
- i2c-path Override I2C path to allow for i2c-gpio buses
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
Name: enc28j60
@@ -2114,37 +2091,41 @@ Load: dtoverlay=i2c-bcm2708
Params:
-Name: i2c-fan
-Info: Adds support for a number of I2C fan controllers
-Load: dtoverlay=i2c-fan,=
-Params: addr Sets the address for the fan controller. Note
- that the device must be configured to use the
- specified address.
-
- i2c0 Choose the I2C0 bus on GPIOs 0&1
-
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
-
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
-
+Name: i2c-bus
+Info: This is not a real overlay. Many overlays support the use of a variety
+ of I2C buses, and this is where the relevant parameters are documented.
+Load:
+Params: i2c0 Choose the I2C0 bus on GPIOs 0&1
+ i2c1 Choose the I2C1 bus on GPIOs 2&3
+ i2c2 Choose the I2C2 bus (configure with the i2c2
+ overlay - BCM2711 only)
i2c3 Choose the I2C3 bus (configure with the i2c3
overlay - BCM2711 only)
-
i2c4 Choose the I2C4 bus (configure with the i2c4
overlay - BCM2711 only)
-
i2c5 Choose the I2C5 bus (configure with the i2c5
overlay - BCM2711 only)
-
i2c6 Choose the I2C6 bus (configure with the i2c6
overlay - BCM2711 only)
-
+ i2c_csi_dsi Choose the I2C bus connected to the main
+ camera/display connector.
+ See "dtparam -h i2c_csi_dsi" for details.
+ i2c_csi_dsi0 Choose the I2C bus connected to the second
+ camera/display connector, if present.
+ See "dtparam -h i2c_csi_dsi0" for details.
i2c-path Override I2C path to allow for i2c-gpio buses
+
+Name: i2c-fan
+Info: Adds support for a number of I2C fan controllers
+Load: dtoverlay=i2c-fan,=
+Params: addr Sets the address for the fan controller. Note
+ that the device must be configured to use the
+ specified address.
+
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
+
minpwm PWM setting for the fan when the SoC is below
mintemp (range 0-255. default 0)
maxpwm PWM setting for the fan when the SoC is above
@@ -2196,33 +2177,12 @@ Params: pca9542 Select the NXP PCA9542 device
addr Change I2C address of the device (default 0x70)
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
+
base Set an explicit base value for the channel bus
numbers
- i2c0 Choose the I2C0 bus on GPIOs 0&1
-
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
-
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
-
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
-
- i2c4 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
-
- i2c5 Choose the I2C5 bus (configure with the i2c4
- overlay - BCM2711 only)
-
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
-
- i2c-path Override I2C path to allow for i2c-gpio buses
-
disconnect_on_idle Force the mux to disconnect all child buses
after every transaction.
@@ -2234,22 +2194,8 @@ Name: i2c-pwm-pca9685a
Info: Adds support for an NXP PCA9685A I2C PWM controller on i2c_arm
Load: dtoverlay=i2c-pwm-pca9685a,=
Params: addr I2C address of PCA9685A (default 0x40)
- i2c0 Choose the I2C0 bus on GPIOs 0&1
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c4 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c5 Choose the I2C5 bus (configure with the i2c4
- overlay - BCM2711 only)
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
- i2c-path Override I2C path to allow for i2c-gpio buses
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
Name: i2c-rtc
@@ -2303,29 +2249,8 @@ Params: abx80x Select one of the ABx80x family:
s35390a Select the ABLIC S35390A device
- i2c0 Choose the I2C0 bus on GPIOs 0&1
-
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
-
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
-
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
-
- i2c4 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
-
- i2c5 Choose the I2C5 bus (configure with the i2c4
- overlay - BCM2711 only)
-
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
-
- i2c-path Override I2C path to allow for i2c-gpio buses
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
addr Sets the address for the RTC. Note that the
device must be configured to use the specified
@@ -2451,6 +2376,9 @@ Params: addr Set the address for the ADT7410, BH1750, BME280,
JC42, LM75, MCP980x, MPU6050, MPU9250, MS5637,
MS5803, MS5805, MS5837, MS8607, SHT3x or TMP102
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
+
adt7410 Select the Analog Devices ADT7410 and ADT7420
temperature sensors
Valid address 0x48-0x4b, default 0x48
@@ -2591,29 +2519,6 @@ Params: addr Set the address for the ADT7410, BH1750, BME280,
veml6070 Select the Vishay VEML6070 ultraviolet light
sensor
- i2c0 Choose the I2C0 bus on GPIOs 0&1
-
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
-
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
-
- i2c4 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
-
- i2c5 Choose the I2C5 bus (configure with the i2c4
- overlay - BCM2711 only)
-
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
-
- i2c-path Override I2C path to allow for i2c-gpio buses
-
Name: i2c0
Info: Change i2c0 pin usage. Not all pin combinations are usable on all
@@ -3255,24 +3160,11 @@ Params: gpiopin Gpio pin connected to the INTA output of the
addr I2C address of the MCP23017 (default: 0x20)
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
+
mcp23008 Configure an MCP23008 instead.
noints Disable the interrupt GPIO line.
- i2c0 Choose the I2C0 bus on GPIOs 0&1
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c4 Choose the I2C4 bus (configure with the i2c4
- overlay - BCM2711 only)
- i2c5 Choose the I2C5 bus (configure with the i2c5
- overlay - BCM2711 only)
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
- i2c-path Override I2C path to allow for i2c-gpio buses
Name: mcp23s17
@@ -3692,6 +3584,8 @@ Name: pca953x
Info: TI PCA953x family of I2C GPIO expanders. Default is for NXP PCA9534.
Load: dtoverlay=pca953x,=
Params: addr I2C address of expander. Default 0x20.
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
pca6416 Select the NXP PCA6416 (16 bit)
pca9505 Select the NXP PCA9505 (40 bit)
pca9535 Select the NXP PCA9535 (16 bit)
@@ -3722,22 +3616,6 @@ Params: addr I2C address of expander. Default 0x20.
cat9554 Select the Onnn CAT9554 (8 bit)
pca9654 Select the Onnn PCA9654 (8 bit)
xra1202 Select the Exar XRA1202 (8 bit)
- i2c0 Choose the I2C0 bus on GPIOs 0&1
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c4 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c5 Choose the I2C5 bus (configure with the i2c4
- overlay - BCM2711 only)
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
- i2c-path Override I2C path to allow for i2c-gpio buses
Name: pcf857x
@@ -3745,26 +3623,12 @@ Info: NXP PCF857x family of I2C GPIO expanders.
Load: dtoverlay=pcf857x,=
Params: addr I2C address of expander. Default
depends on model selected.
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
pcf8574 Select the NXP PCF8574 (8 bit)
pcf8574a Select the NXP PCF8574A (8 bit)
pcf8575 Select the NXP PCF8575 (16 bit)
pca8574 Select the NXP PCA8574 (8 bit)
- i2c0 Choose the I2C0 bus on GPIOs 0&1
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c4 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c5 Choose the I2C5 bus (configure with the i2c4
- overlay - BCM2711 only)
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
- i2c-path Override I2C path to allow for i2c-gpio buses
Name: pcie-32bit-dma
@@ -4463,23 +4327,9 @@ Info: Overlay for the NXP SC16IS750 UART with I2C Interface
Load: dtoverlay=sc16is750-i2c,=
Params: int_pin GPIO used for IRQ (default 24)
addr Address (default 0x48)
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
xtal On-board crystal frequency (default 14745600)
- i2c0 Choose the I2C0 bus on GPIOs 0&1
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c4 Choose the I2C4 bus (configure with the i2c4
- overlay - BCM2711 only)
- i2c5 Choose the I2C5 bus (configure with the i2c5
- overlay - BCM2711 only)
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
- i2c-path Override I2C path to allow for i2c-gpio buses
Name: sc16is750-spi0
@@ -4497,23 +4347,9 @@ Info: Overlay for the NXP SC16IS752 dual UART with I2C Interface
Load: dtoverlay=sc16is752-i2c,=
Params: int_pin GPIO used for IRQ (default 24)
addr Address (default 0x48)
+ i2c-bus Supports all the standard I2C bus selection
+ parameters - see "dtoverlay -h i2c-bus"
xtal On-board crystal frequency (default 14745600)
- i2c0 Choose the I2C0 bus on GPIOs 0&1
- i2c_csi_dsi Choose the I2C bus connected to the main
- camera/display connector.
- See "dtparam -h i2c_csi_dsi" for details.
- i2c_csi_dsi0 Choose the I2C bus connected to the second
- camera/display connector, if present.
- See "dtparam -h i2c_csi_dsi0" for details.
- i2c3 Choose the I2C3 bus (configure with the i2c3
- overlay - BCM2711 only)
- i2c4 Choose the I2C4 bus (configure with the i2c4
- overlay - BCM2711 only)
- i2c5 Choose the I2C5 bus (configure with the i2c5
- overlay - BCM2711 only)
- i2c6 Choose the I2C6 bus (configure with the i2c6
- overlay - BCM2711 only)
- i2c-path Override I2C path to allow for i2c-gpio buses
Name: sc16is752-spi0
diff --git a/arch/arm/boot/dts/overlays/ads1115-overlay.dts b/arch/arm/boot/dts/overlays/ads1115-overlay.dts
index e53ae59d86e65..6a1d86929adde 100644
--- a/arch/arm/boot/dts/overlays/ads1115-overlay.dts
+++ b/arch/arm/boot/dts/overlays/ads1115-overlay.dts
@@ -5,6 +5,8 @@
/dts-v1/;
/plugin/;
+#include "i2c-buses.dtsi"
+
/ {
compatible = "brcm,bcm2835";
@@ -81,27 +83,6 @@
};
};
- frag100: fragment@100 {
- target = <&i2c1>;
- i2cbus: __overlay__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@102 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
__overrides__ {
addr = <&ads1115>,"reg:0";
cha_enable = <0>,"=0";
@@ -120,20 +101,5 @@
chd_cfg = <&channel_d>,"reg:0";
chd_gain = <&channel_d>,"ti,gain:0";
chd_datarate = <&channel_d>,"ti,datarate:0";
- i2c0 = <&frag100>, "target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag100>, "target:0=",<&i2c_csi_dsi>,
- <0>,"+101+102";
- i2c_csi_dsi0 = <&frag100>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+101+102";
- i2c3 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c3";
- i2c4 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c4";
- i2c5 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c5";
- i2c6 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c6";
- i2c-path = <&frag100>, "target?=0",
- <&frag100>, "target-path";
};
};
diff --git a/arch/arm/boot/dts/overlays/edt-ft5406-overlay.dts b/arch/arm/boot/dts/overlays/edt-ft5406-overlay.dts
index d253d621318b5..7cbc3fa673a30 100644
--- a/arch/arm/boot/dts/overlays/edt-ft5406-overlay.dts
+++ b/arch/arm/boot/dts/overlays/edt-ft5406-overlay.dts
@@ -7,44 +7,16 @@
/dts-v1/;
/plugin/;
+#define ENABLE_I2C0_MUX
+#include "i2c-buses.dtsi"
#include "edt-ft5406.dtsi"
-/ {
- fragment@0 {
- target = <&i2c0if>;
- __overlay__ {
- status = "okay";
- };
- };
-
- fragment@1 {
- target = <&i2c0mux>;
- __overlay__ {
- status = "okay";
- };
- };
+&busfrag {
+ target = <&i2c_csi_dsi>;
+};
+/ {
__overrides__ {
- i2c0 = <&ts_i2c_frag>,"target:0=",<&i2c0>,
- <0>,"-0-1";
- i2c1 = <&ts_i2c_frag>, "target?=0",
- <&ts_i2c_frag>, "target-path=i2c1",
- <0>,"-0-1";
- i2c3 = <&ts_i2c_frag>, "target?=0",
- <&ts_i2c_frag>, "target-path=i2c3",
- <0>,"-0-1";
- i2c4 = <&ts_i2c_frag>, "target?=0",
- <&ts_i2c_frag>, "target-path=i2c4",
- <0>,"-0-1";
- i2c5 = <&ts_i2c_frag>, "target?=0",
- <&ts_i2c_frag>, "target-path=i2c5",
- <0>,"-0-1";
- i2c6 = <&ts_i2c_frag>, "target?=0",
- <&ts_i2c_frag>, "target-path=i2c6",
- <0>,"-0-1";
- i2c-path = <&ts_i2c_frag>, "target?=0",
- <&ts_i2c_frag>, "target-path",
- <0>,"-0-1";
addr = <&ft5406>,"reg:0";
};
};
diff --git a/arch/arm/boot/dts/overlays/edt-ft5406.dtsi b/arch/arm/boot/dts/overlays/edt-ft5406.dtsi
index 16aa5cf91df57..3be2f18e898f2 100644
--- a/arch/arm/boot/dts/overlays/edt-ft5406.dtsi
+++ b/arch/arm/boot/dts/overlays/edt-ft5406.dtsi
@@ -22,12 +22,11 @@
};
};
- ts_i2c_frag: fragment@12 {
- target = <&i2c_csi_dsi>;
+ fragment@12 {
+ target = <&i2cbus>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
- status = "okay";
ft5406: ts@38 {
compatible = "edt,edt-ft5506";
diff --git a/arch/arm/boot/dts/overlays/i2c-buses.dtsi b/arch/arm/boot/dts/overlays/i2c-buses.dtsi
new file mode 100644
index 0000000000000..713b7a735ea41
--- /dev/null
+++ b/arch/arm/boot/dts/overlays/i2c-buses.dtsi
@@ -0,0 +1,67 @@
+// Common i2c buses, and dtparams to select them
+
+/ {
+ compatible = "brcm,bcm2835";
+
+ busfrag: fragment@100 {
+ target = <&i2c_arm>;
+ i2cbus: __overlay__ {
+ status = "okay";
+ };
+ };
+
+ fragment@101 {
+ target = <&i2c0if>;
+#ifdef ENABLE_I2C0_MUX
+ __overlay__ {
+#else
+ __dormant__ {
+#endif
+ status = "okay";
+ };
+ };
+
+ fragment@102 {
+ target = <&i2c0mux>;
+#ifdef ENABLE_I2C0_MUX
+ __overlay__ {
+#else
+ __dormant__ {
+#endif
+ status = "okay";
+ };
+ };
+
+ __overrides__ {
+ i2c_csi_dsi = <&busfrag>,"target:0=",<&i2c_csi_dsi>,
+ <&busfrag>, "target-path?=0",
+ <0>,"+101+102";
+ i2c_csi_dsi0 = <&busfrag>, "target:0=",<&i2c_csi_dsi0>,
+ <&busfrag>, "target-path?=0",
+ <0>,"+101+102";
+ i2c0 = <&busfrag>,"target:0=",<&i2c0>,
+ <&busfrag>, "target-path?=0",
+ <0>,"-101-102";
+ i2c1 = <&busfrag>,"target:0=",<&i2c1>,
+ <&busfrag>, "target-path?=0",
+ <0>,"-101-102";
+ i2c2 = <&busfrag>, "target?=0",
+ <&busfrag>, "target-path=i2c2",
+ <0>,"-101-102";
+ i2c3 = <&busfrag>, "target?=0",
+ <&busfrag>, "target-path=i2c3",
+ <0>,"-101-102";
+ i2c4 = <&busfrag>, "target?=0",
+ <&busfrag>, "target-path=i2c4",
+ <0>,"-101-102";
+ i2c5 = <&busfrag>, "target?=0",
+ <&busfrag>, "target-path=i2c5",
+ <0>,"-101-102";
+ i2c6 = <&busfrag>, "target?=0",
+ <&busfrag>, "target-path=i2c6",
+ <0>,"-101-102";
+ i2c-path = <&busfrag>, "target?=0",
+ <&busfrag>, "target-path",
+ <0>,"-101-102";
+ };
+};
diff --git a/arch/arm/boot/dts/overlays/i2c-fan-overlay.dts b/arch/arm/boot/dts/overlays/i2c-fan-overlay.dts
index 5988575efefe8..70e204cb81e6d 100644
--- a/arch/arm/boot/dts/overlays/i2c-fan-overlay.dts
+++ b/arch/arm/boot/dts/overlays/i2c-fan-overlay.dts
@@ -4,6 +4,8 @@
#include
+#include "i2c-buses.dtsi"
+
/ {
compatible = "brcm,bcm2835";
@@ -22,35 +24,14 @@
};
};
- frag100: fragment@100 {
- target = <&i2c_arm>;
- i2cbus: __overlay__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@102 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@103 {
+ fragment@1 {
target = <&cpu_thermal>;
__overlay__ {
polling-delay = <2000>; /* milliseconds */
};
};
- fragment@104 {
+ fragment@2 {
target = <&thermal_trips>;
__overlay__ {
fanmid0: fanmid0 {
@@ -66,7 +47,7 @@
};
};
- fragment@105 {
+ fragment@3 {
target = <&cooling_maps>;
__overlay__ {
map0: map0 {
@@ -81,21 +62,6 @@
};
__overrides__ {
- i2c0 = <&frag100>,"target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag100>,"target:0=",<&i2c_csi_dsi>,
- <0>,"+101+102";
- i2c_csi_dsi0 = <&frag100>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+101+102";
- i2c3 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c3";
- i2c4 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c4";
- i2c5 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c5";
- i2c6 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c6";
- i2c-path = <&frag100>, "target?=0",
- <&frag100>, "target-path";
addr = <&emc2301>,"reg:0";
minpwm = <&emc2301>,"emc2305,pwm-min.0";
maxpwm = <&emc2301>,"emc2305,pwm-max.0";
diff --git a/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts
index 20069c05e1b90..be79831ea8d2c 100644
--- a/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts
+++ b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts
@@ -5,6 +5,8 @@
#include
+#include "i2c-buses.dtsi"
+
/{
compatible = "brcm,bcm2835";
@@ -13,7 +15,6 @@
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
- status = "okay";
pca9542: mux@70 {
compatible = "nxp,pca9542";
@@ -40,7 +41,6 @@
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
- status = "okay";
pca9545: mux@70 {
compatible = "nxp,pca9545";
@@ -77,7 +77,6 @@
__dormant__ {
#address-cells = <1>;
#size-cells = <0>;
- status = "okay";
pca9548: mux@70 {
compatible = "nxp,pca9548";
@@ -129,27 +128,6 @@
};
};
- frag100: fragment@100 {
- target = <&i2c_arm>;
- i2cbus: __overlay__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@102 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
__overrides__ {
pca9542 = <0>, "+0";
pca9545 = <0>, "+1";
@@ -163,21 +141,6 @@
<&pca9545>,"base-nr:0",
<&pca9548>,"base-nr:0";
- i2c0 = <&frag100>, "target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag100>, "target:0=",<&i2c_csi_dsi>,
- <0>,"+101+102";
- i2c_csi_dsi0 = <&frag100>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+101+102";
- i2c3 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c3";
- i2c4 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c4";
- i2c5 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c5";
- i2c6 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c6";
- i2c-path = <&frag100>, "target?=0",
- <&frag100>, "target-path";
disconnect_on_idle =
<&pca9542>,"idle-state:0=", ,
<&pca9545>,"idle-state:0=", ,
diff --git a/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts
index 60de7cf3bbd60..4941e78a3d934 100644
--- a/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts
+++ b/arch/arm/boot/dts/overlays/i2c-pwm-pca9685a-overlay.dts
@@ -2,6 +2,8 @@
/dts-v1/;
/plugin/;
+#include "i2c-buses.dtsi"
+
/{
compatible = "brcm,bcm2835";
@@ -10,7 +12,6 @@
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
- status = "okay";
pca: pca@40 {
compatible = "nxp,pca9685-pwm";
@@ -21,44 +22,7 @@
};
};
-
- frag100: fragment@100 {
- target = <&i2c_arm>;
- i2cbus: __overlay__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@102 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
__overrides__ {
addr = <&pca>,"reg:0";
- i2c0 = <&frag100>, "target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag100>, "target:0=",<&i2c_csi_dsi>,
- <0>,"+101+102";
- i2c_csi_dsi0 = <&frag100>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+101+102";
- i2c3 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c3";
- i2c4 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c4";
- i2c5 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c5";
- i2c6 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c6";
- i2c-path = <&frag100>, "target?=0",
- <&frag100>, "target-path";
};
};
diff --git a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
index c4aa8acdc2d61..e003244d894c4 100644
--- a/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
+++ b/arch/arm/boot/dts/overlays/i2c-rtc-overlay.dts
@@ -3,44 +3,4 @@
/plugin/;
#include "i2c-rtc-common.dtsi"
-
-/ {
- frag100: fragment@100 {
- target = <&i2c_arm>;
- i2cbus: __overlay__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@102 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
- __overrides__ {
- i2c0 = <&frag100>, "target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag100>, "target:0=",<&i2c_csi_dsi>,
- <0>,"+101+102";
- i2c_csi_dsi0 = <&frag100>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+101+102";
- i2c3 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c3";
- i2c4 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c4";
- i2c5 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c5";
- i2c6 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c6";
- i2c-path = <&frag100>, "target?=0",
- <&frag100>, "target-path";
- };
-};
+#include "i2c-buses.dtsi"
diff --git a/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
index cd6bc2a89d4c8..29522e666908b 100755
--- a/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
+++ b/arch/arm/boot/dts/overlays/i2c-sensor-overlay.dts
@@ -3,44 +3,4 @@
/plugin/;
#include "i2c-sensor-common.dtsi"
-
-/ {
- frag100: fragment@100 {
- target = <&i2c_arm>;
- i2cbus: __overlay__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@102 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
- __overrides__ {
- i2c0 = <&frag100>, "target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag100>, "target:0=",<&i2c_csi_dsi>,
- <0>,"+101+102";
- i2c_csi_dsi0 = <&frag100>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+101+102";
- i2c3 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c3";
- i2c4 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c4";
- i2c5 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c5";
- i2c6 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c6";
- i2c-path = <&frag100>, "target?=0",
- <&frag100>, "target-path";
- };
-};
+#include "i2c-buses.dtsi"
diff --git a/arch/arm/boot/dts/overlays/mcp23017-overlay.dts b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts
index 165406a73d322..e23780b985a3a 100644
--- a/arch/arm/boot/dts/overlays/mcp23017-overlay.dts
+++ b/arch/arm/boot/dts/overlays/mcp23017-overlay.dts
@@ -3,16 +3,11 @@
/dts-v1/;
/plugin/;
+#include "i2c-buses.dtsi"
+
/ {
compatible = "brcm,bcm2835";
- fragment@0 {
- target = <&i2cbus>;
- __overlay__ {
- status = "okay";
- };
- };
-
fragment@1 {
target = <&gpio>;
__overlay__ {
@@ -60,48 +55,11 @@
};
};
- frag100: fragment@100 {
- target = <&i2c1>;
- i2cbus: __overlay__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@102 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
__overrides__ {
gpiopin = <&mcp23017_pins>,"brcm,pins:0",
<&mcp23017_irq>,"interrupts:0";
addr = <&mcp23017>,"reg:0", <&mcp23017_pins>,"reg:0";
mcp23008 = <0>,"=2";
noints = <0>,"!1!3";
- i2c0 = <&frag100>, "target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag100>, "target:0=",<&i2c_csi_dsi>,
- <0>,"+101+102";
- i2c_csi_dsi0 = <&frag100>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+101+102";
- i2c3 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c3";
- i2c4 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c4";
- i2c5 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c5";
- i2c6 = <&frag100>, "target?=0",
- <&frag100>, "target-path=i2c6";
- i2c-path = <&frag100>, "target?=0",
- <&frag100>, "target-path";
};
};
-
diff --git a/arch/arm/boot/dts/overlays/pca953x-overlay.dts b/arch/arm/boot/dts/overlays/pca953x-overlay.dts
index 0e7183cc51c11..50ff90d7c0723 100644
--- a/arch/arm/boot/dts/overlays/pca953x-overlay.dts
+++ b/arch/arm/boot/dts/overlays/pca953x-overlay.dts
@@ -2,11 +2,13 @@
/dts-v1/;
/plugin/;
+#include "i2c-buses.dtsi"
+
/{
compatible = "brcm,bcm2835";
- frag0: fragment@0 {
- target = <&i2c_arm>;
+ fragment@0 {
+ target = <&i2cbus>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
@@ -21,247 +23,37 @@
};
};
- fragment@1 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca6416";
- };
- };
- fragment@2 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9505";
- };
- };
- fragment@3 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9535";
- };
- };
- fragment@4 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9536";
- };
- };
- fragment@5 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9537";
- };
- };
- fragment@6 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9538";
- };
- };
- fragment@7 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9539";
- };
- };
- fragment@8 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9554";
- };
- };
- fragment@9 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9555";
- };
- };
- fragment@10 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9556";
- };
- };
- fragment@11 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9557";
- };
- };
- fragment@12 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9574";
- };
- };
- fragment@13 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9575";
- };
- };
- fragment@14 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pca9698";
- };
- };
- fragment@15 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pcal6416";
- };
- };
- fragment@16 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pcal6524";
- };
- };
- fragment@17 {
- target = <&pca>;
- __dormant__ {
- compatible = "nxp,pcal9555a";
- };
- };
- fragment@18 {
- target = <&pca>;
- __dormant__ {
- compatible = "maxim,max7310";
- };
- };
- fragment@19 {
- target = <&pca>;
- __dormant__ {
- compatible = "maxim,max7312";
- };
- };
- fragment@20 {
- target = <&pca>;
- __dormant__ {
- compatible = "maxim,max7313";
- };
- };
- fragment@21 {
- target = <&pca>;
- __dormant__ {
- compatible = "maxim,max7315";
- };
- };
- fragment@22 {
- target = <&pca>;
- __dormant__ {
- compatible = "ti,pca6107";
- };
- };
- fragment@23 {
- target = <&pca>;
- __dormant__ {
- compatible = "ti,tca6408";
- };
- };
- fragment@24 {
- target = <&pca>;
- __dormant__ {
- compatible = "ti,tca6416";
- };
- };
- fragment@25 {
- target = <&pca>;
- __dormant__ {
- compatible = "ti,tca6424";
- };
- };
- fragment@26 {
- target = <&pca>;
- __dormant__ {
- compatible = "ti,tca9539";
- };
- };
- fragment@27 {
- target = <&pca>;
- __dormant__ {
- compatible = "ti,tca9554";
- };
- };
- fragment@28 {
- target = <&pca>;
- __dormant__ {
- compatible = "onnn,cat9554";
- };
- };
- fragment@29 {
- target = <&pca>;
- __dormant__ {
- compatible = "onnn,pca9654";
- };
- };
- fragment@30 {
- target = <&pca>;
- __dormant__ {
- compatible = "exar,xra1202";
- };
- };
-
- fragment@100 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
__overrides__ {
addr = <&pca>,"reg:0";
- pca6416 = <0>, "+1";
- pca9505 = <0>, "+2";
- pca9535 = <0>, "+3";
- pca9536 = <0>, "+4";
- pca9537 = <0>, "+5";
- pca9538 = <0>, "+6";
- pca9539 = <0>, "+7";
- pca9554 = <0>, "+8";
- pca9555 = <0>, "+9";
- pca9556 = <0>, "+10";
- pca9557 = <0>, "+11";
- pca9574 = <0>, "+12";
- pca9575 = <0>, "+13";
- pca9698 = <0>, "+14";
- pcal6416 = <0>, "+15";
- pcal6524 = <0>, "+16";
- pcal9555a = <0>, "+17";
- max7310 = <0>, "+18";
- max7312 = <0>, "+19";
- max7313 = <0>, "+20";
- max7315 = <0>, "+21";
- pca6107 = <0>, "+22";
- tca6408 = <0>, "+23";
- tca6416 = <0>, "+24";
- tca6424 = <0>, "+25";
- tca9539 = <0>, "+26";
- tca9554 = <0>, "+27";
- cat9554 = <0>, "+28";
- pca9654 = <0>, "+29";
- xra1202 = <0>, "+30";
- i2c0 = <&frag0>, "target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag0>, "target:0=",<&i2c_csi_dsi>,
- <0>,"+100+101";
- i2c_csi_dsi0 = <&frag0>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+100+101";
- i2c3 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c3";
- i2c4 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c4";
- i2c5 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c5";
- i2c6 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c6";
- i2c-path = <&frag0>, "target?=0",
- <&frag0>, "target-path";
+ pca6416 = <&pca>,"compatible=nxp,pca6416";
+ pca9505 = <&pca>,"compatible=nxp,pca9505";
+ pca9535 = <&pca>,"compatible=nxp,pca9535";
+ pca9536 = <&pca>,"compatible=nxp,pca9536";
+ pca9537 = <&pca>,"compatible=nxp,pca9537";
+ pca9538 = <&pca>,"compatible=nxp,pca9538";
+ pca9539 = <&pca>,"compatible=nxp,pca9539";
+ pca9554 = <&pca>,"compatible=nxp,pca9554";
+ pca9555 = <&pca>,"compatible=nxp,pca9555";
+ pca9556 = <&pca>,"compatible=nxp,pca9556";
+ pca9557 = <&pca>,"compatible=nxp,pca9557";
+ pca9574 = <&pca>,"compatible=nxp,pca9574";
+ pca9575 = <&pca>,"compatible=nxp,pca9575";
+ pca9698 = <&pca>,"compatible=nxp,pca9698";
+ pcal6416 = <&pca>,"compatible=nxp,pcal6416";
+ pcal6524 = <&pca>,"compatible=nxp,pcal6524";
+ pcal9555a = <&pca>,"compatible=nxp,pcal9555a";
+ max7310 = <&pca>,"compatible=maxim,max7310";
+ max7312 = <&pca>,"compatible=maxim,max7312";
+ max7313 = <&pca>,"compatible=maxim,max7313";
+ max7315 = <&pca>,"compatible=maxim,max7315";
+ pca6107 = <&pca>,"compatible=ti,pca6107";
+ tca6408 = <&pca>,"compatible=ti,tca6408";
+ tca6416 = <&pca>,"compatible=ti,tca6416";
+ tca6424 = <&pca>,"compatible=ti,tca6424";
+ tca9539 = <&pca>,"compatible=ti,tca9539";
+ tca9554 = <&pca>,"compatible=ti,tca9554";
+ cat9554 = <&pca>,"compatible=onnn,cat9554";
+ pca9654 = <&pca>,"compatible=onnn,pca9654";
+ xra1202 = <&pca>,"compatible=exar,xra1202";
};
};
diff --git a/arch/arm/boot/dts/overlays/pcf857x-overlay.dts b/arch/arm/boot/dts/overlays/pcf857x-overlay.dts
index c70c4b6d40286..6b81d32c3818a 100644
--- a/arch/arm/boot/dts/overlays/pcf857x-overlay.dts
+++ b/arch/arm/boot/dts/overlays/pcf857x-overlay.dts
@@ -3,11 +3,13 @@
/dts-v1/;
/plugin/;
+#include "i2c-buses.dtsi"
+
/ {
compatible = "brcm,bcm2835";
- frag0: fragment@0 {
- target = <&i2c_arm>;
+ fragment@0 {
+ target = <&i2cbus>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
@@ -22,40 +24,11 @@
};
};
- fragment@100 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
__overrides__ {
pcf8574 = <&pcf857x>,"compatible=nxp,pcf8574", <&pcf857x>,"reg:0=0x20";
pcf8574a = <&pcf857x>,"compatible=nxp,pcf8574a", <&pcf857x>,"reg:0=0x38";
pcf8575 = <&pcf857x>,"compatible=nxp,pcf8575", <&pcf857x>,"reg:0=0x20";
- pca8574 = <&pcf857x>,"compatible=nxp,pca8574", <&pcf857x>,"reg:0=0x20";
+ pca8574 = <&pcf857x>,"compatible=nxp,pca8574", <&pcf857x>,"reg:0=0x20";
addr = <&pcf857x>,"reg:0";
- i2c0 = <&frag0>, "target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag0>, "target:0=",<&i2c_csi_dsi>,
- <0>,"+100+101";
- i2c_csi_dsi0 = <&frag0>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+100+101";
- i2c3 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c3";
- i2c4 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c4";
- i2c5 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c5";
- i2c6 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c6";
- i2c-path = <&frag0>, "target?=0",
- <&frag0>, "target-path";
};
};
diff --git a/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts b/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts
index 508de958ce165..700e8a60f1825 100644
--- a/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts
+++ b/arch/arm/boot/dts/overlays/sc16is750-i2c-overlay.dts
@@ -1,15 +1,16 @@
/dts-v1/;
/plugin/;
+#include "i2c-buses.dtsi"
+
/ {
compatible = "brcm,bcm2835";
- frag0: fragment@0 {
- target = <&i2c_arm>;
+ fragment@0 {
+ target = <&i2cbus>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
- status = "okay";
sc16is750: sc16is750@48 {
compatible = "nxp,sc16is750";
@@ -48,39 +49,10 @@
};
};
- fragment@100 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
__overrides__ {
int_pin = <&sc16is750>,"interrupts:0", <&int_pins>,"brcm,pins:0",
<&int_pins>,"reg:0";
addr = <&sc16is750>,"reg:0", <&sc16is750_clk>,"name";
xtal = <&sc16is750_clk>,"clock-frequency:0";
- i2c0 = <&frag0>, "target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag0>, "target:0=",<&i2c_csi_dsi>,
- <0>,"+100+101";
- i2c_csi_dsi0 = <&frag0>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+100+101";
- i2c3 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c3";
- i2c4 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c4";
- i2c5 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c5";
- i2c6 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c6";
- i2c-path = <&frag0>, "target?=0",
- <&frag0>, "target-path";
};
};
diff --git a/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts b/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts
index f953c3ec248d5..d481d6aa82319 100644
--- a/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts
+++ b/arch/arm/boot/dts/overlays/sc16is752-i2c-overlay.dts
@@ -1,15 +1,16 @@
/dts-v1/;
/plugin/;
+#include "i2c-buses.dtsi"
+
/ {
compatible = "brcm,bcm2835";
- frag0: fragment@0 {
- target = <&i2c_arm>;
+ fragment@0 {
+ target = <&i2cbus>;
__overlay__ {
#address-cells = <1>;
#size-cells = <0>;
- status = "okay";
sc16is752: sc16is752@48 {
compatible = "nxp,sc16is752";
@@ -48,39 +49,10 @@
};
};
- fragment@100 {
- target = <&i2c0if>;
- __dormant__ {
- status = "okay";
- };
- };
-
- fragment@101 {
- target = <&i2c0mux>;
- __dormant__ {
- status = "okay";
- };
- };
-
__overrides__ {
int_pin = <&sc16is752>,"interrupts:0", <&int_pins>,"brcm,pins:0",
<&int_pins>,"reg:0";
addr = <&sc16is752>,"reg:0",<&sc16is752_clk>,"name";
xtal = <&sc16is752_clk>,"clock-frequency:0";
- i2c0 = <&frag0>, "target:0=",<&i2c0>;
- i2c_csi_dsi = <&frag0>, "target:0=",<&i2c_csi_dsi>,
- <0>,"+100+101";
- i2c_csi_dsi0 = <&frag0>, "target:0=",<&i2c_csi_dsi0>,
- <0>,"+100+101";
- i2c3 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c3";
- i2c4 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c4";
- i2c5 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c5";
- i2c6 = <&frag0>, "target?=0",
- <&frag0>, "target-path=i2c6";
- i2c-path = <&frag0>, "target?=0",
- <&frag0>, "target-path";
};
};
diff --git a/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v2-overlay.dts b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v2-overlay.dts
index e843d0b197450..fc3c7794c28a3 100644
--- a/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v2-overlay.dts
+++ b/arch/arm/boot/dts/overlays/seeed-can-fd-hat-v2-overlay.dts
@@ -98,8 +98,9 @@
};
};
fragment@8 {
- target = <&i2cbus>;
+ target = <&i2c_arm>;
__overlay__ {
+ status = "okay";
#address-cells = <1>;
#size-cells = <0>;
pcf85063@51 {
@@ -108,10 +109,4 @@
};
};
};
- fragment@9 {
- target = <&i2c_arm>;
- i2cbus: __overlay__ {
- status = "okay";
- };
- };
};
diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dsi-7inch-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dsi-7inch-overlay.dts
index 302fa807d31dd..8d58d5e6067fc 100644
--- a/arch/arm/boot/dts/overlays/vc4-kms-dsi-7inch-overlay.dts
+++ b/arch/arm/boot/dts/overlays/vc4-kms-dsi-7inch-overlay.dts
@@ -1,4 +1,4 @@
-/*
+ /*
* Device Tree overlay for RaspberryPi 7" Touchscreen panel
*
*/
@@ -8,6 +8,11 @@
#include "edt-ft5406.dtsi"
+&ft5406 {
+ vcc-supply = <®_display>;
+ reset-gpio = <®_display 1 1>;
+};
+
/ {
/* No compatible as it will have come from edt-ft5406.dtsi */
@@ -77,7 +82,7 @@
i2c_frag: fragment@2 {
target = <&i2c_csi_dsi>;
- __overlay__ {
+ i2cbus: __overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
@@ -104,18 +109,10 @@
status = "okay";
};
};
- fragment@5 {
- target = <&ft5406>;
- __overlay__ {
- vcc-supply = <®_display>;
- reset-gpio = <®_display 1 1>;
- };
- };
__overrides__ {
dsi0 = <&dsi_frag>, "target:0=",<&dsi0>,
<&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
- <&ts_i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
<&panel_disp>, "reg:0=0",
<®_bridge>, "reg:0=0",
<®_bridge>, "regulator-name=bridge_reg_0";
diff --git a/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-800x480-overlay.dts b/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-800x480-overlay.dts
index 78e8f46c69cc6..7a7058d14d6c7 100644
--- a/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-800x480-overlay.dts
+++ b/arch/arm/boot/dts/overlays/vc4-kms-dsi-waveshare-800x480-overlay.dts
@@ -9,6 +9,11 @@
#include "edt-ft5406.dtsi"
+&ft5406 {
+ vcc-supply = <®_display>;
+ reset-gpio = <®_display 1 1>;
+};
+
/ {
/* No compatible as it will have come from edt-ft5406.dtsi */
@@ -73,7 +78,7 @@
i2c_frag: fragment@2 {
target = <&i2c_csi_dsi>;
- __overlay__ {
+ i2cbus: __overlay__ {
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
@@ -100,18 +105,10 @@
status = "okay";
};
};
- fragment@5 {
- target = <&ft5406>;
- __overlay__ {
- vcc-supply = <®_display>;
- reset-gpio = <®_display 1 1>;
- };
- };
__overrides__ {
dsi0 = <&dsi_frag>, "target:0=",<&dsi0>,
<&i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
- <&ts_i2c_frag>, "target:0=",<&i2c_csi_dsi0>,
<®_bridge>, "reg:0=0",
<®_bridge>, "regulator-name=bridge_reg_0";
disable_touch = <&ft5406>, "status=disabled";