On Wed, 12 Jun 2024 15:52:53 +0200, Tomeu Vizoso wrote:
This series adds a new driver for the NPU that Rockchip includes in its newer SoCs, developed by them on the NVDLA base.
In its current form, it supports the specific NPU in the RK3588 SoC.
The userspace driver is part of Mesa and an initial draft can be found at:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29698
Signed-off-by: Tomeu Vizoso tomeu@tomeuvizoso.net
Tomeu Vizoso (9): iommu/rockchip: Add compatible for rockchip,rk3588-iommu iommu/rockchip: Attach multiple power domains dt-bindings: mailbox: rockchip,rknn: Add bindings arm64: dts: rockchip: Add nodes for NPU and its MMU to rk3588s arm64: dts: rockchip: Enable the NPU on quartzpro64 accel/rocket: Add a new driver for Rockchip's NPU accel/rocket: Add IOCTL for BO creation accel/rocket: Add job submission IOCTL accel/rocket: Add IOCTLs for synchronizing memory accesses
.../devicetree/bindings/npu/rockchip,rknn.yaml | 123 + MAINTAINERS | 8 + .../arm64/boot/dts/rockchip/rk3588-quartzpro64.dts | 8 + arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 53 + drivers/accel/Kconfig | 1 + drivers/accel/Makefile | 1 + drivers/accel/rocket/Kconfig | 13 + drivers/accel/rocket/Makefile | 10 + drivers/accel/rocket/rocket_core.c | 155 + drivers/accel/rocket/rocket_core.h | 48 + drivers/accel/rocket/rocket_device.c | 39 + drivers/accel/rocket/rocket_device.h | 40 + drivers/accel/rocket/rocket_drv.c | 243 ++ drivers/accel/rocket/rocket_drv.h | 16 + drivers/accel/rocket/rocket_gem.c | 136 + drivers/accel/rocket/rocket_gem.h | 33 + drivers/accel/rocket/rocket_job.c | 708 ++++ drivers/accel/rocket/rocket_job.h | 49 + drivers/accel/rocket/rocket_registers.h | 4449 ++++++++++++++++++++ drivers/iommu/rockchip-iommu.c | 39 + include/uapi/drm/rocket_accel.h | 116 + 21 files changed, 6288 insertions(+)
base-commit: 83a7eefedc9b56fe7bfeff13b6c7356688ffa670 change-id: 20240612-6-10-rocket-9316defc14c7
Best regards,
Tomeu Vizoso tomeu@tomeuvizoso.net
My bot found new DTB warnings on the .dts files added or changed in this series.
Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments.
If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date:
pip3 install dtschema --upgrade
New warnings running 'make CHECK_DTBS=y rockchip/rk3588-quartzpro64.dtb' for 20240612-6-10-rocket-v1-0-060e48eea250@tomeuvizoso.net:
arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb: iommu@fdab9000: compatible: 'oneOf' conditional failed, one must be fixed: ['rockchip,rk3588-iommu'] is too short 'rockchip,rk3588-iommu' is not one of ['rockchip,iommu', 'rockchip,rk3568-iommu'] from schema $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml# arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb: iommu@fdab9000: reg: [[0, 4255879168, 0, 256], [0, 4255883264, 0, 256], [0, 4255948800, 0, 256], [0, 4256014336, 0, 256]] is too long from schema $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml# arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb: iommu@fdab9000: interrupts: [[0, 110, 4, 0], [0, 111, 4, 0], [0, 112, 4, 0]] is too long from schema $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml# arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb: iommu@fdab9000: clocks: [[28, 287], [28, 276], [28, 278], [28, 288], [28, 277], [28, 279]] is too long from schema $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml# arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb: iommu@fdab9000: clock-names:0: 'aclk' was expected from schema $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml# arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb: iommu@fdab9000: clock-names:1: 'iface' was expected from schema $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml# arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb: iommu@fdab9000: clock-names: ['aclk0', 'aclk1', 'aclk2', 'iface0', 'iface1', 'iface2'] is too long from schema $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml# arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb: iommu@fdab9000: power-domains: [[30, 9], [30, 10], [30, 11]] is too long from schema $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml# arch/arm64/boot/dts/rockchip/rk3588-quartzpro64.dtb: iommu@fdab9000: 'interrupt-names', 'power-domain-names' do not match any of the regexes: 'pinctrl-[0-9]+' from schema $id: http://devicetree.org/schemas/iommu/rockchip,iommu.yaml#
linaro-mm-sig@lists.linaro.org