[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