Skip to content
Tsuyukusa Akari edited this page Jan 21, 2026 · 90 revisions

Porting progress

str state
Y Works
N Not Working
P Partial
N/A Unknown, not checked. You can check it and report via issue(s)

SoC

config: arch/arm/configs/lenovo-blade_defconfig

feature state driver info dev
SoC Base Y mediatek,mt6589 Mainline
CPU P ---
CPU - Core Y arm,cortex-a7 Mainline
CPU - SMP Y mediatek,mt6589-smp & mediatek,mt6589 Mainline
CPU - frequency N mediatek,mt6589 drivers/cpufreq/mediatek-cpufreq.c, drivers/cpufreq/cpufreq-dt-platdev.c
CPU - CPUidle N arm,idle-state Mainline, needs DT
Timer Y mediatek,mt6577-timer Mainline
IRQ Y mediatek,mt6589-sysirq, mediatek,mt6577-sysirq Mainline
GIC Y arm,cortex-a7-gic Mainline
Watchdog Y mediatek,mt6589-wdt Mainline
UART Y mediatek,mt6577-uart Mainline
UART DMA Y mediatek,mt6589-uart-dma, mediatek,mt6577-uart-dma Mainline
Storage N mediatek,mt2701-mmc? The same driver will probably be used for the eMMC and SD card. drivers/mmc/host/mtk-sd.c probably works with mediatek,mt2701-mmc https://github.com/TeamYogaBlade2/linux/issues/6
USB N mediatek,mt2701-musb, mediatek,mtk-musb Based on MUSB, drivers/usb/musb/mediatek.c https://github.com/TeamYogaBlade2/linux/issues/5
USB PHY N mediatek,mt6589-tphy, mediatek,generic-tphy-v1?
HSDMA N mediatek,mt6589-hsdma
GPU N mediatek,mt6589-gpu, img,powervr-sgx544 PowerVR SGX5 (Core num: 1, rev: 115)
Pinctrl Y mediatek,mt6589-pinctrl https://github.com/TeamYogaBlade2/linux/issues/4
Pinctrl - EXT N mediatek,mt6320-pinctrl (wip) https://github.com/TeamYogaBlade2/linux/tree/dev/v6.16/mt6320
GPIO N
I²C N mediatek,mt6589-i2c Mainline support for MT65xx is available (drivers/i2c/busses/i2c-mt65xx.c) https://github.com/TeamYogaBlade2/linux/issues/11
Audio N
Video N The video accelerator is independent of GPU
Thermal N
Wi-Fi N MT6628
Bluetooth N
Modem N akku can't test it
GPS N
Camera N
Suspend N
Clock P fixed-clock TODO: remove bootargs = "clk_ignore_unused"; https://github.com/TeamYogaBlade2/linux/issues/2
Clock - topckgen Y mediatek,mt6589-topckgen
Clock - infracfg Y mediatek,mt6589-infracfg
Clock - pericfg Y mediatek,mt6589-pericfg
Clock - apmixedsys Y mediatek,mt6589-apmixedsys TODO: support freqhopping
Clock - audsys Y mediatek,mt6589-audsys
Clock - dispsys Y mediatek,mt6589-dispsys
Clock - imgsys Y mediatek,mt6589-imgsys
Clock - mfgsys Y mediatek,mt6589-mfgsys
Clock - vdecsys Y mediatek,mt6589-vdecsys
Clock - vencsys Y mediatek,mt6589-vencsys
Power Domains N mediatek,mt6589-scpsys https://github.com/TeamYogaBlade2/linux/pull/18
SPI N mediatek,mt6589-spi Mainline support for MT65xx is available (drivers/spi/spi-mt65xx.c) https://github.com/TeamYogaBlade2/linux/issues/8
(DMA) N downstream mediatek/platform/mt6589/kernel/core/mt_dma.c mediatek/kernel/drivers/usb20/musbhsdma.c https://github.com/TeamYogaBlade2/linux/issues/3
Battery N
Sensors N Accelerometer, Thermal etc...
LED N
Real Time Clock N
Vibrator N
IOMMU (M4U) N mediatek,mt2701-m4u? drivers/iommu/mtk_iommu_v1.c
Power Management N System Power Manager, mediatek/platform/mt6589/kernel/core/mt_spm.c
PMIC Wrap N mediatek,mt6589-pwrap drivers/soc/mediatek/mtk-pmic-wrap.c MT6320 https://github.com/TeamYogaBlade2/linux/tree/dev/v6.16/mt6320
Display N mediatek,mt6589-dsi drivers/gpu/drm/mediatek/mtk_dsi.c
Vcodec - Encode N
Vcodec - Decode N
eFuse N mediatek,efuse? drivers/nvmem/mtk-efuse.c
PWM N

table items: https://wiki.postmarketos.org/wiki/MediaTek_Helio_P35_(MT6765)#Mainline

all features: https://github.com/TeamYogaBlade2/android_kernel_lenovo_b8000-jellybean_osc/blob/main/mediatek/platform/mt6589/kernel/core/mt_devs.c

mediatek/custom/lenovo89_tb_x8_jb2/kernel/core/src/board-custom.h

https://github.com/TeamYogaBlade2/android_kernel_lenovo_b8000-jellybean_osc/blob/main/mediatek/platform/mt6589/kernel/core/core.c

IO memory starts from 0x10000000. https://github.com/TeamYogaBlade2/linux/issues/2#issuecomment-3264247659

irqs: https://github.com/TeamYogaBlade2/android_kernel_lenovo_b8000-jellybean_osc/blob/main/mediatek/platform/mt6589/kernel/core/include/mach/mt_irq.h

mt6582 clock: https://github.com/cristianc/u-boot-mt65xx/blob/mt6582-1st/drivers/clk/mediatek/clk-mt6582.c

Previous research:

Board

The kernel that incorporates all the necessary drivers will be larger than the boot/recovery partition (6MiB) and is currently unbootable. Also, LittleKernel probably doesn't support Device Tree. Please wait for the U-Boot port to be completed.

b8000-f

Device Tree : arch/arm/boot/dts/mediatek/mt6589-lenovo-blade-b8000-f.dts

P

feature state driver info dev
Display P simple-framebuffer Simple-framebuffer works. backlight is broken. https://github.com/TeamYogaBlade2/android_kernel_lenovo_b8000-jellybean_osc/issues/1
Touchscreen N syna,rmi4-i2c S7300 (Synaptics ClearPad 7300), RMI4 protocol, i2c-0/0-0038
Camera - Lens N FM50AF, i2c-1/1-0018
Camera - Calibration N CAM_CAL_DRV, i2c-1/1-0036
Camera - EEPROM N dummy_eeprom, i2c-1/1-0050 (maybe not needed)
Camera - Hardware N kd_camera_hw, i2c-1/1-007f
Camera - Hardware 2 N kd_camera_hw_bus2, i2c-2/2-007f
Accelerometer N bosch,bma255 BMA255, i2c-3/3-0011
Magnetometer N bosch,bmm150 bmm050, i2c-3/3-0013
Ambient Light Sensor N AL3320B, i2c-3/3-001c
Fuel Gauge N ti,bq27541 mainline, i2c-4
Battery Charger N ti,bq24196 mainline, i2c-6 https://github.com/torvalds/linux/commit/13961ef828cbc254cc272221b7fc54851caa39a7

b8000-h

N/A

b6000-f, b6000-h

N/A

Clone this wiki locally