Re: [PATCH] arm64: dts: rockchip: Enable i2c2 on Orange Pi 3B
From: Michael Opdenacker
Date: Wed Nov 26 2025 - 06:21:46 EST
Hi Jonas
Thanks for the review!
On 11/26/25 09:40, Jonas Karlman wrote:
Hi Michael,
On 11/20/2025 8:00 PM, Michael Opdenacker wrote:
Enable the "i2c2" bus on header pins 3 (I2C_SDA_M1)This is strictly not true, these pins are by default used as GPIO, this
and 5 (I2C2_SCL_M1) of the Orange Pi 3B board.
As documented on http://www.orangepi.org/img/pi3b/0719-pi3b-19.png
such pins are the only ones offering I2C functionality
without conflicting with other SoC blocks.
patch change them to use the I2C2 func, something that should normally
be enabled in an overlay.
Functions for these pins:
func 0 func 1
GPIO4_B4_d I2C2_SDA_M1
GPIO4_B5_d I2C2_SCL_M1
Correct. My idea was that GPIOs are easy to get on other pins, and I found that I2C2 on such pins would be a convenient default.
Signed-off-by: Michael Opdenacker <michael.opdenacker@xxxxxxxxxxxxxx>pinctrl-names should also be added here.
---
arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dtsi | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dtsi
index d539570f531e..e2f0ccc6dbe7 100644
--- a/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3566-orangepi-3b.dtsi
@@ -435,6 +435,11 @@ regulator-state-mem {
};
};
+&i2c2 {
+ pinctrl-0 = <&i2c2m1_xfer>;
Actually, the "pinctrl-names" property is already available in the definition of i2c2. That's why I didn't add it again.
+ status = "okay";As mentioned above, this should be enabled in an DT overlay not in the
board DT.
I don't mind if my patch is removed, no hard feelings :)
BTW, is there a convenient location for sharing overlays like these? Some overlays are sometimes tricky to develop, and sharing them with others is useful for the community. I guess the question was asked before, but I don't know its answer :)
Thanks again
Cheers
Michael.
--
Michael Opdenacker
Root Commit
Yocto Project and OpenEmbedded Training course - Learn by doing:
https://rootcommit.com/training/yocto/