[PATCH v3 00/14] Expand available features on Qnap TS433

From: Heiko Stuebner
Date: Tue Jul 23 2024 - 15:56:09 EST


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 v3:
- fix the two regulator node-names, I noticed after sending v2
- add Uwe's Tested-by tags
- fold in some of Uwe's suggestions:
- remove some phandles
- more comments to explain what is connected where
- handle the two RTCs in the system, though not by hacking around
to disable the pmic-one, instead just make sure the real one
stays the first rtc
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 | 546 +++++++++++++++++-
1 file changed, 543 insertions(+), 3 deletions(-)

--
2.39.2