Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
81e6536
wip: MT6589 USB bringup
akku1139 Jan 11, 2026
d1c5a65
arm: defconfig: lenovo-blade: add usb related configs
akku1139 Jan 11, 2026
5a9c458
arm: dts: mediatek: lenovo-blade-b8000-f: add usb pio note
akku1139 Jan 12, 2026
cde6c23
arm: dts: mediatek: mt6589: fix pinctrl reg
akku1139 Jan 12, 2026
1b1d0dd
arm: dts: mt6589: restore usb clocks
akku1139 Jan 12, 2026
c1fd146
wip: usb
akku1139 Jan 12, 2026
12db921
arm: dts: mediatek: mt6589-lenovo-blade-b8000-f: fix gpio pin
akku1139 Jan 18, 2026
e57c729
Merge branch 'blade/v6.16' into dev/v6.16/mt6589-usb
akku1139 Jan 18, 2026
fe967ea
arm: configs: lenovo-blade_defconfig: enable debugfs
akku1139 Jan 18, 2026
7fa57ea
wip: wip
akku1139 Jan 18, 2026
f2c9aa1
wip: mt6589 pinctrl-v2
akku1139 Jan 25, 2026
3c4cc40
pinctrl: mediatek: common-v2: add DRV_GRP5 in enum
akku1139 Feb 26, 2026
004391f
pinctrl: mediatek: common-v2: add DRV_GRP5 def
akku1139 Feb 26, 2026
01b5f6f
wip: todo
akku1139 Feb 26, 2026
aea071b
pinctrl: mediatek: mt6589: fix drive
akku1139 Feb 26, 2026
ea5a903
pinctrl: mediatek: mt6589: fix fix
akku1139 Feb 26, 2026
0854556
REVERT: pinctrl: mediatek: common-v1: introduce per-function
akku1139 Mar 2, 2026
b6969bf
dt-bindings: mfd: syscon: remove mediatek,mt6589-pctl-[ab]-syscfg
akku1139 Mar 2, 2026
67219cf
dt-bindings: pinctrl: mediatek: remove mediatek,mt6589-pinctrl
akku1139 Mar 2, 2026
8372fbc
pinctrl: mediatek: mt6589: wip wip
akku1139 Mar 2, 2026
b2a1643
pinctrl: mediatek: mt6589: add R0
akku1139 Mar 2, 2026
7847327
pinctrl: mediatek: mt6589: cleanup
akku1139 Mar 2, 2026
48679c1
arm: dts: mediatek: mt6589: change pio to v2
akku1139 Mar 2, 2026
9f74dcf
arm: dts: mediatek: mt6589: DRV+SR
akku1139 Mar 2, 2026
676a820
arm: dts: mediatek: mt6589: reduce lines
akku1139 Mar 2, 2026
a50aafc
pinctrl: mediatek: mt6589: reduce more lines
akku1139 Mar 2, 2026
9afe5bf
pinctrl: mediatek: mt6589: note
akku1139 Mar 2, 2026
b2feb53
dt-bindings: pinctrl: mediatek: add mt6589 pinctrl (wip)
akku1139 Mar 2, 2026
e51be8b
pinctrl: mediatek: mt6589: remove tdsel/rdsel
akku1139 Mar 2, 2026
b0edaf6
pinctrl: mediatek: mt6589: clean
akku1139 Mar 2, 2026
36f10e6
pinctrl: mediatek: mt6589: cleanup header
akku1139 Mar 2, 2026
f0fee11
pinctrl: mediatek: mt6589: add funcs
akku1139 Mar 2, 2026
b3a8531
clk: mediatek: mt6589: reindex clock ids
akku1139 Mar 3, 2026
6d26bc1
pinctrl: mediatek: mt6589: fix
akku1139 Mar 3, 2026
39506e8
Merge branch 'dev/v6.16/mt6589-pinctrl-v2' into dev/v6.16/mt6589-usb
akku1139 Mar 3, 2026
8cea307
arm: dts: mediatek: mt6589-lenovo-blade-b8000-f: gpio note
akku1139 Mar 4, 2026
4a86207
arm: dts: mediatek: mt6589: lenovo-blade-b8000-f: remove dbg
akku1139 Mar 4, 2026
76a458b
pinctrl: mediatek: mt6589: fix eintmux
akku1139 Mar 4, 2026
d5c242a
Merge remote-tracking branch 'origin/dev/v6.16/mt6589-pinctrl-v2' int…
akku1139 Mar 4, 2026
325d7b1
arm: dts: mediatek: fix eint34 conflict
akku1139 Mar 4, 2026
cd1217e
arm: dts: mediatek: mt6589: lenovo-blade-b8000-f: fix?
akku1139 Mar 4, 2026
dfc5dfe
arm: dts: mediatek: mt6589: Dr. clk26m technique (but not working)
akku1139 Mar 4, 2026
ab55ba9
arm: dts: mediatek: mt6589: lenovo-blade-b8000-f: fix pin
akku1139 Mar 4, 2026
f6eae3f
arm: dts: mediatek: mt6589: yes, usb is not working
akku1139 Mar 4, 2026
628d073
Merge branch 'blade/v6.16' into dev/v6.16/mt6589-usb
akku1139 Mar 8, 2026
9c09aae
Merge branch 'blade/v6.16' into dev/v6.16/mt6589-usb
akku1139 Mar 14, 2026
d33ef6e
arm: defconfig: lenovo-blade: fix merge miss
akku1139 Mar 17, 2026
36e47e9
Merge branch 'blade/v6.16' into dev/v6.16/mt6589-usb
akku1139 Mar 17, 2026
a226579
arm: dts: mediatek: lenovo-b8000-f: fix pio macro
akku1139 Mar 17, 2026
fd1ff1d
arm: defconfig: lenovo-blade: usb usb usb
akku1139 Mar 17, 2026
ad1de90
arm: dts: mediatek: mt6589: usb usb usb usb
akku1139 Mar 17, 2026
f0f3485
arm: dts: mediatek: mt6589: add usb resets
akku1139 Mar 24, 2026
7371de7
arm: defconfig: lenovo-blade: fix for usb ethernet
akku1139 Apr 6, 2026
83e242a
wip wip lol
akku1139 Apr 6, 2026
dd5d066
arm: dts: mt6589: disable usb1
akku1139 Apr 6, 2026
334e77f
arm: defconfig: lenovo-blade: add more usb features
akku1139 Apr 6, 2026
cc422e3
some fix
akku1139 Apr 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/phy/mediatek,tphy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ properties:
- items:
- enum:
- mediatek,mt2701-tphy
- mediatek,mt6589-tphy
- mediatek,mt7623-tphy
- mediatek,mt7622-tphy
- mediatek,mt8516-tphy
Expand Down
1 change: 1 addition & 0 deletions Documentation/devicetree/bindings/usb/mediatek,musb.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ properties:
- enum:
- mediatek,mt8516-musb
- mediatek,mt2701-musb
- mediatek,mt6589-musb
- mediatek,mt7623-musb
- const: mediatek,mtk-musb

Expand Down
38 changes: 36 additions & 2 deletions arch/arm/boot/dts/mediatek/mt6589-lenovo-b8000-f.dts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
* Copyright (c) 2026 Akari Tsuyukusa <akkun11.open@gmail.com>
*/

#include "mt6589-lenovo-b8000.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/pinctrl/mt6589-pinfunc.h>
#include "mt6589-lenovo-b8000.dtsi"

/ {
model = "Lenovo YOGA Tablet 10 (Wi-Fi)";
Expand Down Expand Up @@ -54,7 +55,7 @@

/* SD Card */
&mmc1 {
status = "okay";
// status = "okay";
pinctrl-names = "default", "state_uhs";
pinctrl-0 = <&mmc1_pins_default>;
pinctrl-1 = <&mmc1_pins_uhs>;
Expand All @@ -68,3 +69,36 @@
vmmc-supply = <&reg_3p3v>;
vqmmc-supply = <&reg_3p3v>;
};

&pio {
usb_pins: usb-pins {
pins_iddig {
pinmux = <MT6589_GPIO57__FUNC_IDDIG>;
bias-pull-up;
};

eint34_conflict {
pinmux = <MT6589_GPIO48__FUNC_GPIO48>;
input-enable;
bias-disable;
};

pins_drvvbus {
pinmux = <MT6589_GPIO130__FUNC_USB_DRVVBUS>;
};
};
};

&usb0 {
status = "okay";
dr_mode = "otg";
usb-role-switch;

connector {
compatible = "gpio-usb-b-connector", "usb-b-connector";
type = "micro";
id-gpios = <&pio 57 GPIO_ACTIVE_LOW>;
pinctrl-names = "default";
pinctrl-0 = <&usb_pins>;
};
};
69 changes: 69 additions & 0 deletions arch/arm/boot/dts/mediatek/mt6589.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/mt6589-clk.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/pinctrl/mt6589-pinfunc.h>
#include <dt-bindings/reset/mt6589-resets.h>

/ {
#address-cells = <1>;
Expand Down Expand Up @@ -389,6 +391,73 @@
status = "disabled";
};

/* USB 2.0 */
usb0: usb@11200000 {
compatible = "mediatek,mt6589-musb",
"mediatek,mtk-musb";
reg = <0x11200000 0x1000>;
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
interrupt-names = "mc";
phys = <&usb_port0 PHY_TYPE_USB2>;
dr_mode = "otg";
/* FIXME: clocks */
clocks = <&pericfg CLK_PERI0_USB0>,
<&clk26m>,
<&topckgen CLK_TOP_UNIVPLL_D26>;
clock-names = "main", "mcu", "univpll";
resets = <&pericfg MT6589_PERI_USB_SW_RST>;
reset-names = "hrst";
status = "disabled";
};

/* USB 1.1 - MUSBFSH*/
/*
usb1: usb@11210000 {
compatible = "mediatek,mt6589-musb",
"mediatek,mtk-musb";
reg = <0x11210000 0x1000>;
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_LOW>;
interrupt-names = "mc";
phys = <&usb_port1 PHY_TYPE_USB2>;
dr_mode = "otg";
clocks = <&pericfg CLK_PERI0_USB1>,
<&clk26m>,
<&topckgen CLK_TOP_UNIVPLL_D26>;
clock-names = "main", "mcu", "univpll";
resets = <&pericfg MT6589_PERI_USB_SW_RST>;
reset-names = "hrst";
status = "disabled";
};
*/

u2phy0: t-phy@11220000 {
compatible = "mediatek,mt6589-tphy",
"mediatek,generic-tphy-v1";
reg = <0x11220000 0x0800>;
ranges;
status = "okay";
#address-cells = <1>;
#size-cells = <1>;

usb_port0: usb-phy@11220800 {
reg = <0x11220800 0x0100>;
clocks = <&topckgen CLK_TOP_UNIVPLL_D26>;
clock-names = "ref";
#phy-cells = <1>;
status = "okay";
};

/*
usb_port1: usb-phy@11220900 {
reg = <0x11220900 0x0100>;
clocks = <&topckgen CLK_TOP_UNIVPLL_D26>;
clock-names = "ref";
#phy-cells = <1>;
status = "disabled";
};
*/
};

mmc0: mmc@11230000 {
compatible = "mediatek,mt6589-mmc",
"mediatek,mt2701-mmc";
Expand Down
30 changes: 24 additions & 6 deletions arch/arm/configs/lenovo-blade_defconfig
Original file line number Diff line number Diff line change
Expand Up @@ -88,14 +88,29 @@ CONFIG_PINCTRL_MT6589=y
#CONFIG_DMADEVICES=y

## USB
CONFIG_USB=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_GADGET=y
CONFIG_USB=y
CONFIG_USB_CONFIGFS=y
CONFIG_USB_MUSB_HDRC=y
CONFIG_USB_MUSB_MEDIATEK=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_USB_SERIAL=y
#CONFIG_PHY_MTK_TPHY=y # is needed?
CONFIG_PHY_MTK_TPHY=y
CONFIG_USB_INVENTRA_DMA=y
CONFIG_USB_CONN_GPIO=y
CONFIG_USB_GPIO_VBUS=y
CONFIG_USB_OTG=y
CONFIG_USB_CONFIGFS_NCM=y
CONFIG_USB_NET_DRIVERS=y
#CONFIG_USB_ETH=y
CONFIG_USB_CONFIGFS_ECM=y
#CONFIG_USB_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
CONFIG_USB_CONFIGFS_SERIAL=y
CONFIG_USB_CONFIGFS_ACM=y
CONFIG_U_SERIAL_CONSOLE=y


## MMC (eMMC/SD)
CONFIG_MMC=y
Expand All @@ -119,12 +134,12 @@ CONFIG_BMC150_MAGN_I2C=y
## Reset
#CONFIG_RESET_CONTROLLER

## Battery

## Regulator
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y

## Battery

## Audio

## Video Accelerator
Expand All @@ -134,7 +149,11 @@ CONFIG_REGULATOR_FIXED_VOLTAGE=y

## Networking
CONFIG_NET=y
CONFIG_INET=y
CONFIG_IPV6=y
CONFIG_UNIX=y
CONFIG_NETDEVICES=y
CONFIG_PACKET=y

## Wi-Fi / Bluetooth

Expand Down Expand Up @@ -169,12 +188,11 @@ CONFIG_BLK_DEV_LOOP=y

### FS
CONFIG_UNICODE=y
CONFIG_EXT4_FS=y
CONFIG_DEBUG_FS=y
CONFIG_EXT4_FS=y
CONFIG_VFAT_FS=y
# VFAT
CONFIG_NLS_CODEPAGE_437=y
# VFAT
CONFIG_NLS_ISO8859_1=y
CONFIG_TMPFS=y
# pmOS
Expand Down
3 changes: 2 additions & 1 deletion drivers/pinctrl/mediatek/pinctrl-mtk-mt6589.h
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,8 @@ static const struct mtk_pin_desc mtk_pins_mt6589[] = {
),
MTK_PIN(
48, "GPIO48",
MTK_EINT_FUNCTION(2, 34),
//MTK_EINT_FUNCTION(2, 34),
MTK_EINT_FUNCTION(2, 81), // fake
DRV_GRP1,
MTK_FUNCTION(0, "GPIO48"),
MTK_FUNCTION(1, "MD1_SIM2_SRST"),
Expand Down