[PATCH 0/4] Add initial support for Rockchip RK3528 SoC

Piotr Oniszczuk piotr.oniszczuk at gmail.com
Sun Aug 4 02:13:59 PDT 2024



> Wiadomość napisana przez Yao Zi <ziyao at disroot.org> w dniu 04.08.2024, o godz. 08:22:
> 
> On Sun, Aug 04, 2024 at 07:40:43AM +0200, Dragan Simic wrote:
>> Hello all,
>> 
>> On 2024-08-03 14:55, Yao Zi wrote:
>>> Rockchip RK3528 is a quad-core ARM Cortex-A53 SoC designed for
>>> multimedia application. This series add a basic device tree with CPU,
>>> interrupts and UART nodes for it and is able to boot into a kernel with
>>> only UART console.
>>> 
>>> Has been tested on Radxa E20C board[1] with vendor U-boot, successfully
>>> booted into initramfs with this log[2].
>> 
>> I wonder will at least the RK3528 datasheet become available publicly?
> 
> I found none for now, and I am not someone from Rockchip, thus don't
> know whether they have a plan to make it public, either. But there has
> been some devices shipping it already and getting them mainlined will
> be a neat thing.
> 

Maybe this hight be useful: at some point in time I started to hack with rk3528 support in mainline kernel.
HW I’m using is vontar rk3528 tvbox.

So far - on mainline 6.10 kernel - I got working: clocks, pin control, uart, sdcard, eth, usb.

I started to work on dw hdmi and got to stage with correct mode sets by dw-hdmi but I stuck with vop3 support.

Generally - I was back porting code from bsp but rockchip bsp is too divergent from mainline to my back porting skills :-(

If anybody can help with vop3 - then we can have quite good initial support of rk3528 in mainline (the, sdcard, usb, eth, hdmi)
gpu, hdmi audio should be probably easy…

My rk3528 enablements:

Bindings: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1100-dt-bindings-clock-add-rk3528-clock-definitions.patch

Clocks: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1101-clk-rockchip-add-clock-controller-for-the-RK3528.patch

Pincontrol: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1102-pinctrl-rockchip-add-rk3528-support.patch

Power domain bindings: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1103-dt-bindings-power-add-RK3528-SoCs-header-for-idle.patch

Ethernet support: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1104-ethernet-stmmac-dwmac-rk3528-add-GMAC-support.patch

Power domains support: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1105-soc-rockchip-power-domain-add-rk3528-support.patch

usb: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1106-phy-rockchip-inno-usb2-add-phy-support-for-rk3528.patch

SoC power domains: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1108-soc-rockchip-power-domain-add-rk3528-support.patch

Thermal: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1108-thermal-rockchip-add-support-for-rk3528.patch

Naneng phy: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1109-phy-rockchip-naneng-combphy-add-support-for-rk3528.patch

dw hdmi: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1110-phy-rockchip-inno-hdmi-add-support-for-rk3528.patch

Inno hdmi: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1111-drm-rockchip-dw_hdmi-add-support-for-rk3528.patch       Nvmem: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1113-nvmem-rockchip-otp-add-support-for-rk3528.patch

Sound soc: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1114-sound-soc-codecs-add-rk3528-support.patch

rk3528 dtsi: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1150-arm64-dtsi-rockchip-add-3528.dtsi.patch: 

Vontar tvbox dts: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.10/files/1151-arm64-dts-rockchip-add-dts-for-vontar_r3.patch

It may happen that above patches will not apply clean on vanilla 6.10 as I’m patching kernel for s905/s912/sm1/g12/rpi3/rpi4/rpi5/3328/3399//3566/3568/3588/3528 and rk3528 patches are after applied s905/s912/sm1/g12/rpi3/rpi4/rpi5/3328/3399/3566/3568/3588 patches.

If anybody is interested in adding vop3 support - pls give me sign - we can work together…
 

> Just FYI, the vendor kernel is available here[1] on the "develop-5.10"
> branch.
> 
> Best regards,
> Yao Zi
> 
> [1]: https://github.com/rockchip-linux/kernel
> 
>> 
>>> [1]: https://docs.radxa.com/en/e/e20c
>>> [2]: https://gist.github.com/ziyao233/b74523a1e3e8bf36286a572e008ca319
>>> 
>>> Yao Zi (4):
>>>  dt-bindings: serial: snps-dw-apb-uart: Document Rockchip RK3528
>>>  dt-bindings: arm: rockchip: Add Radxa E20C board
>>>  arm64: dts: rockchip: Add base DT for rk3528 SoC
>>>  arm64: dts: rockchip: Add Radxa e20c board
>>> 
>>> .../devicetree/bindings/arm/rockchip.yaml     |   5 +
>>> .../bindings/serial/snps-dw-apb-uart.yaml     |   1 +
>>> arch/arm64/boot/dts/rockchip/Makefile         |   1 +
>>> .../boot/dts/rockchip/rk3528-radxa-e20c.dts   |  22 +++
>>> arch/arm64/boot/dts/rockchip/rk3528.dtsi      | 182 ++++++++++++++++++
>>> 5 files changed, 211 insertions(+)
>>> create mode 100644 arch/arm64/boot/dts/rockchip/rk3528-radxa-e20c.dts
>>> create mode 100644 arch/arm64/boot/dts/rockchip/rk3528.dtsi
>>> 
>>> 
>>> base-commit: 94ede2a3e9135764736221c080ac7c0ad993dc2d
> 
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip




More information about the Linux-rockchip mailing list