[SRU][L:riscv][PULL v1] Enable Allwinner D1 based boards

Emil Renner Berthing emil.renner.berthing at canonical.com
Mon May 22 13:50:25 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/1975592

[Impact]
Enable the Allwinner D1 based Nezha, Lichee RV and MangoPi MQ Pro
boards.
Patches yet to make it upstream are available from Samuel Hollands tree
at
https://github.com/smaeul/linux

[Test]
Cherry pick patches and run the kernel on the various boards and see
that devices that does not yet have upstream support.

[Regression potential]
The out-of-tree patches may interfere with other supported boards, so
make sure to test on those too.

----------------------------------------------------------------

The following changes since commit bd24cb0e0f4a473efeae49ed95fc9ed49be16362:

  UBUNTU: Ubuntu-riscv-6.2.0-19.19.1 (2023-03-30 18:14:32 +0100)

are available in the Git repository at:

  https://git.launchpad.net/~esmil/ubuntu/+source/linux-riscv/+git/lunar d1

for you to fetch changes up to a38f2bda881fc4840ddf87cfb9262b226d0fe538:

  UBUNTU: [Config] updateconfigs for Allwinner D1 support (2023-05-22 15:08:11 +0200)

----------------------------------------------------------------
András Szemző (1):
      clk: sunxi-ng: d1: Mark cpux clock as critical

Anup Patel (2):
      dt-bindings: timer: Add bindings for the RISC-V timer device
      clocksource/drivers/timer-riscv: Set CLOCK_EVT_FEAT_C3STOP based on DT

Arnd Bergmann (1):
      soc: sunxi: select CONFIG_PM

Ban Tao (2):
      UBUNTU: SAUCE: pwm: sun8i-v536: document device tree bindings
      UBUNTU: SAUCE: pwm: sunxi: Add Allwinner SoC PWM controller driver

Emil Renner Berthing (5):
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Add misc nodes
      UBUNTU: SAUCE: riscv: dts: allwinner: Keep aldo regulator on
      UBUNTU: SAUCE: riscv: dts: allwinner: Add button on the Nezha board
      UBUNTU: SAUCE: riscv: dts: allwinner: Add button on the Lichee RV Dock
      UBUNTU: [Config] updateconfigs for Allwinner D1 support

Fabien Poussin (1):
      clk: sunxi-ng: d1: Add CAN bus gates and resets

Icenowy Zheng (1):
      dt-bindings: timer: sifive,clint: add comaptibles for T-Head's C9xx

Jagan Teki (1):
      UBUNTU: SAUCE: drm/sun4i: tcon_top: Register reset, clock gates in probe

Lad Prabhakar (1):
      clocksource/drivers/riscv: Get rid of clocksource_arch_init() callback

Randy Dunlap (1):
      clk: sunxi-ng: fix ccu_mmc_timing.c kernel-doc issues

Roman Beranek (1):
      UBUNTU: SAUCE: drm/sun4i: decouple TCON_DCLK_DIV value from pll_mipi/dotclock ratio

Samuel Holland (74):
      clk: sunxi-ng: Avoid computing the rate twice
      clk: sunxi-ng: Remove duplicate ARCH_SUNXI dependencies
      clk: sunxi-ng: Move SoC driver conditions to dependencies
      clk: sunxi-ng: d1: Allow building for R528/T113
      dt-bindings: clock: Add D1 CAN bus gates and resets
      soc: sunxi: sram: Only iterate over SRAM children
      dt-bindings: power: Add Allwinner D1 PPU
      soc: sunxi: Add Allwinner D1 PPU driver
      dt-bindings: crypto: sun8i-ce: Add compatible for D1
      crypto: sun8i-ce - Add TRNG clock to the D1 variant
      dmaengine: sun6i: Set the maximum segment size
      dt-bindings: vendor-prefixes: Add Allwinner D1/D1s board vendors
      dt-bindings: riscv: Add Allwinner D1/D1s board compatibles
      riscv: dts: allwinner: Add the D1/D1s SoC devicetree
      riscv: dts: allwinner: Add MangoPi MQ devicetree
      riscv: dts: allwinner: Add Allwinner D1 Nezha devicetree
      riscv: dts: allwinner: Add Sipeed Lichee RV devicetrees
      riscv: dts: allwinner: Add MangoPi MQ Pro devicetree
      riscv: dts: allwinner: Add Dongshan Nezha STU devicetree
      riscv: Add the Allwinner SoC family Kconfig option
      riscv: dts: allwinner: d1: Add power controller node
      nvmem: sunxi_sid: Drop the workaround on A64
      clocksource/drivers/riscv: Increase the clock source rating
      riscv: dts: allwinner: d1: Add crypto engine node
      UBUNTU: SAUCE: mmc: sunxi-mmc: Correct the maximum segment size
      UBUNTU: SAUCE: dt-bindings: nvmem: Allow bit offsets greater than a byte
      UBUNTU: SAUCE: nvmem: core: Support reading cells with >= 8 bit offsets
      UBUNTU: SAUCE: regulator: dt-bindings: Add Allwinner D1 LDOs
      UBUNTU: SAUCE: regulator: sun20i: Add support for Allwinner D1 LDOs
      UBUNTU: SAUCE: dt-bindings: sram: sunxi-sram: Add optional regulators child
      UBUNTU: SAUCE: dt-bindings: thermal: sun8i: Add compatible for D1
      UBUNTU: SAUCE: thermal: sun8i: Document the unknown field
      UBUNTU: SAUCE: thermal: sun8i: Set the event type for new samples
      UBUNTU: SAUCE: thermal: sun8i: Use optional clock/reset getters
      UBUNTU: SAUCE: thermal: sun8i: Ensure vref is powered
      UBUNTU: SAUCE: thermal: sun8i: Add support for the D1 variant
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Add thermal sensor and zone
      UBUNTU: SAUCE: pwm: sun8i-v536: Add support for the Allwinner D1
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Add PWM support
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Hook up PWM-controlled CPU voltage regulators
      UBUNTU: SAUCE: drm/sun4i: dsi: Allow panel attach before card registration
      UBUNTU: SAUCE: drm/sun4i: mixer: Remove unused CMA headers
      UBUNTU: SAUCE: drm/sun4i: tcon: Always protect the LCD dotclock rate
      UBUNTU: SAUCE: riscv: dts: allwinner: lichee-rv-86-panel-480p: Add panel
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Add HDMI pipeline
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Enable HDMI on supported boards
      UBUNTU: SAUCE: dt-bindings: display: sun4i-tcon: Add external LVDS PHY
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Add LVDS0 PHY
      UBUNTU: SAUCE: dt-bindings: leds: Add Allwinner A100 LED controller
      UBUNTU: SAUCE: leds: sun50i-a100: New driver for the A100 LED controller
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Add LED controller node
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Add RGB LEDs to boards
      UBUNTU: SAUCE: ASoC: sun20i-codec: New driver for D1 internal codec
      UBUNTU: SAUCE: [WIP] ASoC: sun20i-codec: What is this ramp thing?
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Add sound cards to boards
      UBUNTU: SAUCE: dt-bindings: display: sun8i-a83t-dw-hdmi: Remove #phy-cells
      UBUNTU: SAUCE: dt-bindings: display: Add D1 HDMI compatibles
      UBUNTU: SAUCE: drm/sun4i: Add support for D1 HDMI
      UBUNTU: SAUCE: drm/sun4i: sun8i-hdmi-phy: Add support for D1 PHY
      UBUNTU: SAUCE: [HACK] drm/sun4i: Copy in BSP code for D1 HDMI PHY
      UBUNTU: SAUCE: dt-bindings: iommu: sun50i: Add compatible for Allwinner D1
      UBUNTU: SAUCE: iommu/sun50i: Support variants without an external reset
      UBUNTU: SAUCE: iommu/sun50i: Ensure bypass is disabled
      UBUNTU: SAUCE: iommu/sun50i: Add support for the D1 variant
      UBUNTU: SAUCE: iommu/sun50i: Ensure the IOMMU can be used for DMA
      UBUNTU: SAUCE: riscv: dts: allwinner: d1: Add IOMMU node
      UBUNTU: SAUCE: riscv: mm: Use IOMMU for DMA when available
      UBUNTU: SAUCE: dt-bindings: spi: sun6i: Add R329 variant
      UBUNTU: SAUCE: spi: spi-sun6i: Use a struct for quirks
      UBUNTU: SAUCE: spi: spi-sun6i: Add Allwinner R329 support
      UBUNTU: SAUCE: [WIP] spi: spi-sun6i: Dual/Quad RX Support
      UBUNTU: SAUCE: riscv: dts: allwinner: Add SPI support
      UBUNTU: SAUCE: dt-bindings: display: Add Sitronix ST7701s panel binding
      UBUNTU: SAUCE: drm/panel: Add driver for ST7701s DPI LCD panel

Trevor Woerner (1):
      riscv: dts: nezha-d1: add gpio-line-names

 .../bindings/crypto/allwinner,sun8i-ce.yaml        |  33 +-
 .../bindings/display/allwinner,sun4i-a10-tcon.yaml |   7 +
 .../display/allwinner,sun8i-a83t-dw-hdmi.yaml      |   4 +-
 .../display/allwinner,sun8i-a83t-hdmi-phy.yaml     |   1 +
 .../bindings/display/panel/sitronix,st7701s.yaml   |  32 +
 .../bindings/iommu/allwinner,sun50i-h6-iommu.yaml  |  16 +-
 .../bindings/leds/allwinner,sun50i-a100-ledc.yaml  | 139 +++
 Documentation/devicetree/bindings/nvmem/nvmem.yaml |   2 +-
 .../bindings/power/allwinner,sun20i-d1-ppu.yaml    |  54 ++
 .../devicetree/bindings/pwm/pwm-sun8i-v536.txt     |  24 +
 .../regulator/allwinner,sun20i-d1-analog-ldos.yaml |  74 ++
 .../regulator/allwinner,sun20i-d1-system-ldos.yaml |  37 +
 Documentation/devicetree/bindings/riscv/sunxi.yaml |  69 ++
 .../bindings/spi/allwinner,sun6i-a31-spi.yaml      |   8 +
 .../sram/allwinner,sun4i-a10-system-control.yaml   |  28 +
 .../bindings/thermal/allwinner,sun8i-a83t-ths.yaml |  21 +-
 .../devicetree/bindings/timer/riscv,timer.yaml     |  52 ++
 .../devicetree/bindings/timer/sifive,clint.yaml    |   8 +
 .../devicetree/bindings/vendor-prefixes.yaml       |   4 +
 MAINTAINERS                                        |   6 +
 arch/riscv/Kconfig                                 |   1 -
 arch/riscv/Kconfig.socs                            |   9 +
 arch/riscv/boot/dts/Makefile                       |   1 +
 arch/riscv/boot/dts/allwinner/Makefile             |   9 +
 .../dts/allwinner/sun20i-common-regulators.dtsi    |  28 +
 .../dts/allwinner/sun20i-d1-dongshan-nezha-stu.dts | 149 ++++
 .../sun20i-d1-lichee-rv-86-panel-480p.dts          |  80 ++
 .../sun20i-d1-lichee-rv-86-panel-720p.dts          |  10 +
 .../allwinner/sun20i-d1-lichee-rv-86-panel.dtsi    | 140 +++
 .../dts/allwinner/sun20i-d1-lichee-rv-dock.dts     | 161 ++++
 .../boot/dts/allwinner/sun20i-d1-lichee-rv.dts     |  93 ++
 .../dts/allwinner/sun20i-d1-mangopi-mq-pro.dts     | 171 ++++
 arch/riscv/boot/dts/allwinner/sun20i-d1-nezha.dts  | 350 ++++++++
 arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi       | 149 ++++
 .../boot/dts/allwinner/sun20i-d1s-mangopi-mq.dts   | 128 +++
 arch/riscv/boot/dts/allwinner/sun20i-d1s.dtsi      | 130 +++
 arch/riscv/boot/dts/allwinner/sunxi-d1-t113.dtsi   |  65 ++
 arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi  | 944 +++++++++++++++++++++
 arch/riscv/kernel/time.c                           |   9 -
 arch/riscv/mm/dma-noncoherent.c                    |   4 +
 debian.riscv/config/annotations                    | 121 ++-
 drivers/clk/sunxi-ng/Kconfig                       |  71 +-
 drivers/clk/sunxi-ng/ccu-sun20i-d1.c               |  13 +-
 drivers/clk/sunxi-ng/ccu-sun20i-d1.h               |   2 +-
 drivers/clk/sunxi-ng/ccu_mmc_timing.c              |   8 +-
 drivers/clk/sunxi-ng/ccu_mp.c                      |  11 +-
 drivers/clk/sunxi-ng/ccu_nk.c                      |   9 +-
 drivers/clk/sunxi-ng/ccu_nkm.c                     |  10 +-
 drivers/clk/sunxi-ng/ccu_nkmp.c                    |  10 +-
 drivers/clk/sunxi-ng/ccu_nm.c                      |   9 +-
 drivers/clocksource/timer-riscv.c                  |  17 +-
 drivers/crypto/allwinner/sun8i-ce/sun8i-ce-core.c  |   1 +
 drivers/crypto/allwinner/sun8i-ce/sun8i-ce.h       |   2 +-
 drivers/dma/sun6i-dma.c                            |   3 +
 drivers/gpu/drm/panel/Kconfig                      |   8 +
 drivers/gpu/drm/panel/Makefile                     |   1 +
 drivers/gpu/drm/panel/panel-sitronix-st7701s.c     | 444 ++++++++++
 drivers/gpu/drm/sun4i/aw_phy.h                     | 411 +++++++++
 drivers/gpu/drm/sun4i/sun4i_dotclock.c             |   4 +
 drivers/gpu/drm/sun4i/sun4i_tcon.c                 |  50 +-
 drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c             |   8 +-
 drivers/gpu/drm/sun4i/sun8i_dw_hdmi.c              |  11 +-
 drivers/gpu/drm/sun4i/sun8i_dw_hdmi.h              | 170 ++++
 drivers/gpu/drm/sun4i/sun8i_hdmi_phy.c             | 188 ++++
 drivers/gpu/drm/sun4i/sun8i_mixer.c                |   2 +-
 drivers/gpu/drm/sun4i/sun8i_tcon_top.c             |  42 +-
 drivers/iommu/Kconfig                              |   1 +
 drivers/iommu/sun50i-iommu.c                       |  24 +-
 drivers/leds/Kconfig                               |   9 +
 drivers/leds/Makefile                              |   1 +
 drivers/leds/leds-sun50i-a100.c                    | 554 ++++++++++++
 drivers/mmc/host/sunxi-mmc.c                       |  14 +-
 drivers/nvmem/core.c                               |  43 +-
 drivers/nvmem/sunxi_sid.c                          |   8 +-
 drivers/pwm/Kconfig                                |  11 +
 drivers/pwm/Makefile                               |   1 +
 drivers/pwm/pwm-sun8i-v536.c                       | 405 +++++++++
 drivers/regulator/Kconfig                          |   8 +
 drivers/regulator/Makefile                         |   1 +
 drivers/regulator/sun20i-regulator.c               | 232 +++++
 drivers/soc/sunxi/Kconfig                          |   9 +
 drivers/soc/sunxi/Makefile                         |   1 +
 drivers/soc/sunxi/sun20i-ppu.c                     | 207 +++++
 drivers/soc/sunxi/sunxi_sram.c                     |   3 +
 drivers/spi/spi-sun6i.c                            | 127 ++-
 drivers/thermal/sun8i_thermal.c                    |  81 +-
 include/dt-bindings/clock/sun20i-d1-ccu.h          |   2 +
 .../dt-bindings/power/allwinner,sun20i-d1-ppu.h    |  10 +
 include/dt-bindings/reset/sun20i-d1-ccu.h          |   2 +
 sound/soc/sunxi/Kconfig                            |   6 +
 sound/soc/sunxi/Makefile                           |   1 +
 sound/soc/sunxi/sun20i-codec.c                     | 890 +++++++++++++++++++
 92 files changed, 7276 insertions(+), 251 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/panel/sitronix,st7701s.yaml
 create mode 100644 Documentation/devicetree/bindings/leds/allwinner,sun50i-a100-ledc.yaml
 create mode 100644 Documentation/devicetree/bindings/power/allwinner,sun20i-d1-ppu.yaml
 create mode 100644 Documentation/devicetree/bindings/pwm/pwm-sun8i-v536.txt
 create mode 100644 Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-analog-ldos.yaml
 create mode 100644 Documentation/devicetree/bindings/regulator/allwinner,sun20i-d1-system-ldos.yaml
 create mode 100644 Documentation/devicetree/bindings/riscv/sunxi.yaml
 create mode 100644 Documentation/devicetree/bindings/timer/riscv,timer.yaml
 create mode 100644 arch/riscv/boot/dts/allwinner/Makefile
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-common-regulators.dtsi
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-dongshan-nezha-stu.dts
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-480p.dts
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel-720p.dts
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-86-panel.dtsi
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv-dock.dts
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-lichee-rv.dts
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-mangopi-mq-pro.dts
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1-nezha.dts
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1.dtsi
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1s-mangopi-mq.dts
 create mode 100644 arch/riscv/boot/dts/allwinner/sun20i-d1s.dtsi
 create mode 100644 arch/riscv/boot/dts/allwinner/sunxi-d1-t113.dtsi
 create mode 100644 arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi
 create mode 100644 drivers/gpu/drm/panel/panel-sitronix-st7701s.c
 create mode 100644 drivers/gpu/drm/sun4i/aw_phy.h
 create mode 100644 drivers/leds/leds-sun50i-a100.c
 create mode 100644 drivers/pwm/pwm-sun8i-v536.c
 create mode 100644 drivers/regulator/sun20i-regulator.c
 create mode 100644 drivers/soc/sunxi/sun20i-ppu.c
 create mode 100644 include/dt-bindings/power/allwinner,sun20i-d1-ppu.h
 create mode 100644 sound/soc/sunxi/sun20i-codec.c

-- 
2.39.2




More information about the kernel-team mailing list