On 3/7/22 09:34, Andre Przywara wrote:
The Allwinner F1C100 SoC didn't see much love since its initial merge in
2018: the originally submitted .dts files were very basic, and didn't
cover such simple peripherals as MMC and SPI.
On top of that the watchdog compatible string was wrong, leading to a
non-functional watchdog and reset functionality.
This series aims to fix that, after the series MMC and SPI work, and
make dtbs_check comes back clean.
This was tested with mounting a filesystem on /dev/mmcblk0 on a
LicheePi Nano, also with accessing the SPI flash through /dev/mtdblock
and mtd_debug. Reboot and watchdog now also work.
Mainline U-Boot recently gained F1C100 support, and those DT updates are
needed there as well to get full MMC and SPI access.
Thank you so much for doing this Giulio and I really appreciate this.
I'm sorry I haven't been available lately i have had other activities
lately.
The series is structured as follows:
- Patches 01/14 and 02/14 fix the watchdog, which allows to properly
reboot the system.
- Patches 03-06 fix some shortcomings of the existing DT files, to make
them DT binding compliant.
- Patches 07-09 are Jesse's recent MMC patches, with the comments from
the last version addressed [1].
- Patches 10-12 add SPI support, to enable access to the SPI flash on
the LicheePi Nano board.
- The final two patches (13/14 and 14/14) add the F1C100 platform to
the multi_v5_defconfig, since it was not covered by any other
defconfig before, and an ARMv5 compliant kernel is not commonly
offered by distributions.
I saw George's series from two years ago to add USB support[2], that
looks good on the first glance, I will comment on that once I did some
testing on that.
There are patches for USB host as well. There are working patches
floating around for the LCD controller, as well as patches for audio,
but audio only works in 5.2 even though none of the files the patches
touched have changed since. To test the LCD controller I made a DAC to
output to VGA unfortunately the blanking regions aren't set to 0v so its
not to VGA spec but if there is a black boarder it works fine.
Cheers,
Andre
Changelog for the MMC patches [1]:
- bindings doc: extend commit message
- .dtsi: extend commit message, re-order mmc0_pins node, add
drive-strength
- .dts: extend commit message, add alias, regulator and disable-wp
[1] https://lore.kernel.org/linux-arm-kernel/20220130220325.1983918-1-Mr.Bossman075@xxxxxxxxx/
[2] https://lore.kernel.org/linux-usb/20200331170219.267732-1-thirtythreeforty@xxxxxxxxx/
Andre Przywara (10):
dt-bindings: watchdog: sunxi: fix F1C100s compatible
ARM: dts: suniv: F1C100: fix watchdog compatible
dt-bindings: arm: sunxi: document LicheePi Nano name
ARM: dts: suniv: F1C100: fix CPU node
ARM: dts: suniv: F1C100: fix timer node
dt-bindings: spi: sunxi: document F1C100 controllers
ARM: dts: suniv: F1C100: add SPI support
ARM: dts: suniv: licheepi-nano: add SPI flash
ARM: configs: sync multi_v5_defconfig from savedefconfig
ARM: configs: multi_v5: Enable Allwinner F1C100
Jesse Taube (4):
ARM: dts: suniv: F1C100: add clock and reset macros
dt-bindings: mmc: sunxi: add Allwinner F1c100s compatible
ARM: dts: suniv: F1C100: add MMC controllers
ARM: dts: suniv: licheepi-nano: add microSD card
.../devicetree/bindings/arm/sunxi.yaml | 5 +
.../bindings/mmc/allwinner,sun4i-a10-mmc.yaml | 3 +
.../bindings/spi/allwinner,sun6i-a31-spi.yaml | 1 +
.../watchdog/allwinner,sun4i-a10-wdt.yaml | 2 +-
.../boot/dts/suniv-f1c100s-licheepi-nano.dts | 31 ++++++
arch/arm/boot/dts/suniv-f1c100s.dtsi | 102 ++++++++++++++++--
arch/arm/configs/multi_v5_defconfig | 25 ++---
7 files changed, 140 insertions(+), 29 deletions(-)