| JTY D101 | Lenovo A369i | Energy Phone Colors | Prestigio PAP5500 DUO | |
|---|---|---|---|---|
| DRM | π’ OK, needs panel improvements (power up/down) | π’ OK, needs sane panel | π‘ partial: needs panel fixes | π’ OK, needs panel improvements (power up/down) |
| display brightness | π΄ DEAD | π΄ DEAD | π΄ DEAD | π΄ DEAD |
| vol +/- keys: mediatek,mt6779-keypad | π’ OK | π΄ TBD | π΄ TBD | π΄ TBD |
| power key: mediatek,mt6323-keys | π’ OK | π’ OK | π΄ TBD | π΄ TBD |
| haptics: regulator-haptic | π’ OK | π΄ TBD | π΄ TBD | π΄ TBD |
| charger | π΄ DEAD | π΄ DEAD | π΄ DEAD | π΄ DEAD |
| JTY D101 | Lenovo A369i | Energy Phone Colors | Prestigio PAP5500 DUO | |
|---|---|---|---|---|
| touchscreen | π΄ DEAD | π΄ DEAD | π΄ DEAD | π’ OK: goodix,gt911 |
| panel | π‘ partial: needs power cycle seqs | π΄ DEAD: garbage panel IC | π‘ partial: needs panel fixes | π‘ partial: garbage panel IC |
everything marked with 'needs upstreaming' means it's not existent in the upstream
| component | driver | status | note |
|---|---|---|---|
| SMP | arch/arm/mach-mediatek/platsmp.c | π’ OK | |
| cpufreq | drivers/cpufreq/mediatek-cpufreq.c | π’ OK | |
| hotplug | arch/arm/mach-mediatek/platsmp.c | π’ OK | needs upstreaming |
| cpuidle | π΄ DEAD | probably needs new driver, wfi may work | |
| PMU | arm,cortex-a7-pmu | π΄ DEAD | low priority, should be easy to port |
| component | driver | status | note |
|---|---|---|---|
| APXGPT | mediatek,mt6577-timer | π’ OK | |
| arch timer | arm,armv7-timer | π’ OK | needs fix upstreaming |
all of these need upstreaming
| component | driver | status | note |
|---|---|---|---|
| topckgen | mediatek,mt6572-topckgen | π’ OK | |
| infracfg | mediatek,mt6572-infracfg | π’ OK | |
| apmixed | mediatek,mt6572-apmixedsys | π’ OK | |
| fhctl | subset of apmixed iirc | π΄ DEAD | not sure if we really need it |
| mmsys | mediatek,mt6572-mmsys | π‘ partial | some dbi clocks from cg1 are missing |
| mfgcfg | mediatek,mt6572-mfgcfg | π’ OK | |
| audio | π΄ DEAD | not needed for now, can't test |
missing emmc r1r0 pins, needs upstreaming
| component | driver | status | note |
|---|---|---|---|
| UART | mediatek,mt6577-uart | π’ OK | |
| I2C | mediatek,mt6572-i2c | π’ OK | needs upstreaming |
| SPI | π΄ DEAD | ||
| USB | mediatek,mtk-musb | π’ OK | |
| USB PHY | mediatek,generic-tphy-v1 | π’ OK |
| component | driver | status | note |
|---|---|---|---|
| pwrap | mediatek,mt6572-pwrap | π’ OK | needs upstreaming |
| power domain | mediatek,mt6572-power-controller | π‘ partial | only disp and mfg pds work |
| component | driver | status | note |
|---|---|---|---|
| regulators | mediatek,mt6323-regulator | π’ OK | |
| efuse | mediatek,mt6323-efuse | π’ OK | needs upstreaming |
| thermal | mediatek,mt6323-thermal | π’ OK | needs upstreaming, also tested on mt8163 |
| ADC | mediatek,mt6323-auxadc | π’ OK | needs upstreaming, needs cleanup a bit |
| fuel gauge | π΄ DEAD | needs new driver |
using upstream driver
| component | driver | status | note |
|---|---|---|---|
| eMMC | mediatek,mt2701-mmc | π’ OK | no PMT parser yet |
| microSD | mediatek,mt2701-mmc | π’ OK | |
| NAND | π΄ DEAD | no known device with NAND |
misc SoC components without category
| component | driver | status | note |
|---|---|---|---|
| interrupt parent | mediatek,mt6577-sysirq | π’ OK | |
| reset controller | mediatek,mt6572-wdt | π’ OK | needs upstreaming |
| cpu core control | mediatek,mt6572-mcusys | dummy compatible, used for hotplug | |
| efuse | mediatek,mt8173-efuse | π’ OK | needs upstreaming |
| ADC | mediatek,mt8173-auxadc | π’ OK | |
| thermal | mediatek,mt6572-thermal | π‘ partial | temperature is higher (?) than actual, needs upstreaming |
| component | driver | status | note |
|---|---|---|---|
| MMSYS | drivers/soc/mediatek/mtk-mmsys.c: mediatek,mt6572-mmsys | π‘ partial | no cmdq, needs upstreaming and routing table cleanup |
| DRM | drivers/gpu/drm/mediatek/mtk_drm_drm.c: mediatek,mt6572-mmsys | π‘ partial | currently falls back to mt2701 plat data, needs own data because we have only 1 rdma |
| IOMMU | mediatek,mt6572-m4u | π’ OK | needs upstreaming |
| SMI | mediatek,mt6572-smi-common | π’ OK | needs upstreaming |
| LARB | mediatek,mt6572-smi-larb | π’ OK | needs upstreaming |
| overlay | mediatek,mt6572-disp-ovl | π’ OK | needs upstreaming |
| read DMA | mediatek,mt6572-disp-rdma | π’ OK | needs upstreaming |
| write DMA | π΄ DEAD | no driver | |
| BLS | mediatek,mt2701-disp-pwm | π‘ partial | brightness doesn't work, needs some fixes and likely new compatible |
| color correction | mediatek,mt2701-disp-color | π’ OK | |
| DSI | mediatek,mt6572-dsi | π‘ partial | needs upstreaming, vblank timeout before drm inits (observed on mt8163 and mt6735 too), might be compatible with mt2701, needs checking |
| DSI PHY | mediatek,mt2701-mipi-tx | π’ OK | |
| DBI | π΄ DEAD | no known device with DBI display, can't test/port | |
| DPI | π΄ DEAD | no known device with DPI display, can't test/port | |
| hw mutex | mediatek,mt6572-disp-mutex | π‘ partial | needs upstreaming, missing mdp ids |
| CMDQ | π΄ DEAD | cmdq is very different from gce, needs lot of drm hacking to make it work | |
| GPU | arm,mali-400 | π’ OK |
this is so i can track who contributed to this kernel fork
- CustomFirmwareDev - i2c dma fix, Prestigio PAP5500 DUO support
there's no upstream support OR they need some effort to make them working
| component | similar driver | note |
|---|---|---|
| read DMA | mediatek,mt8183-mdp3-rdma | |
| resize | mediatek,mt8183-mdp3-rsz | |
| write DMA | mediatek,mt8183-mdp3-wdma | |
| sharpness | mediatek,mt8195-mdp3-tdshp |
non existent in the upstream
mostly useless i'd say, they're not full hw engines but rather only parts of the process. not worth the effort
not existent in the upstream
needs afe/i2s/etc drivers
it seems to be clock + reset controller for NAND and USB
EMI has performance monitoring + bw limiter
might be not worth the effort because it's pretty slow compared to software
bus violation monitor? not sure if we really need it, but should be pretty easy to port
downstrema calls it APARM_BASE and maps as infrasys? used for watchpoint and breakpoint