[PATCH RESEND 00/22] Add support for A100/A133 display

Parthiban Nallathambi
2024-12-27T13:02:51Z

This series depends on [1] for the eMMC/MMC controller to work and
[2] (lined up for 6.14) which adds support for the sram nodes and
display engine extends it's usage. Idea of this series to get initial
feedback and adjust, which will be rebased for 6.14 once [2] is merged.

This patch series adds support for A133 display pipeline based on
LVDS. dt-bindigs are organized in the start and later with code
changes.

PHY is shared between DSI and LVDS, so to control the PHY specific
to DSI/LVDS, phy_ops set_mode is introduced. To enable the DSI
using set_mode, analog control register MIPI Enable is used, which
may not be available for A31 (shares the same driver).

Otherwise, A133 also got hidden independent display engine i.e
mixer + tcon top to handle parallel display. But this patch series
adds only support for the 1 mixer which is documented.

[1]: https://lore.kernel.org/linux-sunxi/20241109003739.3440904-1-masterr3c0rd@epochal.quest/
[2]: https://lore.kernel.org/linux-sunxi/20241218-a100-syscon-v2-0-dae60b9ce192@epochal.quest/

Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
Parthiban Nallathambi (22):
dt-bindings: iommu: sun50i: remove resets from required property
dt-bindings: display: sunxi: Add a100/a133 display engine compatibles
dt-bindings: clock: sun8i de2 clock: Add PLL com clock
dt-bindings: clock: sun8i de2 clock: Add a100/a133 compatible
dt-bindings: display: sun4i: add phy property
dt-bindings: display: sun4i: add a100/a133 tcon lcd
dt-bindings: vendor-prefixes: Shenzhen Baijie Technology
dt-bindings: arm: sunxi: document Szbaijie A133 helper board
iommu: sun50i: make reset control optional
pinctrl: sunxi: add missed lvds pins for a100/a133
drm/sun4i: Add support for a100/a133 display engine
drm/sun4i: Add support for a100/a133 mixer
drm/sun4i: make tcon top tv0 optional
drm/sun4i: add a100/a133 tcon top quirks
clk: sunxi-ng: sun8i-de2: add pll-com clock support
clk: sunxi-ng: sun8i-de2: Add support for a100/a133
phy: allwinner: phy-sun6i-mipi-dphy: add LVDS support
drm/sun4i: tcon: add a100/a133 lcd controller support
arm64: dts: allwinner: a100: add iommu
clk: sunxi-ng: add missing pll-com binding
arm64: dts: allwinner: a100: add display pipeline
arm64: dts: allwinner: a133: add szbaijie helper board

Documentation/devicetree/bindings/arm/sunxi.yaml | 6 +
.../clock/allwinner,sun8i-a83t-de2-clk.yaml | 6 +
.../allwinner,sun4i-a10-display-engine.yaml | 2 +
.../bindings/display/allwinner,sun4i-a10-tcon.yaml | 7 +
.../display/allwinner,sun8i-a83t-de2-mixer.yaml | 1 +
.../display/allwinner,sun8i-r40-tcon-top.yaml | 17 ++
.../bindings/iommu/allwinner,sun50i-h6-iommu.yaml | 1 -
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm64/boot/dts/allwinner/Makefile | 1 +
arch/arm64/boot/dts/allwinner/sun50i-a100.dtsi | 165 ++++++++++++++++++
.../dts/allwinner/sun50i-a133-helper-board.dts | 129 ++++++++++++++
.../dts/allwinner/sun50i-a133-helper-core.dtsi | 190 +++++++++++++++++++++
drivers/clk/sunxi-ng/ccu-sun8i-de2.c | 23 ++-
drivers/gpu/drm/sun4i/sun4i_drv.c | 1 +
drivers/gpu/drm/sun4i/sun4i_tcon.c | 23 +++
drivers/gpu/drm/sun4i/sun8i_mixer.c | 13 ++
drivers/gpu/drm/sun4i/sun8i_tcon_top.c | 42 +++--
drivers/iommu/sun50i-iommu.c | 2 +-
drivers/phy/allwinner/phy-sun6i-mipi-dphy.c | 23 ++-
drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c | 12 ++
include/dt-bindings/clock/sun50i-a100-ccu.h | 1 +
21 files changed, 645 insertions(+), 22 deletions(-)
---
base-commit: 6c086b91df8c6619239c6d6d6cbf6ae50da6c110
change-id: 20241126-a133-display-support-ab43af32180a

Best regards,
--
Parthiban Nallathambi <parthiban@linumiz.com>