[PATCH v4 0/4] arm64: rockchip: Pine64 PineTab2 support

From: Manuel Traut
Date: Sat Jan 27 2024 - 04:49:03 EST


This adds support for the BOE TH101MB31IG002 LCD Panel used in PineTab2 [1] and
PineTab-V [2] as well as the devictrees for the PineTab2 v0.1 and v2.0.

The BOE LCD Panel patch was retrieved from [3]. The function-name prefix has
been adapted and the LCD init section was simplified.

The PineTab2 devicetree patch was retrieved from [4]. Some renaming was needed
to pass the dtb-checks, the brightness-levels are specified as range and steps
instead of a list of values.

[5] and [6] was also used as source for this queue.

[1] https://wiki.pine64.org/wiki/PineTab2
[2] https://wiki.pine64.org/wiki/PineTab-V
[3] https://salsa.debian.org/Mobian-team/devices/kernels/rockchip-linux/-/blob/mobian-6.6/debian/patches/display/0018-drm-panel-add-BOE-TH101MB31IG002-28A-driver.patch?ref_type=heads
[4] https://salsa.debian.org/Mobian-team/devices/kernels/rockchip-linux/-/blob/mobian-6.6/debian/patches/device-tree/0134-arch-arm64-add-Pine64-PineTab2-device-trees.patch?ref_type=heads
[5] https://github.com/dreemurrs-embedded/linux-pinetab2/tree/v6.6.7-danctnix1
[6] https://xff.cz/git/linux?h=pt2-6.7

Signed-off-by: Manuel Traut <manut@xxxxxxxxx>
---
Changes in v4:
- Rebased on v6.8-rc1
- BOE TH101MB31IG002 LCD Panel:
* Picked patches from https://anongit.freedesktop.org/git/drm/drm-misc.git (drm-misc-next)
- PineTab2 dts:
* Make flash-led a regulator-led and control the regulator by GPIO and set
V5_MIDU as vin-supply to ensure that LED is working even if all other
drivers using V5 MIDU are unloaded.
* Add -regulator suffix to nodes, replace -con suffix by -connector
* Set lcd pinctrl in .dts instead of .dtsi so it is more clear that this is
different between pinetab v0.1 and v2.0
* Remove unused bluetooth uart configuration and pinctrl
* Increase spi-nor max-speed from 24 to 100 MHz
- Link to v3: https://lore.kernel.org/r/20240102-pinetab2-v3-0-cb1aa69f8c30@xxxxxxxxx

Changes in v3:
- PineTab2 dts:
* Remove useless regulator-state-mem nodes for fixed regulators
* Swap mmc0 and mmc1, so mmc0 is now the internal eMMC
- BOE TH101MB31IG002 LCD Panel:
* Remove enabled/prepared checks since they are done in core.
- Use consistent naming (PineTab2 and PineTab-V) in commit messages.
- Link to v2: https://lore.kernel.org/r/20231223-pinetab2-v2-0-ec1856d0030e@xxxxxxxxx

Changes in v2:
- Removed dtb-checker fixups, cause I am not sure if they are correct
- Applied review comments for dt bindings
- pinetab2 dts:
* Remove unverified WLAN entries, as in [5]
* Simplify flash LED definition, as in [5]
* Fix headphone detection and sound routing, as in [5]
* Fix CRU clock configuration
- BOE TH101MB31IG002 LCD Panel:
* Reworked prepare/enable unprepare/disable, as in [5]
- Replaced nicknames by realnames in author and signed-offs

- Link to v1: https://lore.kernel.org/r/20231222-pinetab2-v1-0-e148a7f61bd1@xxxxxxxxx

---
Alexander Warnecke (1):
drm/panel: Add driver for BOE TH101MB31IG002-28A panel

Manuel Traut (3):
dt-bindings: display: panel: Add BOE TH101MB31IG002-28A panel
dt-bindings: arm64: rockchip: Add Pine64 PineTab2
arm64: dts: rockchip: Add devicetree for Pine64 PineTab2

.../devicetree/bindings/arm/rockchip.yaml | 8 +
.../display/panel/boe,th101mb31ig002-28a.yaml | 58 ++
arch/arm64/boot/dts/rockchip/Makefile | 2 +
.../boot/dts/rockchip/rk3566-pinetab2-v0.1.dts | 28 +
.../boot/dts/rockchip/rk3566-pinetab2-v2.0.dts | 48 ++
arch/arm64/boot/dts/rockchip/rk3566-pinetab2.dtsi | 943 +++++++++++++++++++++
drivers/gpu/drm/panel/Kconfig | 11 +
drivers/gpu/drm/panel/Makefile | 1 +
.../gpu/drm/panel/panel-boe-th101mb31ig002-28a.c | 322 +++++++
9 files changed, 1421 insertions(+)
---
base-commit: 3a5879d495b226d0404098e3564462d5f1daa33b
change-id: 20231222-pinetab2-faa77e01db6f

Best regards,
--
Manuel Traut <manut@xxxxxxxxx>