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)
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.
This is strictly not true, these pins are by default used as GPIO, this
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>
---
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>;
pinctrl-names should also be added here.


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/