mbox series

[v2,0/3] Support I2C controllers in RK3528

Message ID 20250417120118.17610-3-ziyao@disroot.org
Headers show
Series Support I2C controllers in RK3528 | expand

Message

Yao Zi April 17, 2025, 12:01 p.m. UTC
RK3528 integrates eight I2C controllers which are compatible with the
RK3399 variant of i2c-rk3x. This series documents the controllers in
dt-bindings, describe them in SoC devicetree and enable the onboard
EEPROM of Radxa E20C which is connected to I2C-2.

Changed from v1
- rebase on top of linux-rockchip/for-next
- dt-binding: collect review tags
- SoC devicetree
  - sort i2c and gpio in /aliases
  - provide default pinctrl for controllers with only one set of
    possible pins
- Radxa E20C devicetree: mark eeprom as read-only

Yao Zi (3):
  dt-bindings: i2c: i2c-rk3x: Add compatible string for RK3528
  arm64: dts: rockchip: Add I2C controllers for RK3528
  arm64: dts: rockchip: Add onboard EEPROM for Radxa E20C

 .../devicetree/bindings/i2c/i2c-rk3x.yaml     |   1 +
 .../boot/dts/rockchip/rk3528-radxa-e20c.dts   |  14 +++
 arch/arm64/boot/dts/rockchip/rk3528.dtsi      | 110 ++++++++++++++++++
 3 files changed, 125 insertions(+)

Comments

Heiko StĂĽbner April 17, 2025, 7:10 p.m. UTC | #1
Hi Krzysztof,

Am Donnerstag, 17. April 2025, 16:46:35 Mitteleuropäische Sommerzeit schrieb Yao Zi:
> On Thu, Apr 17, 2025 at 04:36:57PM +0200, Krzysztof Kozlowski wrote:
> > On 17/04/2025 16:36, Krzysztof Kozlowski wrote:
> > > On 17/04/2025 14:01, Yao Zi wrote:
> > >> Describe I2C controllers shipped by RK3528 in devicetree. For I2C-2,
> > >> I2C-4 and I2C-7 which come with only a set of possible pins, a default
> > >> pin configuration is included.
> > >>
> > >> Signed-off-by: Yao Zi <ziyao@disroot.org>
> > >> ---
> > >>  arch/arm64/boot/dts/rockchip/rk3528.dtsi | 110 +++++++++++++++++++++++
> > >>  1 file changed, 110 insertions(+)
> > >>
> > >> diff --git a/arch/arm64/boot/dts/rockchip/rk3528.dtsi b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> > >> index 826f9be0be19..2c9780069af9 100644
> > >> --- a/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> > >> +++ b/arch/arm64/boot/dts/rockchip/rk3528.dtsi
> > >> @@ -24,6 +24,14 @@ aliases {
> > >>  		gpio2 = &gpio2;
> > >>  		gpio3 = &gpio3;
> > >>  		gpio4 = &gpio4;
> > >> +		i2c0 = &i2c0;
> > >> +		i2c1 = &i2c1;
> > >> +		i2c2 = &i2c2;
> > >> +		i2c3 = &i2c3;
> > >> +		i2c4 = &i2c4;
> > >> +		i2c5 = &i2c5;
> > >> +		i2c6 = &i2c6;
> > >> +		i2c7 = &i2c7;
> > > Aliases are not properties of the SoC but boards.
> > 
> > Of course this should be: Bus/interface aliases are not...
> 
> Thanks for the explanation. Will move them to the board DT.

I think we're having that discussion for every soc :-) .

Uarts. gpios, i2c and spi are always labeled foo[0-...] in all pieces
of Rockchip documentation.

The i2c0 controller has pins i2c0-scl, i2c0_sda; i2c0-labeled iomem;
i2c0-labeled irq, clk_i2c0, resetn_i2c0.


I completely _agree_ that {sdhci, sdmmc, emmc, sdio} -> mmcX is fully
board specific, but i2c0 should always get the i2c0 label and no other
controller should occupy that soc-specific i2c0-space, because that would
cause confusion without end.


And with the above it makes no real sense repeating the same list for
every individual board.

If you _insist_ on this, then fine, but I really don't see the point.


Heiko