Expand available features on Qnap TS433
From: Heiko Stuebner <heiko@...> Date: Sun, 21 Jul 2024 19:15:08 +0200
Thanks to the nicely supported rk3568, the hardest part for adding things, is to pull things from the vendor-kernel and translating them to mainline standards. This series allows the TS433 to use all 4 bays [0], wiggle some LEDs and access devices connected to all 3 usb ports. The device runs stable now and might be usable for actual usage. There is still a todo-list though: - the ethernet mac address for the realtek chip seems correct, but the gmac0 interface currently uses a wrong one - i2cdetect reports devices on i2c-1 on addresses 54,55,56,57 model_Q0B20_Q0B30_10_10.conf from the original rescue image labels them VPD_MB = I2C:0x54, VPD_BP = I2C:0x56 the meaning currently being unknown. Some eeprom maybe? - The regulator tree is slightly dubious. Everthing seems to follow rk3568 reference designs, but especially the regulator labeled vcc3v3_sd seems to supply some PCIe functionality. So I guess the device's schematics will look quite different than the regulators added to the vendor devicetree. - Quite a bit of functionality is provided by the MCU connected to uart0. According to the model.conf there should be fan-control, a number of additional LEDs (status,locate,usb?) Thanks to Qnap engineers adding an easily accessible header for maskrom mode on the board, replacing the bootloader is also quite a breeze. A branch on top of today's u-boot master branch can be found on [1]. I'll submit that code to u-boot once I can cherry-pick the dts patches. changes in v2: - add patches for tsadc, gpio-keys, cpu-supply, pmic, gpu and io-domains [0] I only have two drives right now, but I tested both the internal sata connector as well as the PCIe connected sata controller in different combinations. [1] https://github.com/mmind/u-boot-rockchip/tree/dev/qnap-ts433/v2024.07 Heiko Stuebner (14): arm64: dts: rockchip: add PCIe supply regulator to Qnap-TS433 arm64: dts: rockchip: enable second PCIe controller on the Qnap-TS433 arm64: dts: rockchip: enable uart0 on Qnap-TS433 arm64: dts: rockchip: enable usb ports on Qnap-TS433 arm64: dts: rockchip: add stdout path on Qnap-TS433 arm64: dts: rockchip: enable sata1+2 on Qnap-TS433 arm64: dts: rockchip: add board-aliases for Qnap-TS433 arm64: dts: rockchip: add hdd leds to Qnap-TS433 arm64: dts: rockchip: enable the tsadc on the Qnap-TS433 arm64: dts: rockchip: add gpio-keys to Qnap-TS433 arm64: dts: rockchip: define cpu-supply on the Qnap-TS433 arm64: dts: rockchip: add missing pmic information on Qnap-TS433 arm64: dts: rockchip: enable gpu on Qnap-TS433 arm64: dts: rockchip: add 2 pmu_io_domain supplies for Qnap-TS433 .../boot/dts/rockchip/rk3568-qnap-ts433.dts | 539 +++++++++++++++++- 1 file changed, 536 insertions(+), 3 deletions(-) -- 2.39.2
Patches in this set
- [0001] arm64: dts: rockchip: add PCIe supply regulator to (raw)
- [0002] arm64: dts: rockchip: enable second PCIe controller on (raw)
- [0003] arm64: dts: rockchip: enable uart0 on Qnap-TS433 (raw)
- [0004] arm64: dts: rockchip: enable usb ports on Qnap-TS433 (raw)
- [0005] arm64: dts: rockchip: add stdout path on Qnap-TS433 (raw)
- [0006] arm64: dts: rockchip: enable sata1+2 on Qnap-TS433 (raw)
- [0007] arm64: dts: rockchip: add board-aliases for Qnap-TS433 (raw)
- [0008] arm64: dts: rockchip: add hdd leds to Qnap-TS433 (raw)
- [0009] arm64: dts: rockchip: enable the tsadc on the (raw)
- [0010] arm64: dts: rockchip: add gpio-keys to Qnap-TS433 (raw)
- [0011] arm64: dts: rockchip: define cpu-supply on the (raw)
- [0012] arm64: dts: rockchip: add missing pmic information on (raw)
- [0013] arm64: dts: rockchip: enable gpu on Qnap-TS433 (raw)
- [0014] arm64: dts: rockchip: add 2 pmu_io_domain supplies for (raw)
Statistics
- 14 individual patches
- 536 lines added
- 3 lines removed