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>