Compare commits

...

10 Commits

Author SHA1 Message Date
kos 2e67a176e1 Merge branch 'istoreos-22.03' of https://github.com/istoreos/istoreos into istoreos-22.03 2024-04-04 07:16:27 +00:00
Liangbin Lian b307aec258 target/amlogic: default enable vt for reducing kernel recompile 2024-03-29 17:06:57 +08:00
Liangbin Lian 30a2aabe12 package/cypress-nvram: fix recursive dependency
```
$ make menuconfig
tmp/.config-package.in:8815:error: recursive dependency detected!
tmp/.config-package.in:8815:    symbol PACKAGE_brcmfmac-firmware-43455-sdio-rpi-4b is selected by PACKAGE_cypress-nvram-43455-sdio-rpi-4b
tmp/.config-package.in:9097:    symbol PACKAGE_cypress-nvram-43455-sdio-rpi-4b depends on PACKAGE_brcmfmac-firmware-43455-sdio-rpi-4b
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"
```
2024-03-29 16:30:54 +08:00
Liangbin Lian cd35439936 target/amlogic: add kmod-fb to default packages
show hdmi console
2024-03-29 15:58:27 +08:00
Liangbin Lian 649aa368eb target/amlogic: update kernel config 2024-03-29 15:10:12 +08:00
Liangbin Lian 471a6b60c8 target/amlogic: drm drivers 2024-03-29 15:01:38 +08:00
Liangbin Lian 698e55360e target/amlogic: show console on hdmi
use frambuffer initialized before the kernel boots
2024-03-29 15:01:12 +08:00
Liangbin Lian 446e7a76aa mac80211: brcmfmac default enable sdio support on amlogic meson 2024-03-28 20:28:13 +08:00
Liangbin Lian 403393f1a1 target/amlogic/meson: remove unused drivers 2024-03-28 20:27:14 +08:00
Liangbin Lian 0f0ef5b6a7 target/amlogic: init support for amlogic SoCs
first supported board Phicomm N1
2024-03-28 19:15:49 +08:00
27 changed files with 1600 additions and 2 deletions

View File

@ -0,0 +1,57 @@
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_VERSION:=git-20240315
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE_PROTO:=default
PKG_SOURCE:=ophub-uboot-prebuilt-$(PKG_VERSION).tar.gz
PKG_SOURCE_VERSION:=abe491ab386607f9ab0d66728e5766bc5d7e8a20
PKG_SOURCE_URL_FILE:=$(PKG_SOURCE_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/ophub/u-boot/archive/
PKG_HASH:=3f98f5728f48d13f33cf4fd21fb6032a625ad3c61aa2e8073dda821f71f067ec
PKG_MAINTAINER:=jjm2473
include $(INCLUDE_DIR)/u-boot.mk
include $(INCLUDE_DIR)/package.mk
TAR_OPTIONS:=--strip-components 1 $(TAR_OPTIONS)
TAR_CMD=$(HOST_TAR) -C $(1) $(TAR_OPTIONS)
define U-Boot/Default
BUILD_TARGET:=amlogic
UENV:=default
HIDDEN:=1
DEFAULT:=y
endef
define U-Boot/phicomm-n1
NAME:=Phicomm N1
OVERLAY:=u-boot-n1.bin
BUILD_SUBTARGET:=meson
BUILD_DEVICES:=phicomm_n1
endef
UBOOT_TARGETS := phicomm-n1
define Build/Configure
true
endef
define Build/Compile
true
endef
define Build/InstallDev
$(INSTALL_DIR) $(STAGING_DIR_IMAGE)
$(CP) $(PKG_BUILD_DIR)/u-boot/amlogic/overload/$(OVERLAY) $(STAGING_DIR_IMAGE)/$(BUILD_VARIANT)-u-boot-overlay.bin
endef
define Package/u-boot/install/default
endef
$(eval $(call BuildPackage/U-Boot))

View File

@ -91,7 +91,6 @@ define Package/cypress-nvram-43455-sdio-rpi-4b
$(Package/cypress-nvram-default)
TITLE:=CYW43455 NVRAM for Raspberry Pi 4B
DEPENDS:=@TARGET_bcm27xx
PROVIDES:=brcmfmac-firmware-43455-sdio-rpi-4b
CONFLICTS:=brcmfmac-firmware-43455-sdio-rpi-4b
endef

View File

@ -421,7 +421,7 @@ $(eval $(call KernelPackage,drm-imx-ldb))
define KernelPackage/drm-lima
SUBMENU:=$(VIDEO_MENU)
TITLE:=DRM support for ARM Mali 400/450 GPU
DEPENDS:=@TARGET_rockchip +kmod-drm-sched
DEPENDS:=@(TARGET_rockchip||TARGET_amlogic) +kmod-drm-sched
KCONFIG:=CONFIG_DRM_LIMA
FILES:=$(LINUX_DIR)/drivers/gpu/drm/lima/lima.ko
AUTOLOAD:=$(call AutoProbe,lima)

View File

@ -452,6 +452,7 @@ define KernelPackage/brcmfmac/config
default y if TARGET_bcm27xx
default y if TARGET_sunxi
default y if TARGET_rockchip_rk35xx
default y if TARGET_amlogic_meson
default n
help
Enable support for cards attached to an SDIO bus.

View File

@ -0,0 +1,18 @@
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2024 jjm2473 <jjm2473@gmail.com>
include $(TOPDIR)/rules.mk
BOARD:=amlogic
BOARDNAME:=Amlogic
FEATURES:=ext4 audio usb usbgadget display gpio fpu pci pcie squashfs
SUBTARGETS:=meson
KERNEL_PATCHVER:=5.10
include $(INCLUDE_DIR)/target.mk
DEFAULT_PACKAGES += mkf2fs e2fsprogs
$(eval $(call BuildTarget))

View File

@ -0,0 +1,59 @@
#!/bin/sh
#
# Copyright (C) 2013-2015 OpenWrt.org
#
. /lib/functions/uci-defaults.sh
. /lib/functions/system.sh
amlogic_setup_interfaces()
{
local board="$1"
case "$board" in
*)
ucidef_set_interface_lan 'eth0' 'dhcp'
;;
esac
}
generate_mac_from_mmc()
{
local sd_hash
local bootdisk=$(
. /lib/upgrade/common.sh
export_bootdevice && export_partdevice bootdisk 0 && echo $bootdisk
)
if echo "$bootdisk" | grep -q '^mmcblk' && [ -f "/sys/class/block/$bootdisk/device/cid" ]; then
sd_hash=$(sha256sum /sys/class/block/$bootdisk/device/cid | head -n 1)
else
sd_hash=$(sha256sum /sys/class/block/mmcblk*/device/cid | head -n 1)
fi
local mac_base=$(macaddr_canonicalize "$(echo "${sd_hash}" | dd bs=1 count=12 2>/dev/null)")
echo "$(macaddr_unsetbit_mc "$(macaddr_setbit_la "${mac_base}")")"
}
amlogic_setup_macs()
{
local board="$1"
local lan_mac=""
local wan_mac=""
case "$board" in
*)
lan_mac=$(generate_mac_from_mmc)
;;
esac
[ -n "$wan_mac" ] && ucidef_set_interface_macaddr "wan" $wan_mac
[ -n "$lan_mac" ] && ucidef_set_interface_macaddr "lan" $lan_mac
}
board_config_update
board=$(board_name)
amlogic_setup_interfaces $board
amlogic_setup_macs $board
board_config_flush
exit 0

View File

@ -0,0 +1,4 @@
arch all 1
arch noarch 1
arch aarch64_generic 10
arch aarch64_cortex-a53 15

View File

@ -0,0 +1,16 @@
move_config() {
local partdev parttype=ext4
. /lib/upgrade/common.sh
if export_bootdevice && export_partdevice partdev 1; then
mkdir -p /boot
part_magic_fat "/dev/$partdev" && parttype=vfat
mount -t $parttype -o rw,noatime "/dev/$partdev" /boot
if [ -f "/boot/$BACKUP_FILE" ]; then
mv -f "/boot/$BACKUP_FILE" /
fi
fi
}
boot_hook_add preinit_mount_root move_config

View File

@ -0,0 +1,87 @@
# modified by jjm2473
# 1. keep overlay partition when upgrade
# 2. reset rom uuid in ext_overlay (aka sandbox mode) when upgrade (stage2:istoreos_pre_upgrade)
platform_check_image() {
local diskdev partdev diff
export_bootdevice && export_partdevice diskdev 0 || {
v "Unable to determine upgrade device"
return 1
}
[ "$SAVE_CONFIG" -eq 1 ] && return 0
get_partitions "/dev/$diskdev" bootdisk
#extract the boot sector from the image
get_image "$@" | dd of=/tmp/image.bs count=1 bs=512b 2>/dev/null
get_partitions /tmp/image.bs image
#compare tables
diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)"
rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image
if [ -n "$diff" ]; then
v "Partition layout has changed. Full image will be written."
ask_bool 0 "Abort" && exit 1
return 0
fi
}
platform_do_upgrade() {
local diskdev partdev part start size cursize
export_bootdevice && export_partdevice diskdev 0 || {
v "Unable to determine upgrade device"
return 1
}
sync
get_partitions "/dev/$diskdev" bootdisk
#extract the boot sector from the image
get_image "$@" | dd of=/tmp/image.bs count=1 bs=512b
get_partitions /tmp/image.bs image
#iterate over each partition from the image and check boot disk partition size
while read part start size; do
if [ -n "$UPGRADE_BACKUP" -a "$part" -ge 3 ]; then
continue
fi
cursize=$(echo $(grep -m1 '^ *'"$part"' *' /tmp/partmap.bootdisk) | cut -d' ' -f 3)
if [ -z "$cursize" ]; then
v "Unable to find partition $part on boot disk"
return 1
fi
if [ "$size" -gt "$cursize" ]; then
v "Partition $part on image is bigger than boot disk ($size > $cursize)"
return 1
fi
done < /tmp/partmap.image
#iterate over each partition from the image and write it to the boot disk
while read part start size; do
if [ -n "$UPGRADE_BACKUP" -a "$part" -ge 3 ]; then
v "Skip partition $part >= 3 when upgrading"
continue
fi
if export_partdevice partdev $part; then
v "Writing image to /dev/$partdev..."
if [ "$part" -eq 3 ]; then
echo "RESET000" | dd of="/dev/$partdev" bs=512 count=1 conv=sync,fsync 2>/dev/null
else
get_image "$@" | dd of="/dev/$partdev" ibs="512" obs=1M skip="$start" count="$size" conv=fsync
fi
else
v "Unable to find partition $part device, skipped."
fi
done < /tmp/partmap.image
#copy partition uuid
v "Writing new UUID to /dev/$diskdev..."
get_image "$@" | dd of="/dev/$diskdev" bs=1 skip=440 count=4 seek=440 conv=fsync
}

View File

@ -0,0 +1,46 @@
CONFIG_AMLOGIC_THERMAL=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_DEVFREQ_THERMAL=y
# CONFIG_DRM_MESON is not set
# CONFIG_DRM_MESON_DW_HDMI is not set
CONFIG_HW_CONSOLE=y
CONFIG_HW_RANDOM_MESON=y
CONFIG_HW_RANDOM_OPTEE=y
CONFIG_INPUT=y
CONFIG_KVM_ARM_PMU=y
# CONFIG_MAX77620_WATCHDOG is not set
# CONFIG_MAX77620_THERMAL is not set
CONFIG_MESON_EFUSE=y
# CONFIG_MESON_MX_EFUSE is not set
# CONFIG_MFD_KHADAS_MCU is not set
# CONFIG_MMC_DEBUG is not set
# CONFIG_MMC_UNSAFE_RESUME is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_NVMEM_SPMI_SDAM is not set
# CONFIG_PHY_MESON8B_USB2 is not set
# CONFIG_PINCTRL_MESON8_PMX is not set
# CONFIG_REGULATOR_S2MPA01 is not set
# CONFIG_REGULATOR_S2MPS11 is not set
# CONFIG_REGULATOR_S5M8767 is not set
# CONFIG_REGULATOR_VEXPRESS is not set
# CONFIG_SDIO_UART is not set
CONFIG_SENSORS_ARM_SCMI=y
CONFIG_SENSORS_ARM_SCPI=y
# CONFIG_SND_MESON_AIU is not set
# CONFIG_SND_MESON_AXG_FRDDR is not set
# CONFIG_SND_MESON_AXG_TODDR is not set
# CONFIG_SND_MESON_AXG_TDMIN is not set
# CONFIG_SND_MESON_AXG_TDMOUT is not set
# CONFIG_SND_MESON_AXG_SOUND_CARD is not set
# CONFIG_SND_MESON_AXG_SPDIFOUT is not set
# CONFIG_SND_MESON_AXG_SPDIFIN is not set
# CONFIG_SND_MESON_AXG_PDM is not set
# CONFIG_SND_MESON_GX_SOUND_CARD is not set
# CONFIG_SND_MESON_G12A_TOACODEC is not set
# CONFIG_SND_MESON_G12A_TOHDMITX is not set
# CONFIG_SND_SOC_MESON_T9015 is not set
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_VT_HW_CONSOLE_BINDING=y

View File

@ -0,0 +1,67 @@
# SPDX-License-Identifier: GPL-2.0-only
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
DEVICE_VARS += UBOOT_DEVICE_NAME
### Image scripts ###
define Build/boot-common
# This creates a new folder copies the dtb (as amlogic.dtb)
# and the kernel image (as kernel.img)
rm -fR $@.boot
mkdir -p $@.boot
$(CP) $(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb $@.boot/amlogic.dtb
$(CP) $(IMAGE_KERNEL) $@.boot/kernel.img
$(CP) "$(STAGING_DIR_IMAGE)"/$(UBOOT_DEVICE_NAME)-u-boot-overlay.bin $@.boot/u-boot.emmc
endef
define Build/boot-combined
# This creates a new folder copies the dtbs (as amlogic*.dtb)
# and the kernel image (as kernel.img)
rm -fR $@.boot
mkdir -p $@.boot
i=0; \
for dts in $(DEVICE_DTS); do \
$(CP) $(KDIR)/image-$${dts}.dtb $@.boot/amlogic$$(perl -e 'printf "%b\n",'$$i).dtb; \
let i+=1; \
done
$(CP) $(IMAGE_KERNEL) $@.boot/kernel.img
$(CP) "$(STAGING_DIR_IMAGE)"/$(UBOOT_DEVICE_NAME)-u-boot-overlay.bin $@.boot/u-boot.emmc
endef
define Build/boot-script
# Make an U-boot image and copy it to the boot partition
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d aml_autoscript.cmd $@.boot/aml_autoscript
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d emmc_autoscript.cmd $@.boot/emmc_autoscript
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d s905_autoscript.cmd $@.boot/s905_autoscript
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d $(if $(1),$(1),amlogic).bootscript $@.boot/boot.scr
endef
define Build/aml-img
# Creates the final SD/USB images,
# combining boot partition, root partition
SIGNATURE="$(IMG_PART_SIGNATURE)" \
./gen_amlogic_image.sh \
$@ \
64 $@.boot \
256 $(IMAGE_ROOTFS) \
2048
endef
### Devices ###
define Device/Default
PROFILES := Default
KERNEL := kernel-bin
IMAGES := sysupgrade.img.gz
DEVICE_DTS_DIR := $(DTS_DIR)/amlogic
DEVICE_DTS = $$(SOC)-$(subst _,-,$(1))
endef
include $(SUBTARGET).mk
$(eval $(call BuildImage))

View File

@ -0,0 +1,10 @@
if printenv bootfromsd; then exit; else setenv ab 0; fi;
setenv bootcmd 'run start_autoscript; run storeboot'
setenv start_autoscript 'if mmcinfo; then run start_mmc_autoscript; fi; if usb start; then run start_usb_autoscript; fi; run start_emmc_autoscript'
setenv start_emmc_autoscript 'if fatload mmc 1 1020000 emmc_autoscript; then autoscr 1020000; fi;'
setenv start_mmc_autoscript 'if fatload mmc 0 1020000 s905_autoscript; then env delete usbdev; autoscr 1020000; fi;'
setenv start_usb_autoscript 'for usbdev in 0 1 2 3; do if fatload usb ${usbdev} 1020000 s905_autoscript; then autoscr 1020000; fi; done'
setenv upgrade_step 2
saveenv
sleep 1
reboot

View File

@ -0,0 +1,34 @@
echo "Start AMLOGIC mainline U-boot"
setenv l_mmc "0"
for l_devtype in "sd usb mmc" ; do
if test "${l_devtype}" = "usb"; then
setenv l_mmc "0 1 2 3"
fi
if test "${l_devtype}" = "mmc"; then
setenv l_mmc "1"
fi
if test "${l_devtype}" = "sd"; then
setenv devtype "mmc"
else
setenv devtype "${l_devtype}"
fi
for devnum in ${l_mmc} ; do
if test -e ${devtype} ${devnum}:1 /boot.scr; then
part uuid ${devtype} ${devnum}:2 uuid
setenv bootargs "console=tty0 no_console_suspend consoleblank=0 console=ttyAML0,115200n8 root=PARTUUID=${uuid} rw rootwait"
if printenv mac; then
setenv bootargs ${bootargs} mac=${mac}
elif printenv eth_mac; then
setenv bootargs ${bootargs} mac=${eth_mac}
elif printenv ethaddr; then
setenv bootargs ${bootargs} mac=${ethaddr}
fi
load ${devtype} ${devnum}:1 ${fdt_addr_r} /amlogic.dtb
load ${devtype} ${devnum}:1 ${kernel_addr_r} /kernel.img
fdt addr ${fdt_addr_r}
booti ${kernel_addr_r} - ${fdt_addr_r}
fi
done
done
# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr

View File

@ -0,0 +1,8 @@
if fatload mmc 1 0x1000000 u-boot.emmc; then go 0x1000000; fi;
setenv dtb_addr 0x1000000
setenv env_addr 0x1040000
setenv kernel_addr 0x11000000
setenv initrd_addr 0x13000000
setenv boot_start booti ${kernel_addr} ${initrd_addr} ${dtb_addr}
setenv addmac 'if printenv mac; then setenv bootargs ${bootargs} mac=${mac}; elif printenv eth_mac; then setenv bootargs ${bootargs} mac=${eth_mac}; elif printenv ethaddr; then setenv bootargs ${bootargs} mac=${ethaddr}; fi'
if fatload mmc 1 ${env_addr} uEnv.txt && env import -t ${env_addr} ${filesize}; setenv bootargs ${APPEND}; then if fatload mmc 1 ${kernel_addr} ${LINUX}; then if fatload mmc 1 ${initrd_addr} ${INITRD}; then if fatload mmc 1 ${dtb_addr} ${FDT}; then run addmac; run boot_start; fi; fi; fi; fi;

View File

@ -0,0 +1,60 @@
#!/bin/sh
# Copyright (C) 2006-2012 OpenWrt.org
set -e -x
if [ $# -ne 5 ] && [ $# -ne 6 ]; then
echo "SYNTAX: $0 <file> <kernel size> <kernel directory> <rootfs size> <rootfs image> [<align>]"
exit 1
fi
OUTPUT="$1"
KERNELSIZE="$2"
KERNELDIR="$3"
ROOTFSSIZE="$4"
ROOTFSIMAGE="$5"
ALIGN="$6"
USERDATASIZE="2048"
rm -f "$OUTPUT"
head=16
sect=63
# create partition table
set $(ptgen -o "$OUTPUT" -h $head -s $sect -p "${KERNELSIZE}m" -p "${ROOTFSSIZE}m" -p "${USERDATASIZE}m" ${ALIGN:+-l $ALIGN} ${SIGNATURE:+-S 0x$SIGNATURE})
KERNELOFFSET="$(($1 / 512))"
KERNELSIZE="$2"
ROOTFSOFFSET="$(($3 / 512))"
ROOTFSSIZE="$(($4 / 512))"
USERDATAOFFSET="$(($5 / 512))"
USERDATASIZE="$(($6 / 512))"
# Using mcopy -s ... is using READDIR(3) to iterate through the directory
# entries, hence they end up in the FAT filesystem in traversal order which
# breaks reproducibility.
# Implement recursive copy with reproducible order.
dos_dircopy() {
local entry
local baseentry
for entry in "$1"/* ; do
if [ -f "$entry" ]; then
mcopy -i "$OUTPUT.kernel" "$entry" ::"$2"
elif [ -d "$entry" ]; then
baseentry="$(basename "$entry")"
mmd -i "$OUTPUT.kernel" ::"$2""$baseentry"
dos_dircopy "$entry" "$2""$baseentry"/
fi
done
}
dd if=/dev/zero of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc count="$ROOTFSSIZE"
dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc
[ -n "$PADDING" ] && dd if=/dev/zero of="$OUTPUT" bs=512 seek="$USERDATAOFFSET" conv=notrunc count="$USERDATASIZE"
echo "RESET000" | dd of="$OUTPUT" bs=512 seek="$USERDATAOFFSET" conv=notrunc,sync count=1
mkfs.fat --invariant -n kernel -C "$OUTPUT.kernel" -S 512 "$((KERNELSIZE / 1024))"
LC_ALL=C dos_dircopy "$KERNELDIR" /
dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc
rm -f "$OUTPUT.kernel"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0-only
define Device/phicomm_n1
DEVICE_VENDOR := Phicomm
DEVICE_MODEL := N1
SOC := meson-gxl-s905d
UBOOT_DEVICE_NAME := phicomm-n1
IMAGE/sysupgrade.img.gz := boot-common | boot-script | aml-img | gzip | append-metadata
DEVICE_PACKAGES := kmod-usb-net-rtl8152 ethtool
DEVICE_PACKAGES += kmod-brcmfmac brcmfmac-firmware-43455-sdio-phicomm-n1
endef
TARGET_DEVICES += phicomm_n1

View File

@ -0,0 +1,16 @@
if test "${usbdev}" = ""; then
setenv devtype "mmc"
setenv devnum 0
else
setenv devtype "usb"
setenv devnum ${usbdev}
fi
if fatload ${devtype} ${devnum} 0x1000000 u-boot.emmc; then go 0x1000000; fi;
setenv dtb_addr 0x1000000
setenv env_addr 0x1040000
setenv kernel_addr 0x11000000
setenv initrd_addr 0x13000000
setenv boot_start booti ${kernel_addr} ${initrd_addr} ${dtb_addr}
setenv addmac 'if printenv mac; then setenv bootargs ${bootargs} mac=${mac}; elif printenv eth_mac; then setenv bootargs ${bootargs} mac=${eth_mac}; elif printenv ethaddr; then setenv bootargs ${bootargs} mac=${ethaddr}; fi'
if fatload ${devtype} ${devnum} ${env_addr} uEnv.txt && env import -t ${env_addr} ${filesize}; setenv bootargs ${APPEND}; then if fatload ${devtype} ${devnum} ${kernel_addr} ${LINUX}; then if fatload ${devtype} ${devnum} ${initrd_addr} ${INITRD}; then if fatload ${devtype} ${devnum} ${dtb_addr} ${FDT}; then run addmac; run boot_start; fi; fi; fi; fi;

View File

@ -0,0 +1,13 @@
define Package/base-files/postinst
#!/bin/sh
HOST_SED="$(subst ${STAGING_DIR_HOST},$${STAGING_DIR_HOST},$(SED))"
HOST_LN="$(subst ${STAGING_DIR_HOST},$${STAGING_DIR_HOST},$(LN))"
[ -n "$${IPKG_INSTROOT}" ] && {
$${HOST_SED} '/targets\/amlogic\/meson/d' "$${IPKG_INSTROOT}/etc/opkg/distfeeds.conf"
}
true
endef

View File

@ -0,0 +1,151 @@
#!/bin/sh
# Copy running iStoreOS to eMMC for amlogic
# Copyright (C) 2024 jjm2473@gmail.com
# part start size end
# boot 0x4400000/68M 0x4000000/64M 0x8400000
# rootfs 0x8400000/132M 0x10000000/256M 0x18400000
# (gap for amlogic bootloader 0x27400000 - 0x2F400000)
# overlay 0x2FC00000/764M 0x80000000/2G 0xAFC00000
. /lib/functions.sh
. /lib/functions/system.sh
include /lib/upgrade
NEWLINE="
"
function umount_disk() {
local mounted
local to="${1#/dev/}"
umount "/dev/$to"* 2>/dev/null
mounted="`mount | cut -d' ' -f1 | grep -Fm1 "/dev/$to"`"
if [ -n "$mounted" ] ; then
echo "can not umount $mounted" >&2
return 1
fi
return 0
}
function part_disk() {
local to="${1#/dev/}"
dd if=/dev/zero of="/dev/$to" bs=512 count=1 conv=notrunc 2>/dev/null
parted --script "/dev/$to" \
mktable msdos \
mkpart primary 68MiB 132MiB \
mkpart primary 132MiB 388MiB \
mkpart primary 764MiB 2812MiB
}
function get_bootdisk() {
local var=$1
local diskdev
export_bootdevice && export_partdevice diskdev 0 || {
echo "Unable to determine upgrade device" >&2
return 1
}
export "$var=$diskdev"
return 0
}
function get_emmcs() {
local disk index disks
local bootdisk=$1
index=1
for disk in `cd /sys/block && ls | grep '^mmcblk' | grep -Ev 'mmcblk\d+boot\d+'`; do
[[ "$bootdisk" = "$disk" ]] && continue
[ -b /dev/$disk ] && [ "`cat /sys/block/$disk/size`" -gt 0 ] || continue
local diskinfo="`parted -ms "/dev/$disk" unit GiB print 2>/dev/null | grep -m1 "^/dev/$disk:"`"
[ -z "$diskinfo" ] && continue
local size="`echo "$diskinfo" | cut -d: -f2`"
# check disk greater than 2.8GB
[ $(( `echo "${size%%GiB}" | sed 's/\.\(.\).*/ * 10 + \1/'` )) -ge 28 ] || continue
local model="`echo "$diskinfo" | cut -d: -f7 | sed 's/"/_/g'`"
disks="${disks}$index. $disk $size \"$model\"$NEWLINE"
index=$(($index + 1))
done
echo "$disks"
return 0
}
function get_emmc() {
local index
local var=$2
local emmcs="$(get_emmcs $1)"
[ -z "$emmcs" ] && {
echo "Get eMMC list failed! (Maybe already running on eMMC? Current boot disk is $1)" >&2
return 1
}
local count=$(echo "$emmcs" | wc -l)
if [ "$count" -gt 1 ]; then
while true; do
echo "Found these eMMC devices:"
echo "Index. device size model"
echo "$emmcs"
echo -n "Select a disk to install (input index then press Enter): "
read index || {
echo "No input!" >&2
exit 1
}
if [ -z "$index" ]; then
echo "Empty input!"
else
echo "$emmcs" | grep -q "^${index}. " && break
echo "Wrong index!"
fi
done
else
echo "Found eMMC device:"
echo "Index. device size model"
echo "$emmcs"
index=1
fi
local value=$(echo "$emmcs" | grep "^${index}. " | cut -d' ' -f 2)
export "$var=$value"
}
function main() {
local bootdisk yn partdev part partdevto to
get_bootdisk bootdisk
[ -z "$bootdisk" ] && return 1
get_emmc $bootdisk to
[ -n "$to" ] || return 1
echo -ne "Will install to $to, confirm? y/N [n]\b\b"
read yn
if [ "$yn" = Y -o "$yn" = y ]; then
echo ""
echo "umount /dev/$to*"
umount_disk "$to" || return 1
echo "part /dev/$to"
part_disk "$to" || return 1
partprobe "/dev/$to"
if export_partdevice partdev 1; then
# umount /boot
echo "try umount /boot"
/bin/mount -o noatime,remount,ro /dev/$partdev
/usr/bin/umount -R -d -l /dev/$partdev 2>/dev/null || /bin/umount -l /dev/$partdev
fi
sleep 1
echo "copy rom data from /dev/$bootdisk to /dev/$to"
for part in 1 2; do
# copy boot and rootfs partitions
export_partdevice partdev $part
partdevto=${to}p$part
echo "copy /dev/$partdev to /dev/$partdevto"
dd if=/dev/$partdev of=/dev/$partdevto bs=1M conv=notrunc
done
# mark RESET overlay partition
partdevto=${to}p3
echo "mark /dev/$partdevto as RESET"
echo "RESET000" | dd of="/dev/$partdevto" bs=512 count=1 conv=sync,fsync
echo "All Done!"
else
echo "Bye!"
fi
}
echo "Copy running iStoreOS to eMMC for amlogic"
echo ""
main

View File

@ -0,0 +1,710 @@
CONFIG_64BIT=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_KEEP_MEMBLOCK=y
CONFIG_ARCH_MESON=y
CONFIG_ARCH_MMAP_RND_BITS=18
CONFIG_ARCH_MMAP_RND_BITS_MAX=33
CONFIG_ARCH_MMAP_RND_BITS_MIN=18
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_STACKWALK=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_ARM64=y
CONFIG_ARM64_4K_PAGES=y
CONFIG_ARM64_CRYPTO=y
CONFIG_ARM64_MODULE_PLTS=y
CONFIG_ARM64_PAGE_SHIFT=12
CONFIG_ARM64_PA_BITS=48
CONFIG_ARM64_PA_BITS_48=y
CONFIG_ARM64_PTR_AUTH=y
CONFIG_ARM64_TAGGED_ADDR_ABI=y
CONFIG_ARM64_VA_BITS=48
# CONFIG_ARM64_VA_BITS_39 is not set
CONFIG_ARM64_VA_BITS_48=y
# CONFIG_ARMV8_DEPRECATED is not set
CONFIG_ARM_AMBA=y
CONFIG_ARM_ARCH_TIMER=y
CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
CONFIG_ARM_GIC=y
CONFIG_ARM_GIC_V2M=y
CONFIG_ARM_GIC_V3=y
CONFIG_ARM_GIC_V3_ITS=y
CONFIG_ARM_GIC_V3_ITS_PCI=y
CONFIG_ARM_MHU=y
# CONFIG_ARM_PL172_MPMC is not set
CONFIG_ARM_PSCI_CPUIDLE=y
CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
CONFIG_ARM_PSCI_FW=y
CONFIG_ARM_SBSA_WATCHDOG=y
CONFIG_ARM_SCMI_CPUFREQ=y
CONFIG_ARM_SCMI_POWER_DOMAIN=y
CONFIG_ARM_SCMI_PROTOCOL=y
CONFIG_ARM_SCPI_CPUFREQ=y
CONFIG_ARM_SCPI_POWER_DOMAIN=y
CONFIG_ARM_SCPI_PROTOCOL=y
CONFIG_ARM_SMC_WATCHDOG=y
CONFIG_ARM_SP805_WATCHDOG=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
CONFIG_ATA=y
CONFIG_ATA_LINK_SUPPORTS_LEDS=y
CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_BINFMT_MISC=y
CONFIG_BLK_CGROUP=y
CONFIG_BLK_DEV_BSG=y
CONFIG_BLK_DEV_BSGLIB=y
# CONFIG_BLK_DEV_DM is not set
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=y
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_MD is not set
CONFIG_BLK_DEV_SD=y
CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_PM=y
CONFIG_BLK_SCSI_REQUEST=y
CONFIG_BLOCK_COMPAT=y
CONFIG_BRCMSTB_GISB_ARB=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
# CONFIG_CFS_BANDWIDTH is not set
CONFIG_CGROUPS=y
CONFIG_CGROUP_BPF=y
CONFIG_CGROUP_CPUACCT=y
# CONFIG_CGROUP_DEBUG is not set
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
# CONFIG_CGROUP_NET_CLASSID is not set
# CONFIG_CGROUP_NET_PRIO is not set
CONFIG_CGROUP_PIDS=y
# CONFIG_CGROUP_RDMA is not set
CONFIG_CGROUP_SCHED=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CLKDEV_LOOKUP=y
CONFIG_CLONE_BACKWARDS=y
CONFIG_COMMON_CLK=y
CONFIG_COMMON_CLK_AXG=y
# CONFIG_COMMON_CLK_AXG_AUDIO is not set
CONFIG_COMMON_CLK_CS2000_CP=y
CONFIG_COMMON_CLK_G12A=y
CONFIG_COMMON_CLK_GXBB=y
CONFIG_COMMON_CLK_MESON_AO_CLKC=y
CONFIG_COMMON_CLK_MESON_CPU_DYNDIV=y
CONFIG_COMMON_CLK_MESON_DUALDIV=y
CONFIG_COMMON_CLK_MESON_EE_CLKC=y
CONFIG_COMMON_CLK_MESON_MPLL=y
CONFIG_COMMON_CLK_MESON_PLL=y
CONFIG_COMMON_CLK_MESON_REGMAP=y
CONFIG_COMMON_CLK_MESON_VID_PLL_DIV=y
CONFIG_COMMON_CLK_PWM=y
CONFIG_COMMON_CLK_S2MPS11=y
CONFIG_COMMON_CLK_SCMI=y
CONFIG_COMMON_CLK_SCPI=y
CONFIG_COMMON_CLK_VC5=y
CONFIG_COMMON_CLK_XGENE=y
CONFIG_COMPAT=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_CONFIGFS_FS=y
CONFIG_CONTIG_ALLOC=y
CONFIG_CPUFREQ_DT=y
CONFIG_CPUFREQ_DT_PLATDEV=y
CONFIG_CPUSETS=y
CONFIG_CPU_FREQ=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_IDLE=y
CONFIG_CPU_IDLE_GOV_MENU=y
CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
CONFIG_CPU_PM=y
CONFIG_CPU_RMAP=y
CONFIG_CRASH_CORE=y
CONFIG_CRASH_DUMP=y
CONFIG_CRC16=y
CONFIG_CRC7=y
CONFIG_CRC_ITU_T=y
CONFIG_CRC_T10DIF=y
CONFIG_CRYPTO_AES_ARM64=y
CONFIG_CRYPTO_AES_ARM64_CE=y
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_CRC32=y
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_ECHAINIV=y
CONFIG_CRYPTO_GHASH_ARM64_CE=y
CONFIG_CRYPTO_HASH_INFO=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_JITTERENTROPY=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_LIB_SHA256=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA1_ARM64_CE=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA256_ARM64=y
CONFIG_CRYPTO_SHA2_ARM64_CE=y
CONFIG_CRYPTO_SIMD=y
CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_DEVFREQ_GOV_PASSIVE is not set
# CONFIG_DEVFREQ_GOV_PERFORMANCE is not set
# CONFIG_DEVFREQ_GOV_POWERSAVE is not set
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
# CONFIG_DEVFREQ_GOV_USERSPACE is not set
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEV_COREDUMP=y
CONFIG_DMADEVICES=y
CONFIG_DMA_DIRECT_REMAP=y
CONFIG_DMA_ENGINE=y
CONFIG_DMA_ENGINE_RAID=y
CONFIG_DMA_OF=y
CONFIG_DMA_REMAP=y
CONFIG_DMA_SHARED_BUFFER=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DNS_RESOLVER=y
CONFIG_DTC=y
CONFIG_DT_IDLE_STATES=y
CONFIG_DWMAC_GENERIC=y
CONFIG_DWMAC_MESON=y
CONFIG_DW_WATCHDOG=y
CONFIG_EDAC=y
# CONFIG_EDAC_DEBUG is not set
# CONFIG_EDAC_DMC520 is not set
CONFIG_EDAC_LEGACY_SYSFS=y
CONFIG_EDAC_SUPPORT=y
# CONFIG_EDAC_THUNDERX is not set
# CONFIG_EDAC_XGENE is not set
CONFIG_ENERGY_MODEL=y
CONFIG_EXT2_FS=y
# CONFIG_EXT2_FS_POSIX_ACL is not set
# CONFIG_EXT2_FS_SECURITY is not set
CONFIG_EXT3_FS=y
# CONFIG_EXT3_FS_POSIX_ACL is not set
# CONFIG_EXT3_FS_SECURITY is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXTCON=y
CONFIG_EXTCON_USB_GPIO=y
CONFIG_F2FS_FS=y
CONFIG_FAILOVER=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_FAT_FS=y
CONFIG_FB=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SIMPLE=y
CONFIG_FIXED_PHY=y
CONFIG_FIX_EARLYCON_MEM=y
# CONFIG_FLATMEM_MANUAL is not set
CONFIG_FRAME_POINTER=y
CONFIG_FREEZER=y
CONFIG_FS_IOMAP=y
CONFIG_FS_MBCACHE=y
CONFIG_FS_POSIX_ACL=y
CONFIG_FW_CACHE=y
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_GARP=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_GENERIC_ARCH_TOPOLOGY=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_IDLE_POLL_SETUP=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_PHY=y
CONFIG_GENERIC_PINCONF=y
CONFIG_GENERIC_PINCTRL_GROUPS=y
CONFIG_GENERIC_PINMUX_FUNCTIONS=y
CONFIG_GENERIC_SCHED_CLOCK=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GLOB=y
CONFIG_GPIOLIB=y
CONFIG_GPIO_GENERIC=y
CONFIG_GPIO_GENERIC_PLATFORM=y
CONFIG_HANDLE_DOMAIN_IRQ=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_HAS_DMA=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_HOLES_IN_ZONE=y
CONFIG_HOTPLUG_CPU=y
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_HVC_DRIVER=y
CONFIG_HWMON=y
# CONFIG_HWPOISON_INJECT is not set
CONFIG_HWSPINLOCK=y
CONFIG_I2C=y
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y
CONFIG_I2C_DESIGNWARE_CORE=y
CONFIG_I2C_DESIGNWARE_PLATFORM=y
CONFIG_I2C_MESON=y
CONFIG_I2C_MUX=y
CONFIG_I2C_MUX_PCA954x=y
CONFIG_I2C_SLAVE=y
# CONFIG_I2C_SLAVE_TESTUNIT is not set
CONFIG_IIO=y
CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_INDIRECT_PIO=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_INTERCONNECT=y
CONFIG_INTERVAL_TREE=y
CONFIG_IOMMU_API=y
CONFIG_IPC_NS=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_BOOTP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_RARP is not set
CONFIG_IRQCHIP=y
CONFIG_IRQ_BYPASS_MANAGER=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_IRQ_POLL=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_IRQ_WORK=y
CONFIG_JBD2=y
CONFIG_JUMP_LABEL=y
CONFIG_KALLSYMS=y
CONFIG_KEXEC=y
CONFIG_KEXEC_CORE=y
CONFIG_KEXEC_FILE=y
CONFIG_KEYS=y
CONFIG_KSM=y
CONFIG_KVM=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_VFIO=y
CONFIG_LEDS_GPIO=y
CONFIG_LEDS_PWM=y
CONFIG_LEDS_SYSCON=y
CONFIG_LEDS_TRIGGER_CPU=y
CONFIG_LEDS_TRIGGER_DISK=y
CONFIG_LEDS_TRIGGER_PANIC=y
CONFIG_LIBFDT=y
CONFIG_LOCK_DEBUGGING_SUPPORT=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAILBOX=y
# CONFIG_MAILBOX_TEST is not set
CONFIG_MD=y
CONFIG_MDIO_BITBANG=y
CONFIG_MDIO_BUS=y
CONFIG_MDIO_BUS_MUX=y
CONFIG_MDIO_BUS_MUX_MESON_G12A=y
CONFIG_MDIO_BUS_MUX_MMIOREG=y
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=y
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_DEVRES=y
# CONFIG_MDIO_GPIO is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMFD_CREATE=y
CONFIG_MEMORY=y
CONFIG_MEMORY_BALLOON=y
CONFIG_MEMORY_FAILURE=y
CONFIG_MEMORY_HOTPLUG=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_MEMTEST=y
# CONFIG_MESON_CANVAS is not set
CONFIG_MESON_CLK_MEASURE=y
CONFIG_MESON_EE_PM_DOMAINS=y
CONFIG_MESON_GXBB_WATCHDOG=y
CONFIG_MESON_GXL_PHY=y
CONFIG_MESON_GX_PM_DOMAINS=y
CONFIG_MESON_GX_SOCINFO=y
CONFIG_MESON_IRQ_GPIO=y
CONFIG_MESON_MX_SOCINFO=y
CONFIG_MESON_SARADC=y
CONFIG_MESON_SECURE_PM_DOMAINS=y
CONFIG_MESON_SM=y
# CONFIG_MESON_WATCHDOG is not set
CONFIG_MFD_CORE=y
CONFIG_MFD_SEC_CORE=y
CONFIG_MFD_SYSCON=y
CONFIG_MFD_VEXPRESS_SYSREG=y
CONFIG_MIGRATION=y
CONFIG_MMC=y
CONFIG_MMC_ARMMMCI=y
CONFIG_MMC_BLOCK=y
CONFIG_MMC_CQHCI=y
CONFIG_MMC_DW=y
# CONFIG_MMC_DW_BLUEFIELD is not set
# CONFIG_MMC_DW_EXYNOS is not set
# CONFIG_MMC_DW_HI3798CV200 is not set
# CONFIG_MMC_DW_K3 is not set
# CONFIG_MMC_DW_PCI is not set
CONFIG_MMC_DW_PLTFM=y
CONFIG_MMC_MESON_GX=y
# CONFIG_MMC_MESON_MX_SDIO is not set
CONFIG_MMC_MTK=y
CONFIG_MMC_SDHCI=y
CONFIG_MMC_SDHCI_IO_ACCESSORS=y
CONFIG_MMC_SDHCI_OF_DWCMSHC=y
# CONFIG_MMC_SDHCI_PCI is not set
CONFIG_MMC_SDHCI_PLTFM=y
CONFIG_MMC_SPI=y
CONFIG_MMU_NOTIFIER=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_MRP=y
CONFIG_MULTIPLEXER=y
# CONFIG_MUSB_PIO_ONLY is not set
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_MUX_MMIO=y
CONFIG_MV_XOR_V2=y
CONFIG_NAMESPACES=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NETFILTER=y
CONFIG_NET_CLS_ACT=y
# CONFIG_NET_CLS_CGROUP is not set
CONFIG_NET_FAILOVER=y
CONFIG_NET_FLOW_LIMIT=y
CONFIG_NET_NS=y
CONFIG_NLS=y
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_ISO8859_1=y
CONFIG_NOP_USB_XCEIV=y
CONFIG_NO_HZ_COMMON=y
CONFIG_NO_HZ_IDLE=y
CONFIG_NR_CPUS=256
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
CONFIG_OF=y
CONFIG_OF_ADDRESS=y
CONFIG_OF_EARLY_FLATTREE=y
CONFIG_OF_FLATTREE=y
CONFIG_OF_GPIO=y
CONFIG_OF_IRQ=y
CONFIG_OF_KOBJ=y
CONFIG_OF_MDIO=y
CONFIG_OF_NET=y
CONFIG_OID_REGISTRY=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_OPTEE=y
CONFIG_OPTEE_SHM_NUM_PRIV_PAGES=1
CONFIG_PADATA=y
CONFIG_PAGE_COUNTER=y
CONFIG_PAGE_REPORTING=y
CONFIG_PARAVIRT=y
CONFIG_PARTITION_PERCPU=y
CONFIG_PCI=y
CONFIG_PCIEAER=y
CONFIG_PCIEPORTBUS=y
CONFIG_PCIE_DW=y
CONFIG_PCIE_DW_HOST=y
CONFIG_PCIE_PME=y
CONFIG_PCI_HOST_COMMON=y
CONFIG_PCI_HOST_GENERIC=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PASID=y
CONFIG_PCS_XPCS=y
CONFIG_PGTABLE_LEVELS=4
CONFIG_PHYLIB=y
CONFIG_PHYLINK=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_PHY_MESON8B_USB2=y
CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG=y
CONFIG_PHY_MESON_AXG_PCIE=y
CONFIG_PHY_MESON_G12A_USB2=y
CONFIG_PHY_MESON_G12A_USB3_PCIE=y
CONFIG_PHY_MESON_GXL_USB2=y
CONFIG_PHY_SAMSUNG_USB2=y
CONFIG_PHY_XGENE=y
CONFIG_PID_NS=y
CONFIG_PINCTRL=y
CONFIG_PINCTRL_MESON=y
CONFIG_PINCTRL_MESON8_PMX=y
CONFIG_PINCTRL_MESON_A1=y
CONFIG_PINCTRL_MESON_AXG=y
CONFIG_PINCTRL_MESON_AXG_PMX=y
CONFIG_PINCTRL_MESON_G12A=y
CONFIG_PINCTRL_MESON_GXBB=y
CONFIG_PINCTRL_MESON_GXL=y
CONFIG_PL330_DMA=y
CONFIG_PLATFORM_MHU=y
CONFIG_PM=y
CONFIG_PM_CLK=y
CONFIG_PM_DEVFREQ=y
# CONFIG_PM_DEVFREQ_EVENT is not set
CONFIG_PM_GENERIC_DOMAINS=y
CONFIG_PM_GENERIC_DOMAINS_OF=y
CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
CONFIG_PM_OPP=y
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
CONFIG_PM_STD_PARTITION=""
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
CONFIG_POWER_RESET=y
CONFIG_POWER_RESET_SYSCON=y
# CONFIG_POWER_RESET_VEXPRESS is not set
CONFIG_POWER_SUPPLY=y
CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PRINTK_TIME=y
CONFIG_PRINT_QUOTA_WARNING=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_PROC_VMCORE=y
CONFIG_PROFILING=y
CONFIG_PSTORE=y
CONFIG_PWM=y
CONFIG_PWM_MESON=y
CONFIG_PWM_SYSFS=y
# CONFIG_QFMT_V1 is not set
# CONFIG_QFMT_V2 is not set
CONFIG_QUEUED_RWLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_QUOTA=y
CONFIG_QUOTACTL=y
# CONFIG_QUOTA_NETLINK_INTERFACE is not set
CONFIG_RANDOMIZE_BASE=y
CONFIG_RANDOMIZE_MODULE_REGION_FULL=y
CONFIG_RAS=y
CONFIG_RATIONAL=y
# CONFIG_RAVE_SP_CORE is not set
CONFIG_REALTEK_PHY=y
CONFIG_REBOOT_MODE=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=y
CONFIG_REGMAP_IRQ=y
CONFIG_REGMAP_MMIO=y
CONFIG_REGULATOR=y
CONFIG_REGULATOR_FAN53555=y
CONFIG_REGULATOR_FIXED_VOLTAGE=y
CONFIG_REGULATOR_GPIO=y
CONFIG_REGULATOR_PWM=y
CONFIG_RELOCATABLE=y
CONFIG_REMOTEPROC=y
# CONFIG_REMOTEPROC_CDEV is not set
CONFIG_RESET_CONTROLLER=y
CONFIG_RESET_MESON=y
# CONFIG_RESET_MESON_AUDIO_ARB is not set
CONFIG_RESET_SCMI=y
CONFIG_RFS_ACCEL=y
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
CONFIG_RPMSG=y
# CONFIG_RPMSG_CHAR is not set
CONFIG_RPS=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_DRV_MESON_VRTC=y
# CONFIG_RTC_DRV_S5M is not set
CONFIG_RTC_I2C_AND_SPI=y
# CONFIG_RT_GROUP_SCHED is not set
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=y
CONFIG_SATA_HOST=y
CONFIG_SCHED_AUTOGROUP=y
CONFIG_SCHED_INFO=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_SMT=y
CONFIG_SCSI=y
CONFIG_SCSI_HISI_SAS=y
# CONFIG_SCSI_PROC_FS is not set
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_ATTRS=y
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SAS_LIBSAS=y
CONFIG_SCSI_UFSHCD=y
# CONFIG_SCSI_UFSHCD_PCI is not set
CONFIG_SCSI_UFSHCD_PLATFORM=y
# CONFIG_SCSI_UFS_BSG is not set
# CONFIG_SCSI_UFS_CDNS_PLATFORM is not set
# CONFIG_SCSI_UFS_DWC_TC_PLATFORM is not set
CONFIG_SECURITY=y
# CONFIG_SECURITY_NETWORK is not set
CONFIG_SERIAL_DEV_BUS=y
CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_MESON=y
CONFIG_SERIAL_MESON_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_SG_POOL=y
CONFIG_SMP=y
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_SOC_BRCMSTB=y
CONFIG_SOC_BUS=y
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_MANUAL=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSE_IRQ=y
CONFIG_SPI=y
CONFIG_SPI_CADENCE_QUADSPI=y
CONFIG_SPI_MASTER=y
CONFIG_SPI_MEM=y
# CONFIG_SPI_MESON_SPICC is not set
# CONFIG_SPI_MESON_SPIFC is not set
CONFIG_SRAM=y
CONFIG_SRCU=y
CONFIG_STMMAC_ETH=y
CONFIG_STMMAC_PLATFORM=y
# CONFIG_STMMAC_SELFTESTS is not set
CONFIG_SWIOTLB=y
CONFIG_SWPHY=y
CONFIG_SYSCON_REBOOT_MODE=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_SYS_SUPPORTS_HUGETLBFS=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
CONFIG_TASK_XACCT=y
CONFIG_TCG_TIS_I2C_INFINEON=y
CONFIG_TCG_TPM=y
CONFIG_TEE=y
CONFIG_THERMAL=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_OF=y
CONFIG_THREAD_INFO_IN_TASK=y
CONFIG_TICK_CPU_ACCOUNTING=y
CONFIG_TIMER_OF=y
CONFIG_TIMER_PROBE=y
CONFIG_TIME_NS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_TREE_RCU=y
CONFIG_TREE_SRCU=y
CONFIG_TUN=y
# CONFIG_UACCE is not set
# CONFIG_UCLAMP_TASK is not set
CONFIG_UNMAP_KERNEL_AT_EL0=y
CONFIG_USB=y
CONFIG_USB_BDC_UDC=y
CONFIG_USB_CHIPIDEA=y
CONFIG_USB_CHIPIDEA_HOST=y
CONFIG_USB_CHIPIDEA_UDC=y
CONFIG_USB_COMMON=y
CONFIG_USB_CONN_GPIO=y
CONFIG_USB_DWC2=y
CONFIG_USB_DWC2_DUAL_ROLE=y
CONFIG_USB_DWC3=y
CONFIG_USB_DWC3_DUAL_ROLE=y
# CONFIG_USB_DWC3_GADGET is not set
# CONFIG_USB_DWC3_HOST is not set
CONFIG_USB_DWC3_MESON_G12A=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_HCD_PLATFORM=y
CONFIG_USB_GADGET=y
CONFIG_USB_HSIC_USB3503=y
CONFIG_USB_ISP1760=y
CONFIG_USB_ISP1760_DUAL_ROLE=y
# CONFIG_USB_ISP1760_GADGET_ROLE is not set
CONFIG_USB_ISP1760_HCD=y
# CONFIG_USB_ISP1760_HOST_ROLE is not set
CONFIG_USB_ISP1761_UDC=y
CONFIG_USB_MUSB_DUAL_ROLE=y
# CONFIG_USB_MUSB_GADGET is not set
CONFIG_USB_MUSB_HDRC=y
# CONFIG_USB_MUSB_HOST is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PLATFORM=y
CONFIG_USB_OTG=y
CONFIG_USB_PHY=y
CONFIG_USB_ROLE_SWITCH=y
CONFIG_USB_SNP_CORE=y
CONFIG_USB_SNP_UDC_PLAT=y
CONFIG_USB_STORAGE=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_ULPI=y
CONFIG_USB_ULPI_BUS=y
CONFIG_USB_ULPI_VIEWPORT=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PLATFORM=y
CONFIG_USER_NS=y
CONFIG_UTS_NS=y
CONFIG_VEXPRESS_CONFIG=y
CONFIG_VFAT_FS=y
CONFIG_VFIO=y
CONFIG_VFIO_IOMMU_TYPE1=y
# CONFIG_VFIO_MDEV is not set
# CONFIG_VFIO_NOIOMMU is not set
CONFIG_VFIO_PCI=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI_MMAP=y
# CONFIG_VFIO_PLATFORM is not set
CONFIG_VFIO_VIRQFD=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_VIRTUALIZATION=y
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_VMAP_STACK=y
CONFIG_WANT_DEV_COREDUMP=y
CONFIG_WATCHDOG_CORE=y
CONFIG_XARRAY_MULTI=y
CONFIG_XPS=y
CONFIG_XXHASH=y
# CONFIG_ZONE_DEVICE is not set
CONFIG_ZONE_DMA32=y

View File

@ -0,0 +1,10 @@
ARCH:=aarch64
CPU_TYPE:=cortex-a53
BOARDNAME:=Meson S905x boards (64 bit)
DEFAULT_PACKAGES+=ethtool parted kmod-fb
define Target/Description
Build firmware image for Amlogic S905x devices.
This firmware features a 64 bit kernel.
endef

View File

@ -0,0 +1,69 @@
define Package/brcmfmac-firmware-43455-sdio-phicomm-n1
SECTION:=firmware
CATEGORY:=Firmware
TITLE:=Broadcom BCM43455 firmware for Phicomm N1
VERSION:=1.0.0
DEPENDS:=+brcmfmac-firmware-43455-sdio +brcmfmac-firmware-43455-sdio-rpi-4b
endef
define Package/brcmfmac-firmware-43455-sdio-phicomm-n1/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) brcmfmac43455-sdio.raspberrypi,4-model-b.txt $(1)/lib/firmware/brcm/brcmfmac43455-sdio.phicomm,n1.txt
$(LN) brcmfmac43455-sdio.bin $(1)/lib/firmware/brcm/brcmfmac43455-sdio.phicomm,n1.bin
$(LN) brcmfmac43455-sdio.clm_blob $(1)/lib/firmware/brcm/brcmfmac43455-sdio.phicomm,n1.clm_blob
endef
$(eval $(call BuildPackage,brcmfmac-firmware-43455-sdio-phicomm-n1))
define KernelPackage/drm-amlogic-meson
SUBMENU:=$(VIDEO_MENU)
DEPENDS:=@TARGET_amlogic_meson +kmod-drm +kmod-drm-kms-helper +kmod-meson-canvas
TITLE:=DRM for Amlogic meson
KCONFIG:=\
CONFIG_DRM_MESON \
CONFIG_DRM_DW_HDMI \
CONFIG_DRM_DW_HDMI_CEC
FILES:=\
$(LINUX_DIR)/drivers/gpu/drm/meson/meson-drm.ko \
$(LINUX_DIR)/drivers/gpu/drm/bridge/synopsys/dw-hdmi.ko \
$(LINUX_DIR)/drivers/gpu/drm/bridge/synopsys/dw-hdmi-cec.ko \
$(LINUX_DIR)/drivers/media/cec/cec.ko@lt5.10 \
$(LINUX_DIR)/drivers/media/cec/core/cec.ko@ge5.10
AUTOLOAD:=$(call AutoLoad,80,dw-hdmi-cec meson-drm)
endef
define KernelPackage/drm-amlogic-meson/description
DRM for Amlogic meson
endef
$(eval $(call KernelPackage,drm-amlogic-meson))
define KernelPackage/drm-amlogic-meson-hdmitx
SUBMENU:=$(VIDEO_MENU)
DEPENDS:=kmod-drm-amlogic-meson
TITLE:=Meson HDMI TX
KCONFIG:=\
CONFIG_DRM_MESON_DW_HDMI
FILES:=\
$(LINUX_DIR)/drivers/gpu/drm/meson/meson_dw_hdmi.ko
AUTOLOAD:=$(call AutoLoad,70,meson_dw_hdmi)
endef
define KernelPackage/drm-amlogic-meson-hdmitx/description
Support HDMI TX on meson
endef
$(eval $(call KernelPackage,drm-amlogic-meson-hdmitx))
define KernelPackage/meson-canvas
SUBMENU:=$(VIDEO_MENU)
DEPENDS:=@TARGET_amlogic_meson
TITLE:=Amlogic Meson Canvas driver
HIDDEN:=1
KCONFIG:=\
CONFIG_MESON_CANVAS
FILES:=\
$(LINUX_DIR)/drivers/soc/amlogic/meson-canvas.ko
endef
$(eval $(call KernelPackage,meson-canvas))

View File

@ -0,0 +1,26 @@
From c5aab1467eb35daa5324c577fa4a0aad5b994abf Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Tue, 26 Mar 2024 11:16:52 +0800
Subject: [PATCH] arm64: dts: amlogic meson-gxl-s905d-p230 fix cpu high load
---
arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
index b2ab05c22..f025109f2 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-p230.dts
@@ -86,8 +86,7 @@ external_phy: ethernet-phy@0 {
reset-gpios = <&gpio GPIOZ_14 GPIO_ACTIVE_LOW>;
interrupt-parent = <&gpio_intc>;
- interrupts = <29 IRQ_TYPE_LEVEL_LOW>;
- eee-broken-1000t;
+ interrupts = <25 IRQ_TYPE_LEVEL_LOW>;
};
};
--
2.41.0

View File

@ -0,0 +1,27 @@
From fcfbb0e2df465d3dba479735438e548aa6702f86 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Tue, 26 Mar 2024 11:17:51 +0800
Subject: [PATCH] arm64: dts: amlogic meson-gxl-s905d-phicomm-n1 improve ethmac
stability
---
arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
index 393d3cb33..56e88df8c 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
@@ -33,3 +33,9 @@ &cvbs_vdac_port {
&usb {
dr_mode = "host";
};
+
+&ethmac {
+ snps,aal;
+ snps,txpbl = <0x8>;
+ snps,rxpbl = <0x8>;
+};
--
2.41.0

View File

@ -0,0 +1,43 @@
From 242335daf59d50d323b9234cca083774a30f340d Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Tue, 26 Mar 2024 13:15:11 +0800
Subject: [PATCH] dts: amlogic meson-gxl-s905d-phicomm-n1 aliases node
---
.../boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
index 56e88df8c..99311bee0 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
@@ -11,6 +11,17 @@ / {
compatible = "phicomm,n1", "amlogic,s905d", "amlogic,meson-gxl";
model = "Phicomm N1";
+ aliases {
+ mmc0 = &sd_emmc_b;
+ mmc1 = &sd_emmc_c;
+ mmc2 = &sd_emmc_a;
+
+ led-boot = &led_work;
+ led-failsafe = &led_work;
+ led-running = &led_work;
+ led-upgrade = &led_work;
+ };
+
cvbs-connector {
status = "disabled";
};
@@ -18,7 +29,7 @@ cvbs-connector {
leds {
compatible = "gpio-leds";
- led {
+ led_work: led {
label = "n1:white:status";
gpios = <&gpio_ao GPIOAO_9 GPIO_ACTIVE_HIGH>;
default-state = "on";
--
2.41.0

View File

@ -0,0 +1,27 @@
From 128dd33903d6ef59548a616d84ef1e921006cb28 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Tue, 26 Mar 2024 15:04:27 +0800
Subject: [PATCH] dts: amlogic meson-gxl-s905d-phicomm-n1 disable sd
---
arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
index 99311bee0..e24c5d8f7 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
@@ -45,6 +45,10 @@ &usb {
dr_mode = "host";
};
+&sd_emmc_b {
+ status = "disabled";
+};
+
&ethmac {
snps,aal;
snps,txpbl = <0x8>;
--
2.41.0

View File

@ -0,0 +1,28 @@
From 45ad4994a41d96e612dfe0a2775aad4e57c483f7 Mon Sep 17 00:00:00 2001
From: jjm2473 <1129525450@qq.com>
Date: Tue, 26 Mar 2024 15:04:50 +0800
Subject: [PATCH] dts: amlogic meson-gxl-s905d-phicomm-n1 sdio speed
---
arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
index e24c5d8f7..c3840c434 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
@@ -45,6 +45,11 @@ &usb {
dr_mode = "host";
};
+&sd_emmc_a {
+ max-frequency = <80000000>;
+ sd-uhs-ddr50;
+};
+
&sd_emmc_b {
status = "disabled";
};
--
2.41.0