Re: [PATCH 0/2] RK3588: FriendlyElec CM3588 NAS board support

Sebastian Kropatsch
2024-06-16T22:15:57Z

Apologies for any confusions, this patch series is v4. The correct
subject line is:
[PATCH v4 0/2] RK3588: FriendlyElec CM3588 NAS board support
Apparently "git send-email -v4" doesn't add the version tag if you
haven't already added it with "git format-patch" :)

Cheers,
Sebastian

Am 16.06.2024 um 23:48 schrieb Sebastian Kropatsch:
> Hello!
>
> This adds support for the FriendlyElec CM3588 NAS board.
> The board's device tree makes use of the latest upstream advances on the
> RK3588 like USB3 DRD and GPU support as well as the latest Rockchip PCIe
> driver bifurcation fixes, but some features such as thermal management
> and HDMI will have to be added later when SoC support for these features
> is merged.
>
> Issues:
> 1) pcie3x4 BAR 1 fails to assign, see dmesg:
> pci 0000:00:00.0: BAR 0 [mem 0x900000000-0x93fffffff]: assigned
> pci 0000:00:00.0: BAR 1 [mem size 0x40000000]: can't assign; no space
> pci 0000:00:00.0: BAR 1 [mem size 0x40000000]: failed to assign
>
> 2) The device enumeration of NVMe SSDs plugged into the four PCIe M.2
> slots does not follow the order of the slots on the board: The slots are
> physically named from 1 to 4, top to bottom. However, they do not show
> up in this same order in Linux when all slots are polulated:
> - SSD in physical slot 1 shows up as nvme0
> - SSD in physical slot 2 shows up as nvme2
> - SSD in physical slot 3 shows up as nvme1
> - SSD in physical slot 4 shows up as nvme3
> This is the same order in which the data lanes are mapped for PCIe
> bifurcation (dts property: data-lanes = <1 3 2 4>).
> I could not solve this by using aliases for the PCIe nodes in the device
> tree. Perhaps this is something that can only be solved at driver level?
> I am not sure if this behaviour is even considered a bug or if this is
> intended behaviour by design.
>
> Devicetree validation:
> `make CHECK_DTBS=y rockchip/rk3588-cm3588-nas.dtb` does not give any
> warnings or errors, tested on Linux next-20240613.
>
> Cheers,
> Sebastian
>
> ---
>
> Changes v3 -> v4:
> - add pwm-beeper node
> - add ir-receiver node
> - leds: remove deprecated label props
> - usbdp_phy0: add mode-switch prop
> - minor fixes/comments
> - collect r-b tag for patch 2
> - v3: https://lore.kernel.org/linux-rockchip/20240609222428.134977-1-seb-dev@mail.de/
>
> Changes v2 -> v3:
> - add vmmc-supply and vqmmc-supply to &sdhci
> - remove duplicate combphys
> - add 4 times the same regulator for PCIe to reflect the schematics
> - fix USB vcc_5v0_host_30_p2 to use 5V as per schematics
> - usb-c-connector: disable sink power delivery, enable only source mode
> - &u2phy0_otg: add phy-supply
> - rename some nodes
> - minor fixes and some additional helpful comments (some sugg. by Space Mayer)
> - collect a-b tag for patch 1
> - v2: https://lore.kernel.org/linux-rockchip/20240602211901.237769-1-seb-dev@mail.de/
>
> Changes v1 -> v2:
> - split dts into two files (CM and carrier board)
> - rename fixed regulators with preferred 'regulator-' prefix
> - use preferred 'gpios' property instead of 'gpio'
> - add 'pinctrl-names' property for every pinctrl
> - add several pwm nodes
> - drop HMDI PHY and VOP support
> - drop unneeded &wdt node
> - remove i2c4 since it's not availabe according to the schematics
> - &sdhci: drop 'full-pwr-cycle-in-suspend' flag
> - &sdmmc: drop 'cap-mmc-highspeed' flag because of no-mmc
> - &sdmmc: drop 'cd-gpios' property, unneeded w/ using sdmmc_det pinctrl
> - &usb_host0_xhci, &usb_host2_xhci: remove default 'dr_mode' property
>
> ---
>
> Sebastian Kropatsch (2):
> dt-bindings: arm: rockchip: Add FriendlyElec CM3588 NAS
> arm64: dts: rockchip: Add FriendlyElec CM3588 NAS board
>
> .../devicetree/bindings/arm/rockchip.yaml | 7 +
> arch/arm64/boot/dts/rockchip/Makefile | 1 +
> .../rk3588-friendlyelec-cm3588-nas.dts | 778 ++++++++++++++++++
> .../rockchip/rk3588-friendlyelec-cm3588.dtsi | 653 +++++++++++++++
> 4 files changed, 1439 insertions(+)
> create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588-nas.dts
> create mode 100644 arch/arm64/boot/dts/rockchip/rk3588-friendlyelec-cm3588.dtsi
>