ZHOUYI NPU is an AI accelerator chip which is integrated into ARM SOC, such as Allwinner R329 SOC. Add driver support for this AI accelerator here. v1->v2: *Add TODO file *Update changelog to explain why this code is added to staging Cai Huoqing (3): staging: zynpu: Add driver support for ARM(China) ZHOUYI AI accelerator dt-bindings: staging: Add the binding documentation for ZHOUYI AI accelerator MAINTAINERS: Add the driver info of the ZHOUYI AI accelerator .../bindings/staging/arm,zynpu.yaml | 61 ++ MAINTAINERS | 6 + drivers/staging/Kconfig | 2 + drivers/staging/Makefile | 1 + drivers/staging/zynpu/Kconfig | 34 + drivers/staging/zynpu/Makefile | 7 + drivers/staging/zynpu/TODO | 13 + drivers/staging/zynpu/z1.c | 233 +++++ drivers/staging/zynpu/z2.c | 297 +++++++ drivers/staging/zynpu/zhouyi.h | 70 ++ drivers/staging/zynpu/zhouyi_base.c | 71 ++ drivers/staging/zynpu/zynpu.h | 252 ++++++ drivers/staging/zynpu/zynpu_core.c | 254 ++++++ drivers/staging/zynpu/zynpu_drv.c | 349 ++++++++ drivers/staging/zynpu/zynpu_fops.c | 245 ++++++ drivers/staging/zynpu/zynpu_io.c | 133 +++ drivers/staging/zynpu/zynpu_io.h | 119 +++ drivers/staging/zynpu/zynpu_irq.c | 123 +++ drivers/staging/zynpu/zynpu_irq.h | 85 ++ drivers/staging/zynpu/zynpu_job_manager.c | 467 ++++++++++ drivers/staging/zynpu/zynpu_job_manager.h | 200 +++++ drivers/staging/zynpu/zynpu_mm.c | 704 +++++++++++++++ drivers/staging/zynpu/zynpu_mm.h | 142 +++ drivers/staging/zynpu/zynpu_session.c | 817 ++++++++++++++++++ drivers/staging/zynpu/zynpu_session.h | 283 ++++++ drivers/staging/zynpu/zynpu_sysfs.c | 205 +++++ 26 files changed, 5173 insertions(+) create mode 100644 Documentation/devicetree/bindings/staging/arm,zynpu.yaml create mode 100644 drivers/staging/zynpu/Kconfig create mode 100644 drivers/staging/zynpu/Makefile create mode 100644 drivers/staging/zynpu/TODO create mode 100644 drivers/staging/zynpu/z1.c create mode 100644 drivers/staging/zynpu/z2.c create mode 100644 drivers/staging/zynpu/zhouyi.h create mode 100644 drivers/staging/zynpu/zhouyi_base.c create mode 100644 drivers/staging/zynpu/zynpu.h create mode 100644 drivers/staging/zynpu/zynpu_core.c create mode 100644 drivers/staging/zynpu/zynpu_drv.c create mode 100644 drivers/staging/zynpu/zynpu_fops.c create mode 100644 drivers/staging/zynpu/zynpu_io.c create mode 100644 drivers/staging/zynpu/zynpu_io.h create mode 100644 drivers/staging/zynpu/zynpu_irq.c create mode 100644 drivers/staging/zynpu/zynpu_irq.h create mode 100644 drivers/staging/zynpu/zynpu_job_manager.c create mode 100644 drivers/staging/zynpu/zynpu_job_manager.h create mode 100644 drivers/staging/zynpu/zynpu_mm.c create mode 100644 drivers/staging/zynpu/zynpu_mm.h create mode 100644 drivers/staging/zynpu/zynpu_session.c create mode 100644 drivers/staging/zynpu/zynpu_session.h create mode 100644 drivers/staging/zynpu/zynpu_sysfs.c -- 2.25.1