[PATCH] arm64: dts: rockchip: Enable i2c2 on Orange Pi 3B

Michael Opdenacker michael.opdenacker at rootcommit.com
Wed Nov 26 00:49:16 PST 2025


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 at rootcommit.com>
>> ---
>>   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/




More information about the linux-arm-kernel mailing list