krane: enable USB xHCI, T-PHY and USB keyboard for the pogo keyboard
The pogo keyboard is a USB HID device behind the GL610 hub on usb@11200000. Enable the USB stack (USB, DM_USB, USB_XHCI_HCD, USB_XHCI_MTK, USB_STORAGE, CMD_USB), the MTK T-PHY (PHY_MTK_TPHY), USB_KEYBOARD and CONFIG_USE_PREBOOT (preboot defaults to "usb start" with USB_KEYBOARD) so the bus is enumerated before the prompt. The upstream mt8183.dtsi models the SSUSB block for the Linux mtu3 dual-role driver: the IPPC register space and the phys live on the parent mtu3 node while the xhci child has only its "mac" register. U-Boot binds the "mediatek,mtk-xhci" child directly and expects mac+ippc and a phys list on that node, so add a board -u-boot.dtsi overlay (auto-included after the upstream dts) that supplies them. No upstream DT files are modified. stdin=serial,usbkbd routes the prompt through the USB keyboard once the usb_kbd stdio device is registered.
This commit is contained in:
@@ -0,0 +1,23 @@
|
|||||||
|
// SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
|
||||||
|
/*
|
||||||
|
* U-Boot-only additions for the MT8183 Kukui (krane) boards.
|
||||||
|
*
|
||||||
|
* The upstream mt8183.dtsi models the SSUSB block for the Linux mtu3
|
||||||
|
* dual-role driver: the IPPC register space and the phys are declared
|
||||||
|
* on the parent "mediatek,mtu3" node (ssusb@11201000), and the host
|
||||||
|
* child (usb@11200000) carries only its "mac" register.
|
||||||
|
*
|
||||||
|
* U-Boot has no mtu3 driver; it binds the "mediatek,mtk-xhci" child
|
||||||
|
* directly with drivers/usb/host/xhci-mtk.c, which expects the "mac"
|
||||||
|
* and "ippc" register names and a phys list on the xHCI node itself.
|
||||||
|
* Add the missing ippc address (taken from the ssusb node's "ippc"
|
||||||
|
* reg entry) and the port phys there.
|
||||||
|
*/
|
||||||
|
|
||||||
|
&usb_host {
|
||||||
|
reg = <0x0 0x11200000 0x0 0x1000>,
|
||||||
|
<0x0 0x11203e00 0x0 0x0100>;
|
||||||
|
reg-names = "mac", "ippc";
|
||||||
|
phys = <&u2port0 PHY_TYPE_USB2>,
|
||||||
|
<&u3port0 PHY_TYPE_USB3>;
|
||||||
|
};
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
stdin=serial
|
stdin=serial,usbkbd
|
||||||
stdout=serial,vidconsole
|
stdout=serial,vidconsole
|
||||||
stderr=serial,vidconsole
|
stderr=serial,vidconsole
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ CONFIG_HUSH_PARSER=y
|
|||||||
# CONFIG_CMD_GO is not set
|
# CONFIG_CMD_GO is not set
|
||||||
# CONFIG_CMD_IMI is not set
|
# CONFIG_CMD_IMI is not set
|
||||||
CONFIG_BOOTDELAY=-1
|
CONFIG_BOOTDELAY=-1
|
||||||
|
CONFIG_USE_PREBOOT=y
|
||||||
CONFIG_BOARD_EARLY_INIT_F=y
|
CONFIG_BOARD_EARLY_INIT_F=y
|
||||||
CONFIG_BOARD_EARLY_INIT_R=y
|
CONFIG_BOARD_EARLY_INIT_R=y
|
||||||
CONFIG_MISC_INIT_R=y
|
CONFIG_MISC_INIT_R=y
|
||||||
@@ -60,6 +61,7 @@ CONFIG_CMD_SYSBOOT=y
|
|||||||
CONFIG_CMD_EXT4=y
|
CONFIG_CMD_EXT4=y
|
||||||
CONFIG_CMD_FAT=y
|
CONFIG_CMD_FAT=y
|
||||||
CONFIG_CMD_FS_GENERIC=y
|
CONFIG_CMD_FS_GENERIC=y
|
||||||
|
CONFIG_CMD_USB=y
|
||||||
# CONFIG_DOS_PARTITION is not set
|
# CONFIG_DOS_PARTITION is not set
|
||||||
CONFIG_ENV_IS_NOWHERE=y
|
CONFIG_ENV_IS_NOWHERE=y
|
||||||
CONFIG_ENV_SOURCE_FILE="krane"
|
CONFIG_ENV_SOURCE_FILE="krane"
|
||||||
@@ -70,6 +72,14 @@ CONFIG_VIDEO_MT8183_SCANOUT=y
|
|||||||
# CONFIG_INPUT is not set
|
# CONFIG_INPUT is not set
|
||||||
# CONFIG_MMC_QUIRKS is not set
|
# CONFIG_MMC_QUIRKS is not set
|
||||||
CONFIG_MMC_MTK=y
|
CONFIG_MMC_MTK=y
|
||||||
|
CONFIG_PHY=y
|
||||||
|
CONFIG_PHY_MTK_TPHY=y
|
||||||
|
CONFIG_USB=y
|
||||||
|
CONFIG_DM_USB=y
|
||||||
|
CONFIG_USB_XHCI_HCD=y
|
||||||
|
CONFIG_USB_XHCI_MTK=y
|
||||||
|
CONFIG_USB_KEYBOARD=y
|
||||||
|
CONFIG_USB_STORAGE=y
|
||||||
# CONFIG_POWER is not set
|
# CONFIG_POWER is not set
|
||||||
CONFIG_BAUDRATE=921600
|
CONFIG_BAUDRATE=921600
|
||||||
CONFIG_DM_SERIAL=y
|
CONFIG_DM_SERIAL=y
|
||||||
|
|||||||
Reference in New Issue
Block a user