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

Stefan Bader stefan.bader at canonical.com
Mon Aug 7 09:23:28 UTC 2023


On 12.06.23 12:54, Emil Renner Berthing wrote:
> 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 9fe017d25c0994fdbe6d8a7e6fdc33c4e2aef1dc:
> 
>    UBUNTU: Ubuntu-riscv-6.2.0-23.23.1 (2023-06-01 09:08:34 +0200)
> 
> are available in the Git repository at:
> 
>    git+ssh://esmil@git.launchpad.net/~esmil/ubuntu/+source/linux-riscv/+git/lunar d1
> 
> for you to fetch changes up to a89cf8fbf754615ea1813638143aa3db3573649b:
> 
>    UBUNTU: [Config] riscv: Default to performance cpufreq governor (2023-06-12 12:40:37 +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 (7):
>        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] riscv: updateconfigs for Allwinner D1 support
>        UBUNTU: [Config] riscv: Build in cpufreq-dt like other archs
>        UBUNTU: [Config] riscv: Default to performance cpufreq governor
> 
> 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                    | 128 ++-
>   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, 7283 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

Not sure where to place this. The submission was lunar:linux-riscv, the 
applied for mantic. Are you still waiting for a second ack to apply this 
to lunar?

- Stefan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 44613 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20230807/caee89aa/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20230807/caee89aa/attachment-0001.sig>


More information about the kernel-team mailing list