-
Posts
310 -
Joined
-
Last visited
Content Type
Forums
Store
Crowdfunding
Applications
Events
Raffles
Community Map
Everything posted by Nick A
-
U-Boot SPL 2024.01-armbian (May 09 2024 - 19:55:37 -0400) DRAM: 4096 MiB Trying to boot from MMC1 NOTICE: BL31: v2.10.2(debug):armbian NOTICE: BL31: Built : 19:53:26, May 9 2024 NOTICE: BL31: Detected Allwinner H616 SoC (1823) NOTICE: BL31: Found U-Boot DTB at 0x4a0a0648, model: Transpeed 8K618-T INFO: ARM GICv2 driver initialized INFO: Configuring SPC Controller INFO: PMIC: Probing AXP305 on RSB ERROR: RSB: set run-time address: 0x10003 INFO: Could not init RSB: -65539 INFO: BL31: Platform setup done INFO: BL31: Initializing runtime services INFO: BL31: cortex_a53: CPU workaround for erratum 855873 was applied INFO: BL31: cortex_a53: CPU workaround for erratum 1530924 was applied INFO: PSCI: Suspend is unavailable INFO: BL31: Preparing for EL3 exit to normal world INFO: Entry point address = 0x4a000000 INFO: SPSR = 0x3c9 INFO: Changed devicetree. ns16550_serial serial@5000000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19 U-Boot 2024.01-armbian (May 09 2024 - 19:55:37 -0400) Allwinner Technology CPU: Allwinner H616 (SUN50I) Model: Transpeed 8K618-T DRAM: 4 GiB Core: 61 devices, 22 uclasses, devicetree: separate WDT: Not starting watchdog@30090a0 MMC: mmc@4020000: 0, mmc@4022000: 1 Loading Environment from FAT... Unable to use mmc 0:1... In: serial@5000000 Out: serial@5000000 Err: serial@5000000 Net: apply fix for AC300 ephy bb version bug ... using AC300 emac1 ephy default config ... eth0: ethernet@5030000 starting USB... Bus usb@5101000: sun4i_usb_phy phy@5100400: External vbus detected, not enabling our own vbus USB EHCI 1.00 Bus usb@5101400: USB OHCI 1.0 Bus usb@5200000: USB EHCI 1.00 Bus usb@5200400: USB OHCI 1.0 scanning bus usb@5101000 for devices... 1 USB Device(s) found scanning bus usb@5101400 for devices... 1 USB Device(s) found scanning bus usb@5200000 for devices... 1 USB Device(s) found scanning bus usb@5200400 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Autoboot in 1 seconds, press <Space> to stop => coninfo List of available devices |-- serial@5000000 (IO) | |-- stdin | |-- stdout | |-- stderr |-- serial (IO) |-- nulldev (IO) => printenv arch=arm baudrate=115200 board=sunxi board_name=sunxi boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr} boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi boot_efi_bootmgr=if fdt addr -q ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr;fi boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf} boot_net_usb_start=usb start boot_prefixes=/ /boot/ boot_script_dhcp=boot.scr.uimg boot_scripts=boot.scr.uimg boot.scr boot_syslinux_conf=extlinux/extlinux.conf boot_targets=fel mmc_auto usb0 pxe dhcp bootcmd=run distro_bootcmd bootcmd_dhcp=devtype=dhcp; run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci; bootcmd_fel=if test -n ${fel_booted} && test -n ${fel_scriptaddr}; then echo '(FEL boot)'; source ${fel_scriptaddr}; fi bootcmd_mmc0=devnum=0; run mmc_boot bootcmd_mmc1=devnum=1; run mmc_boot bootcmd_mmc_auto=if test ${mmc_bootdev} -eq 1; then run bootcmd_mmc1; run bootcmd_mmc0; elif test ${mmc_bootdev} -eq 0; then run bootcmd_mmc0; run bootcmd_mmc1; fi bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi bootcmd_usb0=devnum=0; run usb_boot bootdelay=1 bootm_size=0xa000000 console=ttyS0,115200 cpu=armv8 dfu_alt_info_ram=kernel ram 0x40080000 0x1000000;fdt ram 0x4FA00000 0x100000;ramdisk ram 0x4FF00000 0x4000000 distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done efi_dtb_prefixes=/ /dtb/ /dtb/current/ ethaddr=02:00:7e:12:4d:f0 fdt_addr_r=0x4FA00000 fdtcontroladdr=fbf20050 fdtfile=allwinner/sun50i-h618-transpeed-8k618-t.dtb fdtoverlay_addr_r=0x4FE00000 kernel_addr_r=0x40080000 kernel_comp_addr_r=0x44000000 kernel_comp_size=0xb000000 load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile} loadaddr=0x42000000 loadsplash= for prefix in ${boot_prefixes}; do if test -e mmc 0 ${prefix}boot.bmp; then load mmc 0 ${splashimage} ${prefix}boot.bmp; bmp d ${splashimage}; fi; done mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi mmc_bootdev=0 partitions=name=loader1,start=8k,size=32k,uuid=${uuid_gpt_loader1};name=loader2,size=984k,uuid=${uuid_gpt_loader2};name=esp,size=128M,bootable,uuid=${uuid_gpt_esp};name=system,size=-,uuid=${uuid_gpt_system}; preboot=usb start pxefile_addr_r=0x4FD00000 ramdisk_addr_r=0x4FF00000 scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi; scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then part uuid ${devtype} ${devnum}:${distro_bootpart} distro_bootpart_uuid ; run scan_dev_for_boot; fi; done; setenv devplist scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;run boot_efi_bootmgr;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo EXTLINUX FAILED: continuing...; fi scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done scriptaddr=0x4FC00000 serial#=338020007e124df0 soc=sunxi splashimage=66000000 splashpos=m,m stderr=serial@5000000 stdin=serial@5000000 stdout=serial@5000000 usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi uuid_gpt_esp=c12a7328-f81f-11d2-ba4b-00a0c93ec93b uuid_gpt_system=b921b045-1df0-41c3-af44-4c6f280d3fae Environment size: 4874/65532 bytes => dm tree Class Index Probed Driver Name ----------------------------------------------------------- root 0 [ + ] root_driver root_driver clk 0 [ + ] fixed_clock |-- osc24M-clk firmware 0 [ ] psci |-- psci simple_bus 0 [ + ] simple_bus |-- soc clk 1 [ + ] sunxi_clk | |-- clock@3001000 reset 0 [ + ] sunxi_reset | | `-- reset watchdog 0 [ + ] sunxi_wdt | |-- watchdog@30090a0 sysreset 1 [ ] wdt_reboot | | `-- watchdog@30090a0 pinctrl 0 [ + ] sunxi-pinctrl | |-- pinctrl@300b000 gpio 0 [ + ] gpio_sunxi | | |-- pinctrl@300b000 gpio 1 [ + ] gpio_sunxi | | | |-- PA gpio 2 [ + ] gpio_sunxi | | | |-- PB gpio 3 [ + ] gpio_sunxi | | | |-- PC gpio 4 [ + ] gpio_sunxi | | | |-- PD gpio 5 [ + ] gpio_sunxi | | | |-- PE gpio 6 [ + ] gpio_sunxi | | | |-- PF gpio 7 [ + ] gpio_sunxi | | | |-- PG gpio 8 [ + ] gpio_sunxi | | | |-- PH gpio 9 [ + ] gpio_sunxi | | | `-- PI pinconfig 0 [ ] pinconfig | | |-- rgmii-pins pinconfig 1 [ ] pinconfig | | |-- i2c0-pins pinconfig 2 [ ] pinconfig | | |-- i2c3-ph-pins pinconfig 3 [ ] pinconfig | | |-- ir-rx-pin pinconfig 4 [ + ] pinconfig | | |-- mmc0-pins pinconfig 5 [ ] pinconfig | | |-- mmc1-pins pinconfig 6 [ + ] pinconfig | | |-- mmc2-pins pinconfig 7 [ + ] pinconfig | | |-- rmii-pins pinconfig 8 [ + ] pinconfig | | |-- uart0-ph-pins pinconfig 9 [ ] pinconfig | | |-- uart1-pins pinconfig 10 [ ] pinconfig | | `-- uart1-rts-cts-pins mmc 0 [ + ] sunxi_mmc | |-- mmc@4020000 blk 0 [ + ] mmc_blk | | |-- mmc@4020000.blk partition 0 [ + ] blk_partition | | | `-- mmc@4020000.blk:1 bootdev 0 [ ] mmc_bootdev | | `-- mmc@4020000.bootdev mmc 1 [ + ] sunxi_mmc | |-- mmc@4022000 blk 1 [ ] mmc_blk | | |-- mmc@4022000.blk bootdev 1 [ ] mmc_bootdev | | `-- mmc@4022000.bootdev serial 0 [ + ] ns16550_serial | |-- serial@5000000 serial 1 [ ] ns16550_serial | |-- serial@5000400 ethernet 0 [ + ] eth_sun8i_emac | |-- ethernet@5030000 bootdev 2 [ ] eth_bootdev | | `-- ethernet@5030000.bootdev phy 0 [ + ] sun4i_usb_phy | |-- phy@5100400 usb 0 [ + ] ehci_generic | |-- usb@5101000 usb_hub 0 [ + ] usb_hub | | `-- usb_hub usb 1 [ + ] ohci_generic | |-- usb@5101400 usb_hub 1 [ + ] usb_hub | | `-- usb_hub usb 2 [ + ] ehci_generic | |-- usb@5200000 usb_hub 2 [ + ] usb_hub | | `-- usb_hub usb 3 [ + ] ohci_generic | |-- usb@5200400 usb_hub 3 [ + ] usb_hub | | `-- usb_hub clk 2 [ + ] clk_sun6i_rtc | |-- rtc@7000000 clk 3 [ + ] sunxi_clk | |-- clock@7010000 reset 1 [ ] sunxi_reset | | `-- reset pinctrl 1 [ + ] sunxi-pinctrl | |-- pinctrl@7022000 gpio 10 [ + ] gpio_sunxi | | |-- pinctrl@7022000 gpio 11 [ + ] gpio_sunxi | | | `-- PL pinconfig 11 [ ] pinconfig | | `-- r-rsb-pins i2c 0 [ ] i2c_mvtwsi | `-- i2c@7081400 pmic 0 [ ] axp_pmic | `-- pmic@36 sysreset 0 [ ] axp_sysreset | `-- axp_sysreset regulator 0 [ ] regulator_fixed |-- vcc5v regulator 1 [ ] regulator_fixed |-- vcc3v3 bootstd 0 [ ] bootstd_drv `-- bootstd bootmeth 0 [ ] bootmeth_extlinux |-- extlinux bootmeth 1 [ ] bootmeth_efi |-- efi bootmeth 2 [ ] bootmeth_pxe |-- pxe bootmeth 3 [ ] vbe_simple `-- vbe_simple
-
Warpme updated his miniarch using kernel 6.9. Maybe hdmi will work? Test out some of his 616 images see if they have video. Not sure why your box doesn't have hdmi. https://github.com/warpme/miniarch/releases Did you try using another LCD panel?
-
You can make a copy of brcmfmac43342-sdio.bin and rename it to brcmfmac43342-sdio.transpeed,t98-616.bin. I had to do the same on my box. No big deal.
-
https://github.com/armbian/firmware/tree/master/brcm You can rename or make a symoblic link to brcmfmac43342-sdio.bin. Really all you need is these two files to get it to work. I didn't use a clm_blob. brcm/brcmfmac43342-sdio.transpeed,t98-616.bin brcm/brcmfmac43342-sdio.txt If bluetooth still doesn't work. I would turn bluetooth ON in android then boot linux. Bluetooth also needs this patch. Not sure if you applied it yet. If your board has an external clock oscillator then you don't need it. https://github.com/NickAlilovic/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/Code-to-enable-Internal-OSC-Clock-Auto-Calibration.patch
-
https://patchew.org/linux/20240317-add-t95-axp313-support-v3-0-0d63f7c23d37@gmail.com/20240317-add-t95-axp313-support-v3-3-0d63f7c23d37@gmail.com/ It's actually BCM43342/1 It System doesn't detect this chip by default. The most relevant message from dmesg is: [ 14.042035] kernel: brcmfmac: brcmf_fw_alloc_request: Unknown chip BCM43342/1 I believe that it's only a matter of missing module. I don't think it is supported in mainline ATM. I left it to have a wi-fi node accessible and detectable by kernel. If you think that it's better to remove the node if it's not supported I can do it. Somebody actually extracted modified precompiled module from custom 5.15.16 rockchip kernel, which implements support for this card. There's no patch for it that could be submitted to mainline unfortunately ATM. I've found a patch that adds chip id strings to brcmfmac, but I would like to test it beforehand. V4 of the patch. If you want to borrow the code. https://patchew.org/linux/20240319-add-t95-axp313-support-v4-0-6204b6d23229@gmail.com/20240319-add-t95-axp313-support-v4-3-6204b6d23229@gmail.com/
-
U-Boot SPL 2024.01-armbian (Apr 17 2024 - 03:30:23 +0000) DRAM:This DRAM setup is currently not supported. resetting ... When you tested my build you got. Then you test my build with mate defconfig? probably you used mate dts. I don't see any wifi code in mate's uboot or kernel dts. You can't use my dts directly without modifying the defconfig. You need your dram setup and axp305 code. Maybe a few other defconfig changes. My kernel dts would also need changes because of the axp305 code. What I'm asking is if you can just use my wlan and bluetooth code. Also you need to check your dmesg to see if wifi is asking for firmware. Sometimes it's looking for a specific file name.
-
I'm wondering if my wifi code would work for you. I'm using bcm4335. https://github.com/NickAlilovic/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-allwinner-h618-add-Transpeed-8K618-T-TV-box.patch
-
No 13, 11, 10 are in HEX you need to convert it to decimal 19,17,16 https://www.rapidtables.com/convert/number/hex-to-decimal.html Use my code the way it is. + bluetooth { + compatible = "brcm,bcm43438-bt"; + shutdown-gpios = <&pio 6 19 GPIO_ACTIVE_HIGH>; /* PG19 */ + clocks = <&rtc CLK_OSC32K_FANOUT>; + host-wakeup-gpios = <&pio 6 16 GPIO_ACTIVE_HIGH>; /* PG16 */ + clock-names = "lpo"; + vddio-supply = <®_dldo1>; + device-wakeup-gpios = <&pio 6 17 GPIO_ACTIVE_HIGH>; /* PG17 */ + vbat-supply = <®_dldo1>; + };
-
This should be PG18 not 12. 12 hex = 18 dec You want decimal in the linux dts. + reg_vcc_wifi: reg_vcc_wifi { + compatible = "regulator-fixed"; + regulator-name = "vcc-wifi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + gpio = <&pio 6 18 GPIO_ACTIVE_HIGH>;/* PG18 WL_REG_ON */ + regulator-always-on; + enable-active-high; + status = "okay"; + }; Your BT should be something like this. + + bluetooth { + compatible = "brcm,bcm43438-bt"; + shutdown-gpios = <&pio 6 19 GPIO_ACTIVE_HIGH>; /* PG19 */ + clocks = <&rtc CLK_OSC32K_FANOUT>; + host-wakeup-gpios = <&pio 6 16 GPIO_ACTIVE_HIGH>; /* PG16 */ + clock-names = "lpo"; + vddio-supply = <®_dldo1>; + device-wakeup-gpios = <&pio 6 17 GPIO_ACTIVE_HIGH>; /* PG17 */ + vbat-supply = <®_dldo1>; + }; You need this patch. https://github.com/NickAlilovic/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/Code-to-enable-Internal-OSC-Clock-Auto-Calibration.patch
-
One of your mmcblk2 patitions must have a dtb0_a.img in them. That wifi code was taken from the dts you had in your u-boot.patch you created. It doesn't look like your original dts.
-
Then you need to change your hdmi connector type to "a" connector { compatible = "hdmi-connector"; type = "a";
-
Can you run this command ls -al /dev/block/platform/soc@3000000/4022000.sdmmc/by-name Also can I see you dmesg? My hdmi connector is "a" type. connector { compatible = "hdmi-connector"; type = "a"; is your connector a micro-HDMI? Did you add these settings to both u-boot and kernel dts?
-
Here's more information that might help. https://linux-sunxi.org/TOC0 https://patchwork.ozlabs.org/project/uboot/patch/20210822044649.13585-3-samuel@sholland.org/#2746768 https://linux-sunxi.org/Jide_Remix_Mini#Tips.2C_Tricks.2C_Caveats
-
Rodrigo, try miniarch images until find one that has similar specs. https://github.com/warpme/miniarch/releases
-
I'm thinking the DTS that you extracted is a DTS for axp1530 but there might be an overlay that converts it back to axp305. If not then axp305 is compatible with axp1530 and all you have to do is change the dram settings in transpeed-8k618-t.defconfig. In this case you have all my warpme patches. The chip on your board does say axp305. So it's confusing why your android DTS has axp1530. Can you look for this partition and copy the dtbo_a file and extract it? dtbo_a -> /dev/block/mmcblk0p21
-
I'll be more active developing my build maybe adding more tv boxes after summer when work slows down.
-
Your android version of DTS has to be converted to the mainline linux DTS. I gave you enough information to get your box Ethernet running and maybe wifi. You're Ethernet is an easy fix. Change 0 to 1. I'm confused!! where did you get the DTS in your patches? The first link "01_dtbdump_,sun50iw9.dtb" didn't work. "devicetree.dts" says you have axp1530. If your box is a axp1530. I would use my transpeed build but change the dram settings in transpeed-8k618-t_defconfig. Use this tool to extract the dram settings. I think you can extract it using boot0. I hex edited my boot0 to get the settings. (post 8 on the first page.) https://github.com/apritzel/sunxi-fw Do you have a dtso partition? (DTS overlay) I'm guessing hdmi might be a pain to port over to u-boot. I haven't looked into it.
-
It's weird that you are booting further with tx6s but it shows your pmic isn't setup. I guess it has something to do with axp305 being defined in &r_i2c and &r_rsb. In &r_rsb it's defined as axp305: pmic@745. I guess without these changes you probably introduce more errors. INFO: PMIC: Probing AXP305 on RSB WARNING: PMIC: No regulators DT node, skipping setup +&r_i2c { + status = "okay"; + + axp305_1: pmic@36 { + compatible = "x-powers,axp305", "x-powers,axp805", + "x-powers,axp806"; + reg = <0x36>; + + /* dummy interrupt to appease the driver for now */ + interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>; + interrupt-controller; + #interrupt-cells = <1>; + }; +}; But then axp305 goes back to normal in the kernel dtb and it's only defined once. Probably a uboot issue. https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.6/files/0632-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patch Also, there's two Ethernet devices for H616 emac0 uses the external Ethernet chip. While, emac1 uses the SOC internal Ethernet phy called AC200. OrangePi-Zero2: (Uses external Ethernet chip) ethernet0 = &emac0; tx6s: (Miniarch uses emac1 but in your uboot.patch you have ethernet0 set to emac0!) I think this is where you are having problems. ethernet0 = &emac1; H618 is similar to H616 but it now has AC300 as the Ethernet phy.
-
Kajan, Your kernel patches need changes.. first you can't use your original android dtb as a dtsi file. Use your u-boot dtb. Make a copy and move it to your kernel. Then you can add changes like wifi. Your dtb already includes a dtsi file called sun50i-h616.dtsi. Normally, Both u-boot and kernel share the same dtb. But in our case it's different due to the mmc max-frequency and ethernet patches being different. The mmc max-frequency has changed to a lower frequency in the u-boot dts but not in the kernel dts. This is due to u-boot having issues reading mmc during boot. For now it's just a hack. Someone needs to figure out why u-boot is having this problem. https://github.com/NickAlilovic/build/blob/main/patch/u-boot/u-boot-sunxi/107-sunxi_mmc-dec-f_max-to-12MHz-to-get-emmc-reliable.patch Here's my u-boot and kernel ethernet patches notice the differences. https://github.com/NickAlilovic/build/blob/main/patch/u-boot/u-boot-sunxi/dts-Transpeed-8K618-T-Enable-Ethernet.patch https://github.com/NickAlilovic/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-allwinner-h618-Transpeed-8k618-T-Enable-Ethernet.patch Looking at your original android dts for wifi I found this. + reg_vcc_wifi { + compatible = "regulator-fixed"; + regulator-name = "vcc-wifi"; + regulator-min-microvolt = <0x325aa0>; + regulator-max-microvolt = <0x325aa0>; + gpio = <0x15 0x06 0x12 0x00>; + regulator-always-on; + enable-active-high; + status = "okay"; + phandle = <0x13>; + }; + + wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <0x0f 0x01>; + clock-names = "ext_clock"; + pinctrl-names = "default"; + pinctrl-0 = <0x41>; + phandle = <0x14>; + }; + + mmc@4021000 { + compatible = "allwinner,sun50i-h616-mmc\0allwinner,sun50i-a100-mmc"; + reg = <0x4021000 0x1000>; + clocks = <0x02 0x40 0x02 0x3d>; + clock-names = "ahb\0mmc"; + resets = <0x02 0x0f>; + reset-names = "ahb"; + interrupts = <0x00 0x24 0x04>; + pinctrl-names = "default"; + pinctrl-0 = <0x12>; + status = "okay"; + max-frequency = <0x0b71b00>; + cap-sd-highspeed; + cap-mmc-highspeed; + mmc-ddr-3_3v; + cap-sdio-irq; + #address-cells = <0x01>; + #size-cells = <0x00>; + vmmc-supply = <0x11>; + vqmmc-supply = <0x13>; + mmc-pwrseq = <0x14>; + bus-width = <0x04>; + non-removable; + + wifi@1 { + reg = <0x01>; + interrupt-parent = <0x15>; + interrupts = <0x06 0x0f 0x01>; + interrupt-names = "host-wake"; + }; + }; vmmc-supply = <0x11>; 0x11 is a phandle that points to dcdce. A regulator that is set to 3.3v. https://www.rapidtables.com/convert/number/hex-to-decimal.html 0x325aa0 = 3.3v vqmmc-supply = <0x13>; 0x13 phandle points to reg_vcc_wifi. A regulator that is set to 3.3v. So on your box both vmmc-supply and vqmmc-supply are set to 3.3v. + dcdce { + regulator-always-on; + regulator-min-microvolt = <0x325aa0>; + regulator-max-microvolt = <0x325aa0>; + regulator-name = "vcc-eth-mmc"; + phandle = <0x11>; + }; + reg_vcc_wifi { + compatible = "regulator-fixed"; + regulator-name = "vcc-wifi"; + regulator-min-microvolt = <0x325aa0>; + regulator-max-microvolt = <0x325aa0>; + gpio = <0x15 0x06 0x12 0x00>; + regulator-always-on; + enable-active-high; + status = "okay"; + phandle = <0x13>; + }; Looks similar to OrangePi-Zero2. You can modify the code and have it work on your box. OrangePi-Zero2 uses 1.8v for vqmmc-supply instead of 3.3v. So you don't need reg_vcc_wifi_io with 1.8v. Set vmmc-supply to reg_dcdce and vqmmc-supply to reg_vcc_wifi. reg_dcdce is already defined in your dtb file. + reg_dcdce: dcdce { + regulator-boot-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-eth-mmc"; + }; Your gpio looks the same. 0x12 = 18 gpio = <0x15 0x06 0x12 0x00>; reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ Have your tried OrangePi-Zero2 images? https://github.com/armbian/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-h616-add-wifi-support-for-orange-pi-zero-2.patch + + reg_vcc33_wifi: vcc33-wifi { + /* Always on 3.3V regulator for WiFi and BT */ + compatible = "regulator-fixed"; + regulator-name = "vcc33-wifi"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + vin-supply = <®_vcc5v>; + }; + + reg_vcc_wifi_io: vcc-wifi-io { + /* Always on 1.8V/300mA regulator for WiFi and BT IO */ + compatible = "regulator-fixed"; + regulator-name = "vcc-wifi-io"; + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + vin-supply = <®_vcc33_wifi>; + }; + + wifi_pwrseq: wifi-pwrseq { + compatible = "mmc-pwrseq-simple"; + clocks = <&rtc 1>; + clock-names = "osc32k-out"; + reset-gpios = <&pio 6 18 GPIO_ACTIVE_LOW>; /* PG18 */ + post-power-on-delay-ms = <200>; + }; +&mmc1 { + vmmc-supply = <®_vcc33_wifi>; + vqmmc-supply = <®_vcc_wifi_io>; + mmc-pwrseq = <&wifi_pwrseq>; + bus-width = <4>; + non-removable; + mmc-ddr-1_8v; + status = "okay"; +}; +
-
Kajen, I think that silver/gold chip on your board might be bluetooth/wifi. But I can't make out the number/letters written on it.
-
Kajen, For Ethernet you need these two patches in u-boot. https://github.com/NickAlilovic/build/blob/main/patch/u-boot/u-boot-sunxi/100-sunsi-add-h616-internal-eth-phy-support.patch https://github.com/NickAlilovic/build/blob/main/patch/u-boot/u-boot-sunxi/106-Add-int-phy-eth-H313-h616-with-AC300.patch https://github.com/NickAlilovic/build/blob/main/patch/u-boot/u-boot-sunxi/dts-Transpeed-8K618-T-Enable-Ethernet.patch Kernel patch. You need to edit your box's dts. https://github.com/NickAlilovic/build/blob/main/patch/kernel/archive/sunxi-6.7/patches.armbian/arm64-dts-allwinner-h618-Transpeed-8k618-T-Enable-Ethernet.patch Can you take a picture of your boards wifi chip?
-
Kil, have you tired the miniarch images? you might find a u-boot that works with your box. The u-boot I have is for AXP313. This could be the reason why your box doesn't show anything. You need a u-boot with AXP305. If you can't find a miniarch image that boots. You need to compile a new u-boot with your Dram settings and AXP305. Use the Dram Settings I got from your .DTS file. Download the lastest mainline u-boot. Use this board config. /configs/x96_mate_defconfig /arch/arm/dts/sun50i-h616-x96-mate.dts /arch/arm/dts/Makefile https://github.com/warpme/miniarch/releases https://source.denx.de/u-boot/u-boot https://docs.u-boot.org/en/latest/board/allwinner/sunxi.html Sorry Kil, I don't have your box and time to do this for you. I can only provide information. Without console output there's nothing I can do. Are you using baud rate 115200? If you need more help ask the Sunxi guys at: https://oftc.irclog.whitequark.org/linux-sunxi/2024-05-23
-
Here's a bunch of links related to your box and uboot. https://linux-sunxi.org/T95H https://linux-sunxi.org/BROM#eGON_Boot https://linux-sunxi.org/Bootable_SD_card#Bootloader https://linux-sunxi.org/U-Boot#Boot https://linux-sunxi.org/FEL#Through_a_special_SD_card_image https://docs.u-boot.org/en/latest/board/allwinner/sunxi.html https://linux-sunxi.org/H616 https://lore.kernel.org/lkml/?q=T95
-
Kil and Dmitriy can you guys try MiniArch. Steps to install MiniArch can be found here. https://github.com/warpme/miniarch Use the Tanix_tx6s image. https://github.com/warpme/miniarch/releases/download/v20240209/MiniArch-20231112-6.7.4-board-h616.tanix_tx6s-SD-Image.img.xz Dmitriy you can also try these images. Your dts has axp313 but your overlay adds axp806/axp305 values. https://github.com/warpme/miniarch/releases/download/v20240209/MiniArch-20231112-6.7.4-board-h616.tanix_tx6s_axp313-SD-Image.img.xz https://github.com/warpme/miniarch/releases/download/v20240209/MiniArch-20231112-6.7.4-board-h618.vontar_h618-SD-Image.img.xz The Tanix_tx6s has a similar dts. Compare your dts with this one. kernel: https://github.com/warpme/minimyth2/blob/master/script/kernel/linux-6.6/files/0632-arm64-dts-allwinner-h616-add-Tanix-TX6s-TVbox.patch U-boot: https://github.com/warpme/minimyth2/blob/master/script/bootloaders/u-boot-h616/files/52-add-tanix-tx6s-defconfig.patch dcdca { regulator-name = "axp806-dcdca"; regulator-min-microvolt = <0x927c0>; regulator-max-microvolt = <0x173180>; regulator-step-delay-us = <0x19>; regulator-final-delay-us = <0x32>; regulator-always-on; linux,phandle = <0x01>; phandle = <0x01>; }; + reg_dcdca: dcdca { + regulator-always-on; + regulator-min-microvolt = <810000>; + regulator-max-microvolt = <1160000>; + regulator-name = "vdd-cpu"; + }; https://www.rapidtables.com/convert/number/hex-to-decimal.html min = 600000 max = 1520000 You can also compare your dram setup values with the ones in the defconfig. If you have trouble booting you can use these values. (I was able to boot vontar image even tho these values where slightly different. ) dram_para1 { device_type = "dram_para1"; dram_clk = <0x00000288>; dram_type = <0x00000003>; dram_dx_odt = <0x03030303>; dram_dx_dri = <0x0e0e0e0e>; dram_ca_dri = <0x00001c1c>; dram_odt_en = <0x00000001>; dram_para1 = <0x000030fb>; dram_para2 = <0x00000000>; dram_mr0 = <0x00000840>; dram_mr1 = <0x00000004>; dram_mr2 = <0x00000008>; dram_mr3 = <0x00000000>; dram_mr4 = <0x00000000>; dram_mr5 = <0x00000000>; dram_mr6 = <0x00000000>; dram_mr11 = <0x00000000>; dram_mr12 = <0x00000000>; dram_mr13 = <0x00000000>; dram_mr14 = <0x00000000>; dram_mr16 = <0x00000000>; dram_mr17 = <0x00000000>; dram_mr22 = <0x00000000>; dram_tpr0 = <0xc0001305>; dram_tpr1 = <0x00000000>; dram_tpr2 = <0x00000000>; dram_tpr3 = <0x00000000>; dram_tpr6 = <0x33808080>; dram_tpr10 = <0x002f0006>; dram_tpr11 = <0xffffdddd>; dram_tpr12 = <0xfedf7657>; dram_tpr13 = <0x00000040>; }; +CONFIG_DRAM_CLK=648 . . . +CONFIG_DRAM_SUN50I_H616_DX_ODT=0x03030303 +CONFIG_DRAM_SUN50I_H616_DX_DRI=0x0e0e0e0e +CONFIG_DRAM_SUN50I_H616_CA_DRI=0x00001c12 +CONFIG_DRAM_SUN50I_H616_ODT_EN=0x00000001 +CONFIG_DRAM_SUN50I_H616_TPR0=0xc0000c05 +CONFIG_DRAM_SUN50I_H616_TPR2=0x00000000 +CONFIG_DRAM_SUN50I_H616_TPR10=0x2f0007 +CONFIG_DRAM_SUN50I_H616_TPR11=0xffffdddd +CONFIG_DRAM_SUN50I_H616_TPR12=0xfedf7557 If you want to create your own patches and Armbian build using my github, read the post at the top of this page..
-
These are the directories and files where all my changes are from. You need to compile a transpeed image first to get the ~/build/cache directory and patches applied. Once the patches are applied you can stop the kernel compile.. (ctrl c). The cache directory is created using root. So to edit the files you need to "sudo". https://github.com/NickAlilovic/build Bottom of this page shows how to create patches. I think linux-6.7.y branch name has changed. So use this command in linux and u-boot root directory to find the current branch name. git branch --show-current U-boot: ~/build/cache/sources/u-boot-worktree/u-boot/v2024.01/configs/transpeed-8k618-t_defconfig ~/build/cache/sources/u-boot-worktree/u-boot/v2024.01/arch/arm/dts/sun50i-h618-transpeed-8k618-t.dts ~/build/cache/sources/u-boot-worktree/u-boot/v2024.01/arch/arm/dts/Makefile Linux-Kernel: ~/build/cache/sources/linux-kernel-worktree/6.7__sunxi64__arm64/arch/arm64/boot/dts/allwinner/sun50i-h618-transpeed-8k618-t.dts ~/build/cache/sources/linux-kernel-worktree/6.7__sunxi64__arm64/arch/arm64/boot/dts/allwinner/Makefile Armbian: Armbian board config... ~/build/config/boards/transpeed-8k618-t.wip Patch directories... ~/build/patch/u-boot/u-boot-sunxi/ ~/build/patch/kernel/archive/sunxi-6.7/patches.armbian/ Kernel patches config... ( mines (-) before the patch name disables the patch) ~/build/patch/kernel/archive/sunxi-6.7/series.armbian ~/build/patch/kernel/archive/sunxi-6.7/series.conf firmware wifi/bluetooth... ~/build/packages/blobs/station/firmware/brcm/ We don't patch Armbian. Only U-boot and Linux-Kernel. If you want to edit transpeed-8k618-t.wip. Create your own wip (Work In Progress) for your box.