I’m enjoying with my research and learning.
I created my environment and complile version 24, after many trials, I was able to enable USB power–>then automatically USB audio chip was detected, Speaker Enable, LED close to reset button, reset button, Power for emmc, but still strungling with emmc to be able to read.
This is the DTS so far… (I’m sure a good expert can provide some adjustments, I’m just new on this)
/dts-v1/;
#include "mt7628an.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
/ {
compatible = "eufy,homebase2", "mediatek,mt7628an-soc";
model = "Eufy HomeBase 2";
chosen {
bootargs = "console=ttyS0,115200 root=/dev/mtdblock5 rootfstype=squashfs rootwait";
};
/* USB Regulator GPIO553 */
reg_usb_vbus: regulator {
compatible = "regulator-fixed";
regulator-name = "usb_vbus";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpio 41 GPIO_ACTIVE_HIGH>;
enable-active-high;
regulator-boot-on;
regulator-always-on;
};
leds {
compatible = "gpio-leds";
system {
label = "green:system";
gpios = <&gpio 42 GPIO_ACTIVE_HIGH>;
default-state = "on";
};
};
gpio-keys {
compatible = "gpio-keys";
reset {
label = "reset";
gpios = <&gpio 38 GPIO_ACTIVE_LOW>;
linux,code = <KEY_RESTART>;
};
};
};
&state_default {
gpio {
groups = "refclk", "wdt";
function = "gpio";
};
};
&pinctrl {
/* pins for SD/eMMC */
eufy_sd_pins: sd_pins {
sd_sub {
groups = "sdmode";
function = "sd";
};
};
/* Definición de pines para UART2 */
eufy_uart2_pins: uart2_pins {
uart2_sub {
groups = "uart2";
function = "uart2";
};
};
};
/* Activate UART 1 y 2 */
&uart1 { status = "okay"; };
&uart2 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&eufy_uart2_pins>;
};
/* Configuración eMMC */
&sdhci {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&eufy_sd_pins>;
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
non-removable;
};
/* WiFi y Network*/
&wmac {
status = "okay";
mediatek,mtd-eeprom = <&factory 0x0000>;
};
ðernet {
status = "okay";
mediatek,portmap = "llllw";
};
/* Memory Flash SPI */
&spi0 {
status = "okay";
flash@0 {
compatible = "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
#address-cells = <1>;
#size-cells = <1>;
partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;
partition@0 { label = "u-boot"; reg = <0x0 0x30000>; read-only; };
partition@30000 { label = "u-boot-env"; reg = <0x30000 0x10000>; read-only; };
factory: partition@40000 { label = "factory"; reg = <0x40000 0x10000>; read-only; };
partition@50000 {
label = "firmware";
reg = <0x50000 0x1fb0000>;
compatible = "denx,uimage";
};
};
};
};
/* USB PHY y Controlers */
&usbphy { status = "okay"; };
&ehci {
status = "okay";
vbus-supply = <®_usb_vbus>;
};
&ohci { status = "okay"; };
The kernel logs:
[ 0.000000] Linux version 6.6.122 (mrivilla@mrivillaT480) (mipsel-openwrt-linux-musl-gcc (OpenWrt GCC 13.3.0 r29111-5774c8b316) 13.3.0, GNU ld (GNU Binutils) 2.42) #0 Sun Feb 8 23:36:27 2026
[ 0.000000] Board has DDR2
[ 0.000000] Analog PMU set to hw control
[ 0.000000] Digital PMU set to hw control
[ 0.000000] SoC Type: MediaTek MT7628AN ver:1 eco:2
[ 0.000000] printk: bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019655 (MIPS 24KEc)
[ 0.000000] MIPS: machine is Eufy HomeBase 2
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mtdblock5 rootfstype=squashfs rootwait rootfstype=squashfs,jffs2
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes, linear)
[ 0.000000] Writing ErrCtl register=0003535b
[ 0.000000] Readback ErrCtl register=0003535b
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 32512
[ 0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[ 0.000000] Memory: 122488K/131072K available (4604K kernel code, 574K rwdata, 748K rodata, 1232K init, 198K bss, 8584K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS: 256
[ 0.000000] intc: using register map from devicetree
[ 0.000000] CPU Clock: 575MHz
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6647862422 ns
[ 0.000002] sched_clock: 32 bits at 288MHz, resolution 3ns, wraps every 7469508094ns
[ 0.007635] Calibrating delay loop... 380.92 BogoMIPS (lpj=1904640)
[ 0.073514] pid_max: default: 32768 minimum: 301
[ 0.086873] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.093936] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.112268] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.
[ 0.129232] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.138784] futex hash table entries: 256 (order: 0, 3072 bytes, linear)
[ 0.145339] pinctrl core: initialized pinctrl subsystem
[ 0.153904] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.164401] /pinctrl: Fixed dependency cycle(s) with /pinctrl/pinctrl0
[ 0.192453] clocksource: Switched to clocksource MIPS
[ 0.210931] NET: Registered PF_INET protocol family
[ 0.216016] IP idents hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.224317] tcp_listen_portaddr_hash hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.232548] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.239998] TCP established hash table entries: 1024 (order: 0, 4096 bytes, linear)
[ 0.247414] TCP bind hash table entries: 1024 (order: 1, 8192 bytes, linear)
[ 0.254233] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.260541] UDP hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.266909] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes, linear)
[ 0.274617] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.280110] PCI: CLS 0 bytes, default 32
[ 0.290280] workingset: timestamp_bits=30 max_order=15 bucket_order=0
[ 0.297279] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.302933] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[ 0.317483] mt7621_gpio 10000600.gpio: registering 32 gpios
[ 0.323466] mt7621_gpio 10000600.gpio: registering 32 gpios
[ 0.329295] mt7621_gpio 10000600.gpio: registering 32 gpios
[ 0.335619] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[ 0.350224] printk: console [ttyS0] disabled
[ 0.355213] 10000c00.uart0: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A
[ 0.363806] printk: console [ttyS0] enabled
[ 0.372216] printk: bootconsole [early0] disabled
[ 0.420032] 10000d00.uart1: ttyS1 at MMIO 0x10000d00 (irq = 29, base_baud = 2500000) is a 16550A
[ 0.431161] spi-mt7621 10000b00.spi: sys_freq: 191666666
[ 0.448615] spi-nor spi0.0: w25q256 (32768 Kbytes)
[ 0.453816] 4 fixed-partitions partitions found on MTD device spi0.0
[ 0.460712] Creating 4 MTD partitions on "spi0.0":
[ 0.465673] 0x000000000000-0x000000030000 : "u-boot"
[ 0.475124] 0x000000030000-0x000000040000 : "u-boot-env"
[ 0.483367] 0x000000040000-0x000000050000 : "factory"
[ 0.491220] 0x000000050000-0x000002000000 : "firmware"
[ 0.499419] 2 uimage-fw partitions found on MTD device firmware
[ 0.505547] Creating 2 MTD partitions on "firmware":
[ 0.510598] 0x000000000000-0x0000001cceb2 : "kernel"
[ 0.515657] mtd: partition "kernel" doesn't end on an erase/write block -- force read-only
[ 0.526832] 0x0000001cceb2-0x000001fb0000 : "rootfs"
[ 0.531917] mtd: partition "rootfs" doesn't start on an erase/write block boundary -- force read-only
[ 0.543936] mtd: setting mtd5 (rootfs) as root device
[ 0.549176] 1 squashfs-split partitions found on MTD device rootfs
[ 0.555555] 0x000000c50000-0x000001fb0000 : "rootfs_data"
[ 0.594350] rt3050-esw 10110000.esw: mediatek esw at 0xb0110000, irq 25 initialized
[ 0.602298] mtk_soc_eth 10100000.ethernet: generated random MAC address 7a:08:8d:31:5a:51
[ 0.611699] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
[ 0.623662] NET: Registered PF_INET6 protocol family
[ 0.636794] Segment Routing with IPv6
[ 0.640670] In-situ OAM (IOAM) with IPv6
[ 0.644946] NET: Registered PF_PACKET protocol family
[ 0.650177] 8021q: 802.1Q VLAN Support v1.8
[ 0.703307] clk: Disabling unused clocks
[ 0.716359] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[ 0.730544] Freeing unused kernel image (initmem) memory: 1232K
[ 0.736618] This architecture does not have kernel memory protection.
[ 0.743189] Run /sbin/init as init process
[ 0.747346] with arguments:
[ 0.747355] /sbin/init
[ 0.747364] with environment:
[ 0.747373] HOME=/
[ 0.747381] TERM=linux
[ 3.229401] init: Console is alive
[ 3.233606] init: - watchdog -
[ 6.481631] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[ 7.018733] usbcore: registered new interface driver usbfs
[ 7.024544] usbcore: registered new interface driver hub
[ 7.030152] usbcore: registered new device driver usb
[ 7.046300] button_hotplug: loading out-of-tree module taints kernel.
[ 7.053424] Button Hotplug driver version 0.4.1
[ 7.150269] SCSI subsystem initialized
[ 7.179651] phy phy-10120000.usbphy.0: remote usb device wakeup disabled
[ 7.186513] phy phy-10120000.usbphy.0: UTMI 16bit 30MHz
[ 7.191821] ehci-platform 101c0000.ehci: EHCI Host Controller
[ 7.197776] ehci-platform 101c0000.ehci: new USB bus registered, assigned bus number 1
[ 7.206015] ehci-platform 101c0000.ehci: irq 26, io mem 0x101c0000
[ 7.232481] ehci-platform 101c0000.ehci: USB 2.0 started, EHCI 1.00
[ 7.240527] hub 1-0:1.0: USB hub found
[ 7.245613] hub 1-0:1.0: 1 port detected
[ 7.264940] ohci-platform 101c1000.ohci: Generic Platform OHCI controller
[ 7.271947] ohci-platform 101c1000.ohci: new USB bus registered, assigned bus number 2
[ 7.280190] ohci-platform 101c1000.ohci: irq 26, io mem 0x101c1000
[ 7.358483] hub 2-0:1.0: USB hub found
[ 7.363227] hub 2-0:1.0: 1 port detected
[ 7.404454] sdhci: Secure Digital Host Controller Interface driver
[ 7.410792] sdhci: Copyright(c) Pierre Ossman
[ 7.417389] sdhci-pltfm: SDHCI platform and OF driver helper
[ 7.428909] usbcore: registered new interface driver usb-storage
[ 7.542513] usb 1-1: new high-speed USB device number 2 using ehci-platform
[ 7.745961] hub 1-1:1.0: USB hub found
[ 7.750740] hub 1-1:1.0: 4 ports detected
[ 8.072473] usb 1-1.2: new full-speed USB device number 3 using ehci-platform
[ 8.486555] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[ 8.505074] init: - preinit -
[ 9.751592] mmc0: Card stuck being busy! __mmc_poll_for_busy
[ 11.902869] mmc0: Card stuck being busy! __mmc_poll_for_busy
[ 13.162503] random: crng init done
[ 14.043236] mmc0: Card stuck being busy! __mmc_poll_for_busy
[ 16.271606] mmc0: Card stuck being busy! __mmc_poll_for_busy
[ 16.278703] mmc0: Failed to initialize a non-removable card
[ 20.548041] jffs2: notice: (450) jffs2_build_xattr_subsystem: complete building xattr subsystem, 11 of xdatum (0 unchecked, 1 orphan) and 13 of xref (1 dead, 0 orphan) found.
[ 20.571672] mount_root: switching to jffs2 overlay
[ 20.584876] overlayfs: upper fs does not support tmpfile.
[ 20.598607] urandom-seed: Seeding with /etc/urandom.seed
[ 21.160779] procd: - early -
[ 21.165242] procd: - watchdog -
[ 22.601954] procd: - watchdog -
[ 22.606788] procd: - ubus -
[ 23.305007] procd: - init -
[ 27.447429] kmodloader: loading kernel modules from /etc/modules.d/*
[ 29.707197] urngd: v1.0.2 started.
[ 30.238255] ntfs3: Enabled Linux POSIX ACLs support
[ 30.433674] Loading modules backported from Linux version v6.12.61-0-gdcbeffaf66d0
[ 30.441396] Backport generated by backports.git v6.1.110-1-35-g410656ef
[ 30.501689] mc: Linux media interface: v0.10
[ 31.026838] mt76_wmac 10300000.wmac: ASIC revision: 76280001
[ 31.086014] mt76_wmac 10300000.wmac: Firmware Version: 20151201
[ 31.092069] mt76_wmac 10300000.wmac: Build Time: 20151201183641
[ 31.142663] mt76_wmac 10300000.wmac: firmware init done
[ 31.307704] mt76_wmac 10300000.wmac: registering led 'mt76-phy0'
[ 31.315963] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[ 31.649918] PPP generic driver version 2.4.2
[ 31.687138] NET: Registered PF_PPPOX protocol family
[ 31.969594] usbcore: registered new interface driver snd-usb-audio
[ 32.034226] kmodloader: done loading kernel modules from /etc/modules.d/*
[ 66.063404] br-lan: port 1(eth0) entered blocking state
[ 66.068761] br-lan: port 1(eth0) entered disabled state
[ 66.074223] mtk_soc_eth 10100000.ethernet eth0: entered allmulticast mode
[ 66.081564] mtk_soc_eth 10100000.ethernet eth0: entered promiscuous mode
[ 77.904680] phy0-sta0: authenticate with 94:28:6f:14:e7:07 (local address=10:2c:b1:a1:64:0f)
[ 77.913376] phy0-sta0: send auth to 94:28:6f:14:e7:07 (try 1/3)
[ 77.942742] phy0-sta0: authenticated
[ 77.964291] phy0-sta0: associate with 94:28:6f:14:e7:07 (try 1/3)
[ 77.982648] phy0-sta0: RX AssocResp from 94:28:6f:14:e7:07 (capab=0x1831 status=0 aid=27)
[ 77.991314] phy0-sta0: associated
[ 78.095246] phy0-sta0: Limiting TX power to 30 (30 - 0) dBm as advertised by 94:28:6f:14:e7:07
Maybe some help and guidance to make the emmc chip working… i found the pad to provide 3,3V and the gpio, but struglling to use the 16GB of Memory.
I think I’m not using the right driver, or configuration, the chip is a SanDisk SDINBDG4-16G 3376DPLPE0CW.