Lenovo YOGA Tablet 10 (Wi-Fi) - B8000-F is a tablet which belongs
to the "blade" product family. It is powered by MT8125 SoC,
which is the tablet version of MediaTek MT6589, and has 1GB RAM.
Like other devices in the "blade" family, it uses a framebuffer
initialized by the bootloader at a consistent memory address and size.
This patch adds basic support including UART and simple-framebuffer.
Signed-off-by: Akari Tsuyukusa <akkun11.open@gmail.com>
---
arch/arm/boot/dts/mediatek/Makefile | 1 +
.../dts/mediatek/mt6589-lenovo-b8000-f.dts | 15 +++++++
.../dts/mediatek/mt6589-lenovo-blade.dtsi | 39 +++++++++++++++++++
3 files changed, 55 insertions(+)
create mode 100644 arch/arm/boot/dts/mediatek/mt6589-lenovo-b8000-f.dts
create mode 100644 arch/arm/boot/dts/mediatek/mt6589-lenovo-blade.dtsi
diff --git a/arch/arm/boot/dts/mediatek/Makefile b/arch/arm/boot/dts/mediatek/Makefile
index 37c4cded0eae..b67b94b7cbd0 100644
--- a/arch/arm/boot/dts/mediatek/Makefile
+++ b/arch/arm/boot/dts/mediatek/Makefile
@@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
mt6582-prestigio-pmt5008-3g.dtb \
mt6589-aquaris5.dtb \
mt6589-fairphone-fp1.dtb \
+ mt6589-lenovo-b8000-f.dtb \
mt6592-evb.dtb \
mt7623a-rfb-emmc.dtb \
mt7623a-rfb-nand.dtb \
diff --git a/arch/arm/boot/dts/mediatek/mt6589-lenovo-b8000-f.dts b/arch/arm/boot/dts/mediatek/mt6589-lenovo-b8000-f.dts
new file mode 100644
index 000000000000..2a83e023d2f2
--- /dev/null
+++ b/arch/arm/boot/dts/mediatek/mt6589-lenovo-b8000-f.dts
@@ -0,0 +1,15 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/*
+ * Copyright (c) 2026 Akari Tsuyukusa <akkun11.open@gmail.com>
+ */
+
+#include "mt6589-lenovo-blade.dtsi"
+
+/ {
+ model = "Lenovo YOGA Tablet 10 (Wi-Fi)";
+ compatible = "lenovo,b8000-f", "lenovo,blade", "mediatek,mt6589";
+};
+
+&uart0 {
+ status = "okay";
+};
diff --git a/arch/arm/boot/dts/mediatek/mt6589-lenovo-blade.dtsi b/arch/arm/boot/dts/mediatek/mt6589-lenovo-blade.dtsi
new file mode 100644
index 000000000000..99af92539e93
--- /dev/null
+++ b/arch/arm/boot/dts/mediatek/mt6589-lenovo-blade.dtsi
@@ -0,0 +1,39 @@
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+/*
+ * Copyright (c) 2026 Akari Tsuyukusa <akkun11.open@gmail.com>
+ */
+
+/dts-v1/;
+#include "mt6589.dtsi"
+
+/ {
+ compatible = "lenovo,blade", "mediatek,mt6589";
+
+ chosen {
+ framebuffer0: framebuffer@bf600000 {
+ compatible = "simple-framebuffer";
+ memory-region = <&framebuffer_reserved>;
+ width = <1280>;
+ height = <800>;
+ stride = <(1280 * 2)>;
+ format = "r5g6b5";
+ };
+ };
+
+ memory@0x80000000 {
+ device_type = "memory";
+ reg = <0x80000000 0x40000000>;
+ };
+
+ reserved-memory {
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ ranges;
+
+ framebuffer_reserved: memory@bf600000{
+ reg = <0xbf600000 0xa00000>;
+ no-map;
+ };
+ };
+};
--
2.52.0
Il 04/03/26 20:24, Akari Tsuyukusa ha scritto: > Lenovo YOGA Tablet 10 (Wi-Fi) - B8000-F is a tablet which belongs > to the "blade" product family. It is powered by MT8125 SoC, > which is the tablet version of MediaTek MT6589, and has 1GB RAM. > > Like other devices in the "blade" family, it uses a framebuffer > initialized by the bootloader at a consistent memory address and size. > This patch adds basic support including UART and simple-framebuffer. Okay, but this is just a simple framebuffer and a UART; while it may be in some way useful, there's already one device based on MT6589 that was upstreamed with just a framebuffer and a serial port, but then didn't receive any more support. Could you please extend your efforts a little and push at least some support for clock controllers and power domains for the MT6589 SoC to make it at least barely useful? P.S.: My intention is not to block you; I very much welcome efforts to upstream smartphones and tablets, but that has to be real upstreaming ;-) Cheers, Angelo
Hi Angelo, thanks for the feedback. On Thu, Mar 5, 2026 at 6:46 PM AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> wrote: > Okay, but this is just a simple framebuffer and a UART; while it may be in some > way useful, there's already one device based on MT6589 that was upstreamed with > just a framebuffer and a serial port, but then didn't receive any more support. > > Could you please extend your efforts a little and push at least some support for > clock controllers and power domains for the MT6589 SoC to make it at least barely > useful? Your point is valid. I saw similar minimal Device Trees in "arch/arm/boot/dts/mediatek/" . Currently, I am actively working on MT6589 kernel mainlining and Lenovo YOGA Tablet support, so I submitted this patch as initial support for this device. I will send patches to add the following features in the near future (preferably within this month): - Clock I wrote drivers and they seem to be working. However, some parent clocks are unknown. - Pinctrl I refactored it to common-v2, paris and it's working. A little more work is needed to add support for R0, TDSEL, RDSEL, and device tree binding. - PWRAP and MT6320 PMIC RTC PWRAP is working fine. This seems to be almost the same as MT8135. MT6320 PMIC has confirmed RTC operation, but it will take a little more time as I haven't written the regulator driver yet. Additional time is required to add the following features: - Power Domains (scpsys) I've written a driver, but I haven't checked that it works yet. And, some features are missing for full support. - eMMC/SD (MSDC) Likely compatible with "mtk-sd.c". I have written in Device Tree, but it is not working on the device. It needs debug mode. - USB Almost certainly compatible with "mediatek,mtk-musb" and "mediatek,generic-tphy-v1". The device is not recognized by the PC, and there are logs saying "couldn't find an available UDC". It may take more time. - UART DMA Boots without any errors, but I can't confirm its operation because I haven't soldered UART. - I2C I don't know the details, but the clock is supplied from the PMIC, but PMIC clock driver does not exist. Fortunately, MediaTek engineers implemented MT6589 compatibility in the I2C driver (but it is not added in the MT6589 Device Tree). - I2C devices (only in mainline) Touchscreen: syna,rmi4-i2c Accelerometer: bosch,bma255 Magnetometer: bosch,bmm150 Fuel Gauge: ti,bq27541 Battery Charger: ti,bq24196 - SPI Like I2C, there is a driver (it seems that the PMIC clock is not required for SPI), but I don't know what devices are connected. I am committed to making MT6589 and the Lenovo YOGA Tablet fully functional in the mainline kernel. I will send these additional patches as soon as they are ready for review. Best regards, Akari
Il 05/03/26 16:49, Akari Tsuyukusa ha scritto: > Hi Angelo, thanks for the feedback. > > On Thu, Mar 5, 2026 at 6:46 PM AngeloGioacchino Del Regno > <angelogioacchino.delregno@collabora.com> wrote: >> Okay, but this is just a simple framebuffer and a UART; while it may be in some >> way useful, there's already one device based on MT6589 that was upstreamed with >> just a framebuffer and a serial port, but then didn't receive any more support. >> >> Could you please extend your efforts a little and push at least some support for >> clock controllers and power domains for the MT6589 SoC to make it at least barely >> useful? > > Your point is valid. I saw similar minimal Device Trees in > "arch/arm/boot/dts/mediatek/" . Currently, I am actively working on > MT6589 kernel mainlining and Lenovo YOGA Tablet support, so I submitted > this patch as initial support for this device. > > I will send patches to add the following features in the near future > (preferably within this month): > > - Clock > I wrote drivers and they seem to be working. > However, some parent clocks are unknown. Ouch. Well, it's mostly done then, hopefully sooner than later :-) > > - Pinctrl > I refactored it to common-v2, paris and it's working. > A little more work is needed to add support for R0, TDSEL, RDSEL, and > device tree binding. Okay, almost done there too, then. > > - PWRAP and MT6320 PMIC RTC > PWRAP is working fine. This seems to be almost the same as MT8135. > MT6320 PMIC has confirmed RTC operation, but it will take a little more > time as I haven't written the regulator driver yet. > Start upstreaming the RTC (and MFD parts) right now maybe? That all depends on the actual state of things, of course. Remember that you can upstream whatever is clean and works fine, that doesn't have hard dependencies on other components. > Additional time is required to add the following features: > > - Power Domains (scpsys) > I've written a driver, but I haven't checked that it works yet. > And, some features are missing for full support. > The power domains should be handled by mtk-pm-domains.c - not sure what you wrote but if you did it on mtk-scpsys.c that's wrong. > - eMMC/SD (MSDC) > Likely compatible with "mtk-sd.c". I have written in Device Tree, but > it is not working on the device. It needs debug mode. > I can confirm that the MSDC controller in MT6589 will work with mtk-sd, there may be some very small modifications to be done.... if any. The mtk-sd driver does support "very old" SoCs already :-) > - USB > Almost certainly compatible with "mediatek,mtk-musb" and > "mediatek,generic-tphy-v1". The device is not recognized by the PC, > and there are logs saying "couldn't find an available UDC". > It may take more time. > I can suggest to try host mode. Usually that's the one that easily wants to work. That may help you to validate that the PHY is actually working. > - UART DMA > Boots without any errors, but I can't confirm its operation because > I haven't soldered UART. > UART DMA on smartphones and tablets is usually used by Bluetooth, but if your device does not have any UART DMA device, you will be unable to validate. Soldering a UART for the console won't help you to validate UART DMA, as the one you select for that excludes DMA. > - I2C > I don't know the details, but the clock is supplied from the PMIC, > but PMIC clock driver does not exist. Fortunately, MediaTek engineers > implemented MT6589 compatibility in the I2C driver (but it is not added > in the MT6589 Device Tree). > > - I2C devices (only in mainline) > Touchscreen: syna,rmi4-i2c > Accelerometer: bosch,bma255 > Magnetometer: bosch,bmm150 > Fuel Gauge: ti,bq27541 > Battery Charger: ti,bq24196 > > - SPI > Like I2C, there is a driver (it seems that the PMIC clock is not > required for SPI), but I don't know what devices are connected. > For SPI and I2C, the IPs didn't really change all that much from the old era to MT6795/MT8173, so I'm confident that you won't have any problem with the IP driver itself (be it SPI or I2C). > I am committed to making MT6589 and the Lenovo YOGA Tablet fully > functional in the mainline kernel. I will send these additional patches > as soon as they are ready for review. > I really appreciate seeing those old devices getting new life with upstream, as much as seeing new ones upstreamed. That's really nice. Keep up the good work! Cheers, Angelo
On Fri, Mar 6, 2026 at 11:06 PM AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> wrote: > Ouch. Well, it's mostly done then, hopefully sooner than later :-) Thank you for your consideration. > > - PWRAP and MT6320 PMIC RTC > Start upstreaming the RTC (and MFD parts) right now maybe? > That all depends on the actual state of things, of course. > > Remember that you can upstream whatever is clean and works fine, that doesn't > have hard dependencies on other components. mediatek,mt6397.yaml says that "regulators are needed", so I have to complete the regulator driver. It will be completed soon. > > - Power Domains (scpsys) > > The power domains should be handled by mtk-pm-domains.c - not sure what you wrote > but if you did it on mtk-scpsys.c that's wrong. Ohno! I wrote in mtk-scpsys.c, thank you for telling me about this. > > - eMMC/SD (MSDC) > I can confirm that the MSDC controller in MT6589 will work with mtk-sd, there may > be some very small modifications to be done.... if any. > The mtk-sd driver does support "very old" SoCs already :-) I forgot to add "CONFIG_REGULATOR_FIXED_VOLTAGE=y". SD is working and can boot from it. However, increasing the frequency causes errors, so adjustments are necessary. > Keep up the good work! I will continue to do my best! Further news will be sent via patch. Best regards, Akari
Il 12/03/26 05:36, Akari Tsuyukusa ha scritto: > On Fri, Mar 6, 2026 at 11:06 PM AngeloGioacchino Del Regno > <angelogioacchino.delregno@collabora.com> wrote: >> Ouch. Well, it's mostly done then, hopefully sooner than later :-) > > Thank you for your consideration. > >>> - PWRAP and MT6320 PMIC RTC >> Start upstreaming the RTC (and MFD parts) right now maybe? >> That all depends on the actual state of things, of course. >> >> Remember that you can upstream whatever is clean and works fine, that doesn't >> have hard dependencies on other components. > > mediatek,mt6397.yaml says that "regulators are needed", ARGH! Forgot about that :-) > so I have to complete the regulator driver. > It will be completed soon. > >>> - Power Domains (scpsys) >> >> The power domains should be handled by mtk-pm-domains.c - not sure what you wrote >> but if you did it on mtk-scpsys.c that's wrong. > > Ohno! I wrote in mtk-scpsys.c, thank you for telling me about this. > I really have to add a comment in that driver saying that it's deprecated and it shall never be used ever again, if not for already present legacy SoCs, which should get anyway migrated to mtk-pm-domains for good measure (but I don't have any of those, and I can't do that myself). >>> - eMMC/SD (MSDC) >> I can confirm that the MSDC controller in MT6589 will work with mtk-sd, there may >> be some very small modifications to be done.... if any. >> The mtk-sd driver does support "very old" SoCs already :-) > > I forgot to add "CONFIG_REGULATOR_FIXED_VOLTAGE=y". > SD is working and can boot from it. > However, increasing the frequency causes errors, > so adjustments are necessary. Told ya! :-) Cool to know that you're getting nicer and nicer progress over this! > >> Keep up the good work! > > I will continue to do my best! > Further news will be sent via patch. > Patiently waiting, and excited to see the news! Cheers, Angelo
© 2016 - 2026 Red Hat, Inc.