Skip to content

drop old lcd_vk2c21 LCD driver that never worked; backport workingvinka,vk2c21 driver; fix Mekos DTs#482

Merged
igorpecovnik merged 4 commits into
armbian:rk-6.1-rkr5.1from
rpardini:meko-r58x-pro-LCD-rework
May 17, 2026
Merged

drop old lcd_vk2c21 LCD driver that never worked; backport workingvinka,vk2c21 driver; fix Mekos DTs#482
igorpecovnik merged 4 commits into
armbian:rk-6.1-rkr5.1from
rpardini:meko-r58x-pro-LCD-rework

Conversation

@rpardini
Copy link
Copy Markdown
Member

arm64: dts: meko-r58x-pro: switch lcd_vk2c21 to new vinka,vk2c21

  • backported driver which works
  • also eat trailing whitespace

arm64: dts: mekos: drop lcd_vk2c21 reference from boards that don't have it

  • also eat trailing whitespace

auxdisplay: add a driver for Vinka VK2C21 Segment LCD Controller

  • Original from armbian/build@5ee03af
  • backported from 7.0.y mainline version to 6.1.y
    • .remove returns void at 6.1.y

The Vinka VK2C21 (and pin-compatible VK2C21A/VK2C21B) is a memory-mapping
segment LCD controller that communicates over I2C. It can drive up to
128 segments (e.g. 32 SEG x 4 COM in 1/3 bias mode).
Some SBCs wire this chip to GPIO pins without I2C pull-up
resistors, making the standard i2c-gpio (open-drain) driver unusable.
This driver therefore bit-bangs I2C in push-pull mode directly via GPIO,
requiring no external pull-ups.

Signed-off-by: Ricardo Pardini ricardo@pardini.net

drivers: char: drop "meko: vk2c21 LCD driver for the R58X-PRO"

  • this never worked, except for 123456 display on boot
  • was always built-in (not a module, and =y always)
  • This reverts commit 5e14078

rpardini added 4 commits May 16, 2026 10:00
- this never worked, except for `123456` display on boot
- was always built-in (not a module, and =y always)
- This reverts commit 5e14078
- Original from armbian/build@5ee03af
- backported from 7.0.y mainline version to 6.1.y
  - `.remove` returns void at 6.1.y

The Vinka VK2C21 (and pin-compatible VK2C21A/VK2C21B) is a memory-mapping
segment LCD controller that communicates over I2C. It can drive up to
128 segments (e.g. 32 SEG x 4 COM in 1/3 bias mode).
Some SBCs wire this chip to GPIO pins without I2C pull-up
resistors, making the standard i2c-gpio (open-drain) driver unusable.
This driver therefore bit-bangs I2C in push-pull mode directly via GPIO,
requiring no external pull-ups.

Signed-off-by: Ricardo Pardini <ricardo@pardini.net>
- backported driver which works
- also eat trailing whitespace
rpardini added a commit to armsurvivors/armbian-build that referenced this pull request May 16, 2026
- new LCD driver for the Meko-R58X-Pro as a module at armbian/linux-rockchip#482
- old always-built-in `lcd_vk2c21` is gone
@rpardini
Copy link
Copy Markdown
Member Author

Armbian enablement of driver and simple systemd unit to drive the LCD as a simple HH-MM clock: armbian/build#9836

@rpardini
Copy link
Copy Markdown
Member Author

Simple usage for testing is echo " $(date +%%H)-$(date +%%M) " > /sys/devices/platform/lcd_vk2c21/display

@igorpecovnik igorpecovnik merged commit 5cd0e48 into armbian:rk-6.1-rkr5.1 May 17, 2026
1 check passed
igorpecovnik pushed a commit to armbian/build that referenced this pull request May 17, 2026
- new LCD driver for the Meko-R58X-Pro as a module at armbian/linux-rockchip#482
- old always-built-in `lcd_vk2c21` is gone
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants