diff --git a/board/batocera/qualcomm/sm8550/fsoverlay/etc/init.d/S05user b/board/batocera/qualcomm/sm8550/fsoverlay/etc/init.d/S05user new file mode 100755 index 00000000000..947c749da1a --- /dev/null +++ b/board/batocera/qualcomm/sm8550/fsoverlay/etc/init.d/S05user @@ -0,0 +1,72 @@ +#!/bin/sh +# + +start_services() +{ + #QIPCRTR Name Service - dependency of following services + printf "Starting QIPCRTR Name Service: " + start-stop-daemon -S -b -m -p /var/run/qrtr-ns.pid --exec /usr/bin/qrtr-ns -- -f 1 + if [ $? != 0 ]; then + echo "Starting QIPCRTR Name Service: FAILED" + exit 1 + else + echo "OK" + fi + #Qualcomm PD mapper service + printf "Starting Qualcomm PD mapper service: " + start-stop-daemon -S -b -m -p /var/run/pd-mapper.pid --exec /usr/bin/pd-mapper + if [ $? != 0 ]; then + echo "Starting Qualcomm PD mapper service: FAILED" + exit 1 + else + echo "OK" + fi + #QRTR TFTP service + printf "Starting QRTR TFTP service: " + start-stop-daemon -S -b -m -p /var/run/tqftpserv.pid --exec /usr/bin/tqftpserv + if [ $? != 0 ]; then + echo "Starting QRTR TFTP service: FAILED" + exit 1 + else + echo "OK" + fi + #Qualcomm remotefs service + printf "Starting Qualcomm remotefs service: " + start-stop-daemon -S -b -m -p /var/run/rmtfs.pid --exec /usr/bin/rmtfs -- -r -P -s + if [ $? != 0 ]; then + echo "Starting Qualcomm remotefs service: FAILED" + exit 1 + else + echo "OK" + fi +} + +stop_services() +{ + printf "Stopping QIPCRTR Name Service: " + start-stop-daemon -K -q -p /var/run/qrtr-ns.pid + killall qrtr-ns + start-stop-daemon -K -q -p /var/run/pd-mapper.pid + killall pd-mapper + start-stop-daemon -K -q -p /var/run/tqftpserv.pid + killall tqftpserv + start-stop-daemon -K -q -p /var/run/rmtfs.pid + killall rmtfs + echo "OK" +} + +case "$1" in + start) + start_services + ;; + stop) + stop_services + ;; + restart|reload) + $0 stop + $0 start + ;; + *) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac diff --git a/board/batocera/qualcomm/sm8550/fsoverlay/etc/init.d/S50btaddr b/board/batocera/qualcomm/sm8550/fsoverlay/etc/init.d/S50btaddr new file mode 100755 index 00000000000..65724f9b04d --- /dev/null +++ b/board/batocera/qualcomm/sm8550/fsoverlay/etc/init.d/S50btaddr @@ -0,0 +1,15 @@ +#!/bin/bash + +if test "$1" != "start" +then + exit 0 +fi + +printf "Set Bluetooth Address to MAC: " + +mac="$(echo $(cat /userdata/system/machine-id; echo bluetooth)| sha256sum -)" +bt_mac=$(echo "42:${mac:0:2}:${mac:4:2}:${mac:8:2}:${mac:12:2}:${mac:16:2}") +echo $bt_mac +/usr/bin/bluetoothctl mgmt.public-addr $bt_mac + +echo " OK" diff --git a/board/batocera/qualcomm/sm8550/fsoverlay/etc/udev/rules.d/99-ignore-odin2-gamepad.rules b/board/batocera/qualcomm/sm8550/fsoverlay/etc/udev/rules.d/99-ignore-odin2-gamepad.rules new file mode 100644 index 00000000000..86fb1499033 --- /dev/null +++ b/board/batocera/qualcomm/sm8550/fsoverlay/etc/udev/rules.d/99-ignore-odin2-gamepad.rules @@ -0,0 +1 @@ +SUBSYSTEM=="input", ATTRS{name}=="Ayn Odin2 Gamepad", MODE="0666", ENV{ID_INPUT_MOUSE}="0", ENV{ID_INPUT_JOYSTICK}="1" \ No newline at end of file diff --git a/board/batocera/qualcomm/sm8550/linux_sm8550-defconfig.config b/board/batocera/qualcomm/sm8550/linux_sm8550-defconfig.config new file mode 100644 index 00000000000..f96166c4066 --- /dev/null +++ b/board/batocera/qualcomm/sm8550/linux_sm8550-defconfig.config @@ -0,0 +1,1248 @@ +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_DEFAULT_HOSTNAME="ohmyqcom" +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_WATCH_QUEUE=y +CONFIG_AUDIT=y +# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_PRELOAD=y +CONFIG_BPF_PRELOAD_UMD=y +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_PREEMPT_DYNAMIC=y +CONFIG_SCHED_CORE=y +CONFIG_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_IRQ_TIME_ACCOUNTING=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_PSI=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=20 +CONFIG_PRINTK_INDEX=y +CONFIG_UCLAMP_TASK=y +CONFIG_NUMA_BALANCING=y +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_UCLAMP_TASK_GROUP=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_RDMA=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CPUSETS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_BPF=y +CONFIG_CGROUP_MISC=y +CONFIG_NAMESPACES=y +CONFIG_USER_NS=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_BLK_DEV_INITRD=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_INITRAMFS_PRESERVE_MTIME is not set +CONFIG_EXPERT=y +CONFIG_SGETMASK_SYSCALL=y +CONFIG_PROFILING=y +CONFIG_KEXEC=y +CONFIG_KEXEC_FILE=y +CONFIG_KEXEC_SIG=y +CONFIG_ARCH_QCOM=y +# CONFIG_ARM64_ERRATUM_2658417 is not set +# CONFIG_ARM64_ERRATUM_3117295 is not set +CONFIG_ARM64_VA_BITS_48=y +CONFIG_SCHED_MC=y +CONFIG_SCHED_SMT=y +CONFIG_NUMA=y +CONFIG_NODES_SHIFT=9 +CONFIG_PARAVIRT_TIME_ACCOUNTING=y +CONFIG_ARM64_SW_TTBR0_PAN=y +CONFIG_COMPAT=y +CONFIG_ARMV8_DEPRECATED=y +CONFIG_SWP_EMULATION=y +CONFIG_CP15_BARRIER_EMULATION=y +CONFIG_SETEND_EMULATION=y +CONFIG_ARM64_PMEM=y +CONFIG_RANDOMIZE_BASE=y +CONFIG_PM_DEBUG=y +CONFIG_PM_TEST_SUSPEND=y +CONFIG_ENERGY_MODEL=y +CONFIG_CPU_IDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_ARM_QCOM_CPUFREQ_HW=y +CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y +# CONFIG_GCC_PLUGINS is not set +CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS=y +CONFIG_BLK_DEV_ZONED=y +CONFIG_BLK_DEV_THROTTLING=y +CONFIG_BLK_DEV_THROTTLING_LOW=y +CONFIG_BLK_WBT=y +CONFIG_BLK_CGROUP_IOLATENCY=y +CONFIG_BLK_CGROUP_IOCOST=y +CONFIG_BLK_CGROUP_IOPRIO=y +CONFIG_BLK_SED_OPAL=y +CONFIG_BLK_INLINE_ENCRYPTION=y +CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK=y +# CONFIG_MQ_IOSCHED_KYBER is not set +CONFIG_BINFMT_MISC=y +CONFIG_ZSWAP=y +CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y +CONFIG_ZBUD=y +CONFIG_Z3FOLD=y +# CONFIG_SLAB_MERGE_DEFAULT is not set +CONFIG_SLAB_FREELIST_RANDOM=y +CONFIG_SLAB_FREELIST_HARDENED=y +CONFIG_SHUFFLE_PAGE_ALLOCATOR=y +# CONFIG_COMPAT_BRK is not set +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_PAGE_REPORTING=y +CONFIG_KSM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_MEMORY_FAILURE=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_CMA=y +CONFIG_CMA_SYSFS=y +CONFIG_CMA_AREAS=7 +CONFIG_IDLE_PAGE_TRACKING=y +CONFIG_ZONE_DEVICE=y +CONFIG_DEVICE_PRIVATE=y +CONFIG_USERFAULTFD=y +CONFIG_LRU_GEN=y +CONFIG_LRU_GEN_ENABLED=y +CONFIG_DAMON=y +CONFIG_DAMON_VADDR=y +CONFIG_DAMON_PADDR=y +CONFIG_DAMON_SYSFS=y +CONFIG_DAMON_DBGFS_DEPRECATED=y +CONFIG_DAMON_RECLAIM=y +CONFIG_NET=y +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=y +CONFIG_UNIX=y +CONFIG_UNIX_DIAG=y +CONFIG_TLS=y +CONFIG_TLS_DEVICE=y +CONFIG_TLS_TOE=y +CONFIG_XFRM_USER=y +CONFIG_XFRM_INTERFACE=y +CONFIG_XFRM_SUB_POLICY=y +CONFIG_XFRM_STATISTICS=y +CONFIG_NET_KEY=y +CONFIG_NET_KEY_MIGRATE=y +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_MROUTE=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_INET_AH=y +CONFIG_INET_ESP=y +CONFIG_INET_ESP_OFFLOAD=y +CONFIG_INET_ESPINTCP=y +CONFIG_INET_UDP_DIAG=y +CONFIG_INET_RAW_DIAG=y +CONFIG_INET_DIAG_DESTROY=y +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=y +CONFIG_TCP_CONG_WESTWOOD=y +CONFIG_TCP_CONG_HTCP=y +CONFIG_TCP_CONG_HSTCP=y +CONFIG_TCP_CONG_HYBLA=y +CONFIG_TCP_CONG_NV=y +CONFIG_TCP_CONG_SCALABLE=y +CONFIG_TCP_CONG_LP=y +CONFIG_TCP_CONG_VENO=y +CONFIG_TCP_CONG_YEAH=y +CONFIG_TCP_CONG_ILLINOIS=y +CONFIG_TCP_CONG_DCTCP=y +CONFIG_TCP_CONG_CDG=y +CONFIG_TCP_CONG_BBR=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=y +CONFIG_INET6_ESP=y +CONFIG_INET6_ESP_OFFLOAD=y +CONFIG_INET6_ESPINTCP=y +# CONFIG_IPV6_SIT is not set +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_PIMSM_V2=y +CONFIG_IPV6_SEG6_LWTUNNEL=y +CONFIG_IPV6_SEG6_HMAC=y +CONFIG_IPV6_RPL_LWTUNNEL=y +CONFIG_IPV6_IOAM6_LWTUNNEL=y +CONFIG_NETFILTER=y +CONFIG_BRIDGE_NETFILTER=y +CONFIG_NETFILTER_NETLINK_HOOK=y +CONFIG_NF_CONNTRACK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CONNTRACK_PROCFS=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_AMANDA=y +CONFIG_NF_CONNTRACK_FTP=y +CONFIG_NF_CONNTRACK_H323=y +CONFIG_NF_CONNTRACK_IRC=y +CONFIG_NF_CONNTRACK_NETBIOS_NS=y +CONFIG_NF_CONNTRACK_SNMP=y +CONFIG_NF_CONNTRACK_PPTP=y +CONFIG_NF_CONNTRACK_SANE=y +CONFIG_NF_CONNTRACK_SIP=y +CONFIG_NF_CONNTRACK_TFTP=y +CONFIG_NF_CT_NETLINK=y +CONFIG_NF_CT_NETLINK_TIMEOUT=y +CONFIG_NF_CT_NETLINK_HELPER=y +CONFIG_NETFILTER_NETLINK_GLUE_CT=y +CONFIG_NF_TABLES=y +CONFIG_NF_TABLES_INET=y +CONFIG_NF_TABLES_NETDEV=y +CONFIG_NFT_NUMGEN=y +CONFIG_NFT_CT=y +CONFIG_NFT_FLOW_OFFLOAD=y +CONFIG_NFT_CONNLIMIT=y +CONFIG_NFT_LOG=y +CONFIG_NFT_LIMIT=y +CONFIG_NFT_MASQ=y +CONFIG_NFT_REDIR=y +CONFIG_NFT_NAT=y +CONFIG_NFT_TUNNEL=y +CONFIG_NFT_QUEUE=y +CONFIG_NFT_QUOTA=y +CONFIG_NFT_REJECT=y +CONFIG_NFT_COMPAT=y +CONFIG_NFT_HASH=y +CONFIG_NFT_FIB_INET=y +CONFIG_NFT_XFRM=y +CONFIG_NFT_SOCKET=y +CONFIG_NFT_OSF=y +CONFIG_NFT_TPROXY=y +CONFIG_NFT_SYNPROXY=y +CONFIG_NFT_DUP_NETDEV=y +CONFIG_NFT_FWD_NETDEV=y +CONFIG_NFT_FIB_NETDEV=y +CONFIG_NFT_REJECT_NETDEV=y +CONFIG_NF_FLOW_TABLE_INET=y +CONFIG_NF_FLOW_TABLE=y +CONFIG_NF_FLOW_TABLE_PROCFS=y +CONFIG_NETFILTER_XTABLES_COMPAT=y +CONFIG_NETFILTER_XT_SET=y +CONFIG_NETFILTER_XT_TARGET_AUDIT=y +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y +CONFIG_NETFILTER_XT_TARGET_CONNMARK=y +CONFIG_NETFILTER_XT_TARGET_DSCP=y +CONFIG_NETFILTER_XT_TARGET_HMARK=y +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y +CONFIG_NETFILTER_XT_TARGET_LED=y +CONFIG_NETFILTER_XT_TARGET_LOG=y +CONFIG_NETFILTER_XT_TARGET_MARK=y +CONFIG_NETFILTER_XT_TARGET_NFLOG=y +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=y +CONFIG_NETFILTER_XT_TARGET_NOTRACK=y +CONFIG_NETFILTER_XT_TARGET_TEE=y +CONFIG_NETFILTER_XT_TARGET_TPROXY=y +CONFIG_NETFILTER_XT_TARGET_TRACE=y +CONFIG_NETFILTER_XT_TARGET_SECMARK=y +CONFIG_NETFILTER_XT_TARGET_TCPMSS=y +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=y +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y +CONFIG_NETFILTER_XT_MATCH_BPF=y +CONFIG_NETFILTER_XT_MATCH_CGROUP=y +CONFIG_NETFILTER_XT_MATCH_CLUSTER=y +CONFIG_NETFILTER_XT_MATCH_COMMENT=y +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=y +CONFIG_NETFILTER_XT_MATCH_CONNLABEL=y +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=y +CONFIG_NETFILTER_XT_MATCH_CONNMARK=y +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y +CONFIG_NETFILTER_XT_MATCH_CPU=y +CONFIG_NETFILTER_XT_MATCH_DCCP=y +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=y +CONFIG_NETFILTER_XT_MATCH_DSCP=y +CONFIG_NETFILTER_XT_MATCH_ESP=y +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=y +CONFIG_NETFILTER_XT_MATCH_HELPER=y +CONFIG_NETFILTER_XT_MATCH_IPCOMP=y +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_L2TP=y +CONFIG_NETFILTER_XT_MATCH_LENGTH=y +CONFIG_NETFILTER_XT_MATCH_LIMIT=y +CONFIG_NETFILTER_XT_MATCH_MAC=y +CONFIG_NETFILTER_XT_MATCH_MARK=y +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=y +CONFIG_NETFILTER_XT_MATCH_NFACCT=y +CONFIG_NETFILTER_XT_MATCH_OSF=y +CONFIG_NETFILTER_XT_MATCH_OWNER=y +CONFIG_NETFILTER_XT_MATCH_POLICY=y +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=y +CONFIG_NETFILTER_XT_MATCH_QUOTA=y +CONFIG_NETFILTER_XT_MATCH_RATEEST=y +CONFIG_NETFILTER_XT_MATCH_REALM=y +CONFIG_NETFILTER_XT_MATCH_RECENT=y +CONFIG_NETFILTER_XT_MATCH_SOCKET=y +CONFIG_NETFILTER_XT_MATCH_STATE=y +CONFIG_NETFILTER_XT_MATCH_STATISTIC=y +CONFIG_NETFILTER_XT_MATCH_STRING=y +CONFIG_NETFILTER_XT_MATCH_TCPMSS=y +CONFIG_NETFILTER_XT_MATCH_TIME=y +CONFIG_NETFILTER_XT_MATCH_U32=y +CONFIG_IP_SET=y +CONFIG_IP_SET_BITMAP_IP=y +CONFIG_IP_SET_BITMAP_IPMAC=y +CONFIG_IP_SET_BITMAP_PORT=y +CONFIG_IP_SET_HASH_IP=y +CONFIG_IP_SET_HASH_IPMARK=y +CONFIG_IP_SET_HASH_IPPORT=y +CONFIG_IP_SET_HASH_IPPORTIP=y +CONFIG_IP_SET_HASH_IPPORTNET=y +CONFIG_IP_SET_HASH_IPMAC=y +CONFIG_IP_SET_HASH_MAC=y +CONFIG_IP_SET_HASH_NETPORTNET=y +CONFIG_IP_SET_HASH_NET=y +CONFIG_IP_SET_HASH_NETNET=y +CONFIG_IP_SET_HASH_NETPORT=y +CONFIG_IP_SET_HASH_NETIFACE=y +CONFIG_IP_SET_LIST_SET=y +CONFIG_NFT_DUP_IPV4=y +CONFIG_NFT_FIB_IPV4=y +CONFIG_NF_TABLES_ARP=y +CONFIG_IP_NF_IPTABLES=y +CONFIG_IP_NF_MATCH_AH=y +CONFIG_IP_NF_MATCH_ECN=y +CONFIG_IP_NF_MATCH_RPFILTER=y +CONFIG_IP_NF_MATCH_TTL=y +CONFIG_IP_NF_FILTER=y +CONFIG_IP_NF_TARGET_REJECT=y +CONFIG_IP_NF_TARGET_SYNPROXY=y +CONFIG_IP_NF_NAT=y +CONFIG_IP_NF_TARGET_MASQUERADE=y +CONFIG_IP_NF_TARGET_NETMAP=y +CONFIG_IP_NF_TARGET_REDIRECT=y +CONFIG_IP_NF_MANGLE=y +CONFIG_IP_NF_TARGET_ECN=y +CONFIG_IP_NF_TARGET_TTL=y +CONFIG_IP_NF_RAW=y +CONFIG_IP_NF_SECURITY=y +CONFIG_IP_NF_ARPFILTER=y +CONFIG_IP_NF_ARP_MANGLE=y +CONFIG_NFT_DUP_IPV6=y +CONFIG_NFT_FIB_IPV6=y +CONFIG_IP6_NF_IPTABLES=y +CONFIG_IP6_NF_MATCH_AH=y +CONFIG_IP6_NF_MATCH_EUI64=y +CONFIG_IP6_NF_MATCH_FRAG=y +CONFIG_IP6_NF_MATCH_OPTS=y +CONFIG_IP6_NF_MATCH_HL=y +CONFIG_IP6_NF_MATCH_IPV6HEADER=y +CONFIG_IP6_NF_MATCH_MH=y +CONFIG_IP6_NF_MATCH_RPFILTER=y +CONFIG_IP6_NF_MATCH_RT=y +CONFIG_IP6_NF_MATCH_SRH=y +CONFIG_IP6_NF_TARGET_HL=y +CONFIG_IP6_NF_FILTER=y +CONFIG_IP6_NF_TARGET_REJECT=y +CONFIG_IP6_NF_TARGET_SYNPROXY=y +CONFIG_IP6_NF_MANGLE=y +CONFIG_IP6_NF_RAW=y +CONFIG_IP6_NF_SECURITY=y +CONFIG_IP6_NF_NAT=y +CONFIG_IP6_NF_TARGET_MASQUERADE=y +CONFIG_IP6_NF_TARGET_NPT=y +CONFIG_NF_TABLES_BRIDGE=y +CONFIG_NF_CONNTRACK_BRIDGE=y +CONFIG_BRIDGE_NF_EBTABLES=y +CONFIG_BRIDGE_EBT_BROUTE=y +CONFIG_BRIDGE_EBT_T_FILTER=y +CONFIG_BRIDGE_EBT_T_NAT=y +CONFIG_BRIDGE_EBT_802_3=y +CONFIG_BRIDGE_EBT_AMONG=y +CONFIG_BRIDGE_EBT_ARP=y +CONFIG_BRIDGE_EBT_IP=y +CONFIG_BRIDGE_EBT_IP6=y +CONFIG_BRIDGE_EBT_LIMIT=y +CONFIG_BRIDGE_EBT_MARK=y +CONFIG_BRIDGE_EBT_PKTTYPE=y +CONFIG_BRIDGE_EBT_STP=y +CONFIG_BRIDGE_EBT_VLAN=y +CONFIG_BRIDGE_EBT_ARPREPLY=y +CONFIG_BRIDGE_EBT_DNAT=y +CONFIG_BRIDGE_EBT_MARK_T=y +CONFIG_BRIDGE_EBT_REDIRECT=y +CONFIG_BRIDGE_EBT_SNAT=y +CONFIG_BRIDGE=y +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_VLAN_8021Q=y +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_FQ_CODEL=y +CONFIG_NET_SCH_DEFAULT=y +CONFIG_DEFAULT_FQ_CODEL=y +CONFIG_NET_EMATCH=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_GATE=y +CONFIG_NET_TC_SKB_EXT=y +CONFIG_NET_SWITCHDEV=y +CONFIG_QRTR=y +CONFIG_QRTR_SMD=y +CONFIG_QRTR_TUN=y +CONFIG_QRTR_MHI=y +CONFIG_BT=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_LEDS=y +CONFIG_BT_MSFTEXT=y +CONFIG_BT_AOSPEXT=y +CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART_QCA=y +CONFIG_CFG80211=y +CONFIG_MAC80211=y +CONFIG_MAC80211_LEDS=y +CONFIG_RFKILL=y +CONFIG_NFC=y +CONFIG_NFC_NCI=y +CONFIG_PAGE_POOL_STATS=y +CONFIG_PCI=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +CONFIG_PCIEASPM_POWER_SUPERSAVE=y +CONFIG_PCIE_QCOM=y +CONFIG_PCI_PWRCTL_PWRSEQ=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_DEVTMPFS_SAFE=y +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y +CONFIG_FW_UPLOAD=y +# CONFIG_QCOM_EBI2 is not set +CONFIG_MHI_BUS=y +CONFIG_MHI_BUS_PCI_GENERIC=y +CONFIG_ARM_SCMI_PROTOCOL=y +CONFIG_ARM_SCMI_POWER_CONTROL=y +CONFIG_ARM_SCPI_PROTOCOL=y +CONFIG_DMI_SYSFS=y +CONFIG_SYSFB_SIMPLEFB=y +CONFIG_EFI_CAPSULE_LOADER=y +CONFIG_QCOM_QSEECOM=y +# CONFIG_ARM_SMCCC_SOC_ID is not set +CONFIG_OF_OVERLAY=y +CONFIG_ZRAM=y +CONFIG_ZRAM_DEF_COMP_ZSTD=y +CONFIG_ZRAM_WRITEBACK=y +CONFIG_ZRAM_MULTI_COMP=y +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_NBD=y +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=0 +CONFIG_VIRTIO_BLK=y +CONFIG_QCOM_COINCELL=y +CONFIG_QCOM_FASTRPC=y +CONFIG_SRAM=y +CONFIG_EEPROM_AT24=y +CONFIG_EEPROM_AT25=y +CONFIG_UACCE=y +CONFIG_RAID_ATTRS=y +CONFIG_SCSI=y +CONFIG_BLK_DEV_SD=y +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_SAS_LIBSAS=y +CONFIG_MD=y +# CONFIG_MD_AUTODETECT is not set +CONFIG_MD_CLUSTER=y +CONFIG_BCACHE=y +CONFIG_BCACHE_ASYNC_REGISTRATION=y +CONFIG_BLK_DEV_DM=y +CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING=y +CONFIG_DM_UNSTRIPED=y +CONFIG_DM_CRYPT=y +CONFIG_DM_SNAPSHOT=y +CONFIG_DM_THIN_PROVISIONING=y +CONFIG_DM_CACHE=y +CONFIG_DM_WRITECACHE=y +CONFIG_DM_EBS=y +CONFIG_DM_ERA=y +CONFIG_DM_CLONE=y +CONFIG_DM_MIRROR=y +CONFIG_DM_LOG_USERSPACE=y +CONFIG_DM_RAID=y +CONFIG_DM_ZERO=y +CONFIG_DM_MULTIPATH=y +CONFIG_DM_MULTIPATH_QL=y +CONFIG_DM_MULTIPATH_ST=y +CONFIG_DM_MULTIPATH_HST=y +CONFIG_DM_MULTIPATH_IOA=y +CONFIG_DM_DELAY=y +CONFIG_DM_DUST=y +CONFIG_DM_INIT=y +CONFIG_DM_UEVENT=y +CONFIG_DM_FLAKEY=y +CONFIG_DM_VERITY=y +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y +CONFIG_DM_VERITY_FEC=y +CONFIG_DM_SWITCH=y +CONFIG_DM_LOG_WRITES=y +CONFIG_DM_INTEGRITY=y +CONFIG_DM_ZONED=y +CONFIG_DM_VDO=y +CONFIG_TARGET_CORE=y +CONFIG_TCM_IBLOCK=y +CONFIG_TCM_PSCSI=y +CONFIG_NETDEVICES=y +CONFIG_MACVLAN=y +CONFIG_MACVTAP=y +CONFIG_TUN=y +CONFIG_VETH=y +CONFIG_VIRTIO_NET=y +CONFIG_MHI_NET=y +# CONFIG_NET_VENDOR_3COM is not set +# CONFIG_NET_VENDOR_ADAPTEC is not set +# CONFIG_NET_VENDOR_AGERE is not set +# CONFIG_NET_VENDOR_ALACRITECH is not set +# CONFIG_NET_VENDOR_ALTEON is not set +# CONFIG_NET_VENDOR_AMAZON is not set +# CONFIG_NET_VENDOR_AMD is not set +# CONFIG_NET_VENDOR_AQUANTIA is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_ASIX is not set +# CONFIG_NET_VENDOR_ATHEROS is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CADENCE is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +# CONFIG_NET_VENDOR_CHELSIO is not set +# CONFIG_NET_VENDOR_CISCO is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_NET_VENDOR_DAVICOM is not set +# CONFIG_NET_VENDOR_DEC is not set +# CONFIG_NET_VENDOR_DLINK is not set +# CONFIG_NET_VENDOR_EMULEX is not set +# CONFIG_NET_VENDOR_ENGLEDER is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FUNGIBLE is not set +# CONFIG_NET_VENDOR_GOOGLE is not set +# CONFIG_NET_VENDOR_HISILICON is not set +# CONFIG_NET_VENDOR_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_NET_VENDOR_ADI is not set +# CONFIG_NET_VENDOR_LITEX is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MELLANOX is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_MICROSOFT is not set +# CONFIG_NET_VENDOR_MYRI is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +# CONFIG_NET_VENDOR_NETERION is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +# CONFIG_NET_VENDOR_NVIDIA is not set +# CONFIG_NET_VENDOR_OKI is not set +# CONFIG_NET_VENDOR_PACKET_ENGINES is not set +# CONFIG_NET_VENDOR_PENSANDO is not set +# CONFIG_NET_VENDOR_QLOGIC is not set +# CONFIG_NET_VENDOR_BROCADE is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +# CONFIG_NET_VENDOR_RDC is not set +CONFIG_R8169=y +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +# CONFIG_NET_VENDOR_SILAN is not set +# CONFIG_NET_VENDOR_SIS is not set +# CONFIG_NET_VENDOR_SOLARFLARE is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set +# CONFIG_NET_VENDOR_STMICRO is not set +# CONFIG_NET_VENDOR_SUN is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +# CONFIG_NET_VENDOR_TEHUTI is not set +# CONFIG_NET_VENDOR_TI is not set +# CONFIG_NET_VENDOR_VERTEXCOM is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WANGXUN is not set +# CONFIG_NET_VENDOR_WIZNET is not set +# CONFIG_NET_VENDOR_XILINX is not set +CONFIG_QCOM_IPA=y +CONFIG_SMSC_PHY=y +CONFIG_USB_RTL8152=m +CONFIG_USB_USBNET=m +# CONFIG_USB_NET_AX8817X is not set +# CONFIG_USB_NET_AX88179_178A is not set +CONFIG_USB_NET_CDC_EEM=m +CONFIG_USB_NET_SMSC95XX=m +# CONFIG_USB_NET_NET1080 is not set +CONFIG_USB_NET_RNDIS_HOST=m +# CONFIG_USB_NET_CDC_SUBSET is not set +# CONFIG_USB_NET_ZAURUS is not set +# CONFIG_WLAN_VENDOR_ADMTEK is not set +CONFIG_ATH12K=m +# CONFIG_WLAN_VENDOR_ATMEL is not set +# CONFIG_WLAN_VENDOR_BROADCOM is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_MICROCHIP is not set +# CONFIG_WLAN_VENDOR_PURELIFI is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +# CONFIG_RTL_CARDS is not set +CONFIG_RTW88=y +CONFIG_RTW88_8821CU=m +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_SILABS is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +CONFIG_WWAN=y +CONFIG_MHI_WWAN_CTRL=y +CONFIG_MHI_WWAN_MBIM=y +CONFIG_INPUT_MATRIXKMAP=y +CONFIG_INPUT_MOUSEDEV=y +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1920 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=1080 +CONFIG_INPUT_JOYDEV=y +CONFIG_INPUT_EVDEV=y +CONFIG_KEYBOARD_ADC=y +CONFIG_KEYBOARD_GPIO=y +CONFIG_MOUSE_ELAN_I2C=y +CONFIG_INPUT_JOYSTICK=y +CONFIG_JOYSTICK_ODIN2=y +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_ATMEL_MXT=y +CONFIG_TOUCHSCREEN_GOODIX=y +CONFIG_TOUCHSCREEN_ELAN=y +CONFIG_TOUCHSCREEN_EDT_FT5X06=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_PM8941_PWRKEY=y +CONFIG_RMI4_I2C=y +CONFIG_RMI4_F3A=y +CONFIG_RMI4_F54=y +# CONFIG_SERIO_SERPORT is not set +CONFIG_SERIO_AMBAKMI=y +CONFIG_VT_HW_CONSOLE_BINDING=y +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_EXTENDED=y +CONFIG_SERIAL_8250_SHARE_IRQ=y +CONFIG_SERIAL_8250_DW=y +CONFIG_SERIAL_OF_PLATFORM=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_MSM=y +CONFIG_SERIAL_MSM_CONSOLE=y +CONFIG_SERIAL_QCOM_GENI=y +CONFIG_SERIAL_QCOM_GENI_CONSOLE=y +CONFIG_RPMSG_TTY=y +CONFIG_SERIAL_DEV_BUS=y +CONFIG_VIRTIO_CONSOLE=y +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_TCG_TIS=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_MUX_PCA954x=y +CONFIG_I2C_GPIO=y +CONFIG_I2C_QCOM_GENI=y +CONFIG_I2C_SLAVE=y +CONFIG_SPI=y +CONFIG_SPI_MEM=y +CONFIG_SPI_CADENCE_QUADSPI=y +CONFIG_SPI_PL022=y +CONFIG_SPI_QCOM_QSPI=y +CONFIG_SPI_QUP=y +CONFIG_SPI_QCOM_GENI=y +CONFIG_SPI_SPIDEV=y +CONFIG_SPMI=y +# CONFIG_PTP_1588_CLOCK_KVM is not set +CONFIG_PINCTRL_SINGLE=y +CONFIG_PINCTRL_MSM=y +CONFIG_PINCTRL_SDM845=y +CONFIG_PINCTRL_SM8250=y +CONFIG_PINCTRL_SM8350=y +CONFIG_PINCTRL_SM8450=y +CONFIG_PINCTRL_SM8550=y +CONFIG_PINCTRL_QCOM_SPMI_PMIC=y +CONFIG_PINCTRL_LPASS_LPI=y +CONFIG_PINCTRL_SM8250_LPASS_LPI=y +CONFIG_PINCTRL_SM8350_LPASS_LPI=y +CONFIG_PINCTRL_SM8550_LPASS_LPI=y +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_ALTERA=y +CONFIG_GPIO_DWAPB=y +CONFIG_GPIO_GENERIC_PLATFORM=y +CONFIG_GPIO_WCD934X=y +CONFIG_GPIO_XGENE=y +CONFIG_GPIO_MAX732X=y +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +CONFIG_POWER_RESET_MSM=y +CONFIG_POWER_RESET_QCOM_PON=y +CONFIG_POWER_RESET_SYSCON=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_NVMEM_REBOOT_MODE=y +CONFIG_POWER_SEQUENCING_QCOM_WCN=y +CONFIG_BATTERY_QCOM_BATTMGR=m +CONFIG_BATTERY_SBS=y +CONFIG_SENSORS_ARM_SCMI=y +CONFIG_SENSORS_ARM_SCPI=y +CONFIG_SENSORS_GPIO_FAN=y +CONFIG_SENSORS_JC42=y +CONFIG_SENSORS_LM75=y +CONFIG_SENSORS_LM90=y +CONFIG_SENSORS_PWM_FAN=y +CONFIG_SENSORS_INA2XX=y +CONFIG_SENSORS_INA3221=y +CONFIG_THERMAL=y +CONFIG_THERMAL_NETLINK=y +CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y +CONFIG_CPU_THERMAL=y +CONFIG_DEVFREQ_THERMAL=y +CONFIG_THERMAL_EMULATION=y +CONFIG_GENERIC_ADC_THERMAL=y +CONFIG_QCOM_TSENS=y +CONFIG_QCOM_SPMI_ADC_TM5=y +CONFIG_QCOM_SPMI_TEMP_ALARM=y +CONFIG_QCOM_LMH=y +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_SYSFS=y +CONFIG_ARM_SP805_WATCHDOG=y +CONFIG_ARM_SBSA_WATCHDOG=y +CONFIG_DW_WATCHDOG=y +CONFIG_QCOM_WDT=y +CONFIG_ARM_SMC_WATCHDOG=y +CONFIG_PM8916_WATCHDOG=y +CONFIG_MFD_AXP20X_I2C=y +CONFIG_MFD_SPMI_PMIC=y +CONFIG_MFD_RK8XX_I2C=y +CONFIG_MFD_RK8XX_SPI=y +CONFIG_MFD_WCD934X=y +CONFIG_REGULATOR_FIXED_VOLTAGE=y +CONFIG_REGULATOR_VIRTUAL_CONSUMER=y +CONFIG_REGULATOR_USERSPACE_CONSUMER=y +CONFIG_REGULATOR_GPIO=y +CONFIG_REGULATOR_PWM=y +CONFIG_REGULATOR_QCOM_REFGEN=y +CONFIG_REGULATOR_QCOM_RPMH=y +CONFIG_REGULATOR_QCOM_SMD_RPM=y +CONFIG_REGULATOR_QCOM_SPMI=y +CONFIG_REGULATOR_QCOM_USB_VBUS=y +CONFIG_REGULATOR_VCTRL=y +CONFIG_REGULATOR_QCOM_LABIBB=y +CONFIG_RC_CORE=y +CONFIG_LIRC=y +# CONFIG_RC_MAP is not set +CONFIG_RC_DECODERS=y +CONFIG_RC_DEVICES=y +CONFIG_IR_SPI=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_SUPPORT_FILTER=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y +CONFIG_VIDEO_ADV_DEBUG=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_V4L_MEM2MEM_DRIVERS=y +CONFIG_VIDEO_MEM2MEM_DEINTERLACE=y +CONFIG_VIDEO_MUX=y +CONFIG_DRM=y +CONFIG_DRM_LOAD_EDID_FIRMWARE=y +CONFIG_DRM_DP_AUX_CHARDEV=y +CONFIG_DRM_DP_CEC=y +CONFIG_DRM_MSM=y +# CONFIG_DRM_MSM_MDP4 is not set +# CONFIG_DRM_MSM_MDP5 is not set +# CONFIG_DRM_MSM_DSI_28NM_PHY is not set +# CONFIG_DRM_MSM_DSI_20NM_PHY is not set +# CONFIG_DRM_MSM_DSI_28NM_8960_PHY is not set +# CONFIG_DRM_MSM_DSI_14NM_PHY is not set +# CONFIG_DRM_MSM_HDMI is not set +CONFIG_DRM_PANEL_NOVATEK_NT36523=y +CONFIG_DRM_PANEL_EDP=m +CONFIG_DRM_PANEL_SIMPLE=m +CONFIG_DRM_PANEL_SYNAPTICS_TD4328=y +CONFIG_DRM_PANEL_VISIONOX_R66451=y +CONFIG_DRM_DISPLAY_CONNECTOR=m +CONFIG_DRM_LONTIUM_LT8912B=m +CONFIG_DRM_LONTIUM_LT9611=m +CONFIG_DRM_SIMPLE_BRIDGE=y +CONFIG_DRM_SIMPLEDRM=y +CONFIG_FB=y +CONFIG_FB_EFI=y +CONFIG_FB_MODE_HELPERS=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_KTZ8866=y +CONFIG_BACKLIGHT_PWM=y +CONFIG_BACKLIGHT_QCOM_WLED=y +# CONFIG_FRAMEBUFFER_CONSOLE is not set +CONFIG_SOUND=y +CONFIG_SND=y +# CONFIG_SND_SUPPORT_OLD_API is not set +# CONFIG_SND_VERBOSE_PROCFS is not set +# CONFIG_SND_SPI is not set +CONFIG_SND_USB_AUDIO=m +CONFIG_SND_USB_AUDIO_MIDI_V2=y +CONFIG_SND_SOC=y +CONFIG_SND_SOC_QCOM=y +CONFIG_SND_SOC_SC8280XP=y +CONFIG_SND_SOC_SOF_TOPLEVEL=y +CONFIG_SND_SOC_SOF_OF=y +CONFIG_SND_SOC_SIMPLE_AMPLIFIER=y +CONFIG_SND_SOC_SIMPLE_MUX=y +CONFIG_SND_SOC_WCD938X_SDW=y +CONFIG_SND_SOC_LPASS_WSA_MACRO=y +CONFIG_SND_SOC_LPASS_VA_MACRO=y +CONFIG_SND_SOC_LPASS_RX_MACRO=y +CONFIG_SND_SOC_LPASS_TX_MACRO=y +CONFIG_SND_SIMPLE_CARD=y +CONFIG_SND_AUDIO_GRAPH_CARD=y +CONFIG_SND_AUDIO_GRAPH_CARD2=y +CONFIG_HID_BATTERY_STRENGTH=y +CONFIG_HIDRAW=y +CONFIG_UHID=y +CONFIG_HID_A4TECH=y +CONFIG_HID_APPLE=y +CONFIG_HID_BELKIN=y +CONFIG_HID_CHERRY=y +CONFIG_HID_CHICONY=m +CONFIG_HID_CYPRESS=y +CONFIG_HID_EZKEY=y +CONFIG_HID_ITE=y +CONFIG_HID_KENSINGTON=y +CONFIG_HID_LOGITECH=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_LOGITECH_FF=y +CONFIG_LOGIRUMBLEPAD2_FF=y +CONFIG_LOGIG940_FF=y +CONFIG_HID_REDRAGON=y +CONFIG_HID_MICROSOFT=y +CONFIG_HID_MONTEREY=y +CONFIG_HID_MULTITOUCH=y +CONFIG_HID_NINTENDO=y +CONFIG_NINTENDO_FF=y +CONFIG_HID_RMI=y +CONFIG_HID_PID=y +CONFIG_USB_HIDDEV=y +CONFIG_I2C_HID_OF=y +CONFIG_USB_ULPI_BUS=m +CONFIG_USB_CONN_GPIO=m +CONFIG_USB=m +# CONFIG_USB_PCI is not set +CONFIG_USB_ANNOUNCE_NEW_DEVICES=y +CONFIG_USB_OTG=y +CONFIG_USB_XHCI_HCD=m +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_HCD_PLATFORM=m +CONFIG_USB_OHCI_HCD=m +CONFIG_USB_OHCI_HCD_PLATFORM=m +CONFIG_USB_ACM=m +CONFIG_USB_STORAGE=m +CONFIG_USB_UAS=m +CONFIG_USB_DWC3=m +CONFIG_USB_DWC3_ULPI=y +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_ONBOARD_HUB=m +CONFIG_NOP_USB_XCEIV=m +CONFIG_USB_ULPI=y +CONFIG_USB_GADGET=m +CONFIG_USB_CONFIGFS=m +CONFIG_USB_CONFIGFS_SERIAL=y +CONFIG_USB_CONFIGFS_ACM=y +CONFIG_USB_CONFIGFS_OBEX=y +CONFIG_USB_CONFIGFS_NCM=y +CONFIG_USB_CONFIGFS_ECM=y +CONFIG_USB_CONFIGFS_ECM_SUBSET=y +CONFIG_USB_CONFIGFS_RNDIS=y +CONFIG_USB_CONFIGFS_EEM=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_TCM=y +CONFIG_TYPEC=m +CONFIG_TYPEC_TCPM=m +CONFIG_TYPEC_QCOM_PMIC=m +CONFIG_TYPEC_UCSI=m +CONFIG_UCSI_PMIC_GLINK=m +CONFIG_TYPEC_MUX_FSA4480=m +CONFIG_TYPEC_MUX_GPIO_SBU=m +CONFIG_TYPEC_MUX_NB7VPQ904M=m +CONFIG_TYPEC_DP_ALTMODE=m +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +CONFIG_MMC_CRYPTO=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_MSM=y +CONFIG_MMC_SDHCI_MSM_DOWNSTREAM=y +CONFIG_MMC_HSQ=y +CONFIG_SCSI_UFSHCD=y +CONFIG_SCSI_UFS_BSG=y +CONFIG_SCSI_UFS_CRYPTO=y +CONFIG_SCSI_UFS_HWMON=y +CONFIG_SCSI_UFSHCD_PLATFORM=y +CONFIG_SCSI_UFS_QCOM=y +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +CONFIG_LEDS_CLASS_MULTICOLOR=y +CONFIG_LEDS_LM3692X=y +CONFIG_LEDS_PCA9532=y +CONFIG_LEDS_GPIO=y +CONFIG_LEDS_PWM=y +CONFIG_LEDS_SYSCON=y +CONFIG_LEDS_PWM_MULTICOLOR=y +CONFIG_LEDS_QCOM_LPG=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_CPU=y +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y +CONFIG_LEDS_TRIGGER_PANIC=y +CONFIG_EDAC=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_EFI=y +CONFIG_RTC_DRV_PM8XXX=y +CONFIG_DMADEVICES=y +CONFIG_FSL_EDMA=y +CONFIG_MV_XOR_V2=y +CONFIG_PL330_DMA=y +CONFIG_QCOM_BAM_DMA=y +CONFIG_QCOM_GPI_DMA=y +CONFIG_QCOM_HIDMA_MGMT=y +CONFIG_QCOM_HIDMA=y +CONFIG_UDMABUF=y +CONFIG_DMABUF_HEAPS=y +CONFIG_DMABUF_HEAPS_SYSTEM=y +CONFIG_DMABUF_HEAPS_CMA=y +CONFIG_VFIO=y +CONFIG_VIRT_DRIVERS=y +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VHOST_MENU is not set +CONFIG_STAGING=y +# CONFIG_SURFACE_PLATFORMS is not set +CONFIG_COMMON_CLK_SCMI=y +CONFIG_COMMON_CLK_SCPI=y +CONFIG_COMMON_CLK_PWM=y +CONFIG_COMMON_CLK_QCOM=y +CONFIG_QCOM_CLK_RPMH=y +CONFIG_SM_CAMCC_8550=y +CONFIG_SM_DISPCC_8550=y +CONFIG_SM_GPUCC_8550=y +CONFIG_SM_TCSRCC_8550=y +CONFIG_SM_VIDEOCC_8550=y +CONFIG_SPMI_PMIC_CLKDIV=y +CONFIG_HWSPINLOCK=y +CONFIG_HWSPINLOCK_QCOM=y +CONFIG_MAILBOX=y +CONFIG_QCOM_APCS_IPC=y +CONFIG_QCOM_IPCC=y +CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y +CONFIG_ARM_SMMU=y +CONFIG_ARM_SMMU_V3=y +CONFIG_QCOM_IOMMU=y +CONFIG_REMOTEPROC=y +CONFIG_REMOTEPROC_CDEV=y +CONFIG_QCOM_Q6V5_ADSP=y +CONFIG_QCOM_Q6V5_MSS=y +CONFIG_QCOM_Q6V5_PAS=y +CONFIG_QCOM_SYSMON=y +CONFIG_QCOM_WCNSS_PIL=y +CONFIG_RPMSG_CHAR=y +CONFIG_RPMSG_CTRL=y +CONFIG_RPMSG_NS=y +CONFIG_RPMSG_QCOM_GLINK_RPM=y +CONFIG_RPMSG_QCOM_GLINK_SMEM=y +CONFIG_RPMSG_QCOM_SMD=y +CONFIG_SOUNDWIRE=y +CONFIG_SOUNDWIRE_QCOM=y +CONFIG_QCOM_AOSS_QMP=y +CONFIG_QCOM_COMMAND_DB=y +CONFIG_QCOM_GENI_SE=y +CONFIG_QCOM_LLCC=y +CONFIG_QCOM_OCMEM=y +CONFIG_QCOM_PMIC_GLINK=m +CONFIG_QCOM_RMTFS_MEM=y +CONFIG_QCOM_RPMH=y +CONFIG_QCOM_SMEM=y +CONFIG_QCOM_SMD_RPM=y +CONFIG_QCOM_SMP2P=y +CONFIG_QCOM_SMSM=y +CONFIG_QCOM_SOCINFO=y +CONFIG_QCOM_SPM=y +CONFIG_QCOM_STATS=y +CONFIG_QCOM_APR=y +CONFIG_QCOM_ICC_BWMON=y +CONFIG_QCOM_PBS=y +CONFIG_QCOM_CPR=y +CONFIG_QCOM_RPMHPD=y +CONFIG_QCOM_RPMPD=y +CONFIG_DEVFREQ_GOV_PERFORMANCE=y +CONFIG_DEVFREQ_GOV_USERSPACE=y +CONFIG_DEVFREQ_GOV_PASSIVE=y +CONFIG_PM_DEVFREQ_EVENT=y +CONFIG_EXTCON_QCOM_SPMI_MISC=y +CONFIG_EXTCON_USB_GPIO=y +CONFIG_MEMORY=y +CONFIG_IIO=y +CONFIG_IIO_BUFFER_CB=y +CONFIG_IIO_BUFFER_DMAENGINE=y +CONFIG_IIO_BUFFER_HW_CONSUMER=y +CONFIG_IIO_CONFIGFS=y +CONFIG_MAX9611=y +CONFIG_QCOM_SPMI_RRADC=y +CONFIG_QCOM_SPMI_IADC=y +CONFIG_QCOM_SPMI_VADC=y +CONFIG_QCOM_SPMI_ADC5=y +CONFIG_TI_ADS1015=y +CONFIG_MPL3115=y +CONFIG_PWM=y +CONFIG_PWM_SN3112=y +CONFIG_QCOM_PDC=y +CONFIG_QCOM_MPM=y +CONFIG_RESET_QCOM_AOSS=y +CONFIG_RESET_QCOM_PDC=y +CONFIG_PHY_QCOM_QMP=y +# CONFIG_PHY_QCOM_QMP_PCIE_8996 is not set +CONFIG_PHY_QCOM_SNPS_EUSB2=y +CONFIG_PHY_QCOM_EUSB2_REPEATER=y +CONFIG_ARM_SMMU_V3_PMU=y +CONFIG_ARM_SPE_PMU=y +CONFIG_ANDROID_BINDER_IPC=y +CONFIG_ANDROID_BINDERFS=y +CONFIG_NVMEM_QCOM_QFPROM=y +CONFIG_NVMEM_RMEM=y +CONFIG_NVMEM_SPMI_SDAM=y +CONFIG_TEE=y +CONFIG_SLIM_QCOM_CTRL=y +CONFIG_SLIM_QCOM_NGD_CTRL=y +CONFIG_INTERCONNECT=y +CONFIG_INTERCONNECT_QCOM=y +CONFIG_INTERCONNECT_QCOM_OSM_L3=y +CONFIG_INTERCONNECT_QCOM_SM8550=y +CONFIG_COUNTER=y +CONFIG_VALIDATE_FS_PARSER=y +CONFIG_EXT4_FS=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_BTRFS_FS=y +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_F2FS_FS=y +CONFIG_F2FS_FS_SECURITY=y +CONFIG_F2FS_CHECK_FS=y +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_UNFAIR_RWSEM=y +CONFIG_FS_DAX=y +CONFIG_EXPORTFS_BLOCK_OPS=y +CONFIG_FS_ENCRYPTION=y +CONFIG_FS_ENCRYPTION_INLINE_CRYPT=y +CONFIG_FS_VERITY=y +CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y +CONFIG_FANOTIFY=y +CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +CONFIG_AUTOFS_FS=y +CONFIG_FUSE_FS=y +CONFIG_CUSE=y +CONFIG_OVERLAY_FS=y +# CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set +CONFIG_OVERLAY_FS_INDEX=y +CONFIG_OVERLAY_FS_XINO_AUTO=y +CONFIG_OVERLAY_FS_METACOPY=y +CONFIG_ISO9660_FS=y +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=y +CONFIG_VFAT_FS=y +CONFIG_EXFAT_FS=y +CONFIG_NTFS3_FS=y +CONFIG_NTFS3_LZX_XPRESS=y +CONFIG_PROC_KCORE=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_INODE64=y +CONFIG_HUGETLBFS=y +CONFIG_EFIVAR_FS=y +CONFIG_SQUASHFS=y +CONFIG_SQUASHFS_FILE_DIRECT=y +CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_ZSTD=y +CONFIG_PSTORE=y +CONFIG_PSTORE_CONSOLE=y +CONFIG_PSTORE_PMSG=y +CONFIG_PSTORE_RAM=y +CONFIG_EROFS_FS=y +CONFIG_EROFS_FS_ZIP_LZMA=y +CONFIG_EROFS_FS_ZIP_DEFLATE=y +CONFIG_EROFS_FS_ONDEMAND=y +CONFIG_EROFS_FS_PCPU_KTHREAD=y +CONFIG_NFS_FS=y +CONFIG_NFS_V4=y +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_ROOT_NFS=y +CONFIG_NFSD=y +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_ISO8859_1=y +CONFIG_DLM=y +CONFIG_UNICODE=y +CONFIG_KEYS_REQUEST_CACHE=y +CONFIG_PERSISTENT_KEYRINGS=y +CONFIG_BIG_KEYS=y +CONFIG_TRUSTED_KEYS=y +CONFIG_KEY_DH_OPERATIONS=y +CONFIG_KEY_NOTIFICATIONS=y +CONFIG_SECURITY=y +CONFIG_HARDENED_USERCOPY=y +CONFIG_SECURITY_SELINUX=y +CONFIG_SECURITY_SELINUX_BOOTPARAM=y +CONFIG_SECURITY_YAMA=y +CONFIG_SECURITY_LANDLOCK=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_IMA=y +CONFIG_IMA_KEXEC=y +CONFIG_IMA_DEFAULT_HASH_SHA256=y +CONFIG_IMA_WRITE_POLICY=y +CONFIG_IMA_APPRAISE=y +CONFIG_IMA_ARCH_POLICY=y +CONFIG_EVM=y +CONFIG_LSM="lockdown,yama,integrity,selinux,bpf,landlock" +CONFIG_BUG_ON_DATA_CORRUPTION=y +CONFIG_CRYPTO_USER=y +CONFIG_CRYPTO_PCRYPT=y +CONFIG_CRYPTO_CRYPTD=y +CONFIG_CRYPTO_DH_RFC7919_GROUPS=y +CONFIG_CRYPTO_ECDSA=y +CONFIG_CRYPTO_SM2=y +CONFIG_CRYPTO_CURVE25519=y +CONFIG_CRYPTO_AES_TI=y +CONFIG_CRYPTO_BLOWFISH=y +CONFIG_CRYPTO_CAMELLIA=y +CONFIG_CRYPTO_CAST5=y +CONFIG_CRYPTO_CAST6=y +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_FCRYPT=y +CONFIG_CRYPTO_KHAZAD=y +CONFIG_CRYPTO_SEED=y +CONFIG_CRYPTO_SERPENT=y +CONFIG_CRYPTO_SM4_GENERIC=y +CONFIG_CRYPTO_TWOFISH=y +# CONFIG_CRYPTO_CTS is not set +CONFIG_CRYPTO_MICHAEL_MIC=y +CONFIG_CRYPTO_SM3_GENERIC=y +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_ANSI_CPRNG=y +CONFIG_CRYPTO_DRBG_HASH=y +CONFIG_CRYPTO_DRBG_CTR=y +CONFIG_CRYPTO_USER_API_RNG=y +CONFIG_CRYPTO_NHPOLY1305_NEON=y +CONFIG_CRYPTO_CHACHA20_NEON=y +CONFIG_CRYPTO_GHASH_ARM64_CE=y +CONFIG_CRYPTO_POLY1305_NEON=y +CONFIG_CRYPTO_SHA1_ARM64_CE=y +CONFIG_CRYPTO_SHA2_ARM64_CE=y +CONFIG_CRYPTO_SHA512_ARM64_CE=y +CONFIG_CRYPTO_SHA3_ARM64=y +CONFIG_CRYPTO_SM3_NEON=y +CONFIG_CRYPTO_SM3_ARM64_CE=y +CONFIG_CRYPTO_POLYVAL_ARM64_CE=y +CONFIG_CRYPTO_AES_ARM64=y +CONFIG_CRYPTO_AES_ARM64_BS=y +CONFIG_CRYPTO_SM4_ARM64_CE=y +CONFIG_CRYPTO_SM4_ARM64_NEON_BLK=y +CONFIG_CRYPTO_AES_ARM64_CE_CCM=y +CONFIG_CRYPTO_SM4_ARM64_CE_CCM=y +CONFIG_CRYPTO_SM4_ARM64_CE_GCM=y +CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=y +CONFIG_CRYPTO_DEV_QCE=y +CONFIG_CRYPTO_DEV_QCOM_RNG=y +CONFIG_SIGNED_PE_FILE_VERIFICATION=y +# CONFIG_RAID6_PQ_BENCHMARK is not set +CONFIG_CRYPTO_LIB_CURVE25519=y +CONFIG_CRYPTO_LIB_CHACHA20POLY1305=y +CONFIG_CRC_CCITT=y +CONFIG_CRC7=y +# CONFIG_XZ_DEC_X86 is not set +# CONFIG_XZ_DEC_POWERPC is not set +# CONFIG_XZ_DEC_SPARC is not set +CONFIG_DMA_CMA=y +CONFIG_DMA_NUMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=64 +CONFIG_IRQ_POLL=y +CONFIG_PRINTK_TIME=y +CONFIG_CONSOLE_LOGLEVEL_QUIET=3 +CONFIG_BOOT_PRINTK_DELAY=y +CONFIG_DYNAMIC_DEBUG=y +# CONFIG_DEBUG_MISC is not set +CONFIG_DEBUG_INFO_DWARF5=y +CONFIG_DEBUG_INFO_REDUCED=y +CONFIG_STRIP_ASM_SYMS=y +CONFIG_HEADERS_INSTALL=y +CONFIG_PAGE_OWNER=y +CONFIG_PAGE_POISONING=y +CONFIG_DEBUG_WX=y +CONFIG_SCHED_STACK_END_CHECK=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_KFENCE=y +CONFIG_DEBUG_SHIRQ=y +CONFIG_PANIC_TIMEOUT=10 +CONFIG_HARDLOCKUP_DETECTOR=y +# CONFIG_DETECT_HUNG_TASK is not set +CONFIG_DEBUG_LIST=y +CONFIG_RCU_CPU_STALL_TIMEOUT=60 +# CONFIG_RCU_TRACE is not set +# CONFIG_FTRACE is not set +# CONFIG_STRICT_DEVMEM is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_MEMTEST=y diff --git a/board/batocera/qualcomm/sm8550/odin2/LinuxLoader.cfg b/board/batocera/qualcomm/sm8550/odin2/LinuxLoader.cfg new file mode 100644 index 00000000000..cfbb8ec82ca --- /dev/null +++ b/board/batocera/qualcomm/sm8550/odin2/LinuxLoader.cfg @@ -0,0 +1,62 @@ +# +# Configure the LinuxLoader settings +# + +[LinuxLoader] + +# Controls on-screen logging +# This setting can persist without config file or sdcard being present +Debug = false + +# Boot target. Can be one of the following: +# "default" (ABL default) +# "Linux" (direct Linux Image load) +# "EFI" +# "UEFI Shell" (will execute startup.nsh automatically if found on any FAT partition) +# "Mass Storage" (will mount the UFS LUN specified below as mass storage) +Target = "default" + +# Default UFS LUN to mount as mass storage +# Allowed values: 0, 1, 2, 3, 4, 5 +MassStorageLUN = 0 + +# Volume up boot target. Can be one of the following: +# "BDS Menu" (will enter the UEFI boot menu provided by Qualcomm, don't touch anything there unless you know what you are doing!) +# "UEFI Shell" (will execute startup.nsh automatically if found on any FAT partition) +# "recovery" +# "Linux" +DefaultVolUp = "Linux" + +# Setting this to *true* will enable USB Host mode in UEFI +# This might be useful if you want to play with UEFI. +# Note that you will need an externally powered type-C hub to connect USB devices. (at least for now) +UsbHostMode = false + +# Controls hypervisor UART enablement +# +# Setting *true* here will force enable the hypervisor UART +# Setting *false* here will force disable the hypervisor UART +# Removing this line will avoid changing the default behavior +# Please leave it to *false* unless you know what you are doing +HypUartEnable = false + +# Controls display hardware status during exit boot services +# +# The dispcc driver from mainline Linux kernel has a bug, which +# prevents the display hardware from initializing properly if +# the display hardware is not disabled before exiting boot services. +# +# Set this to *true* if you are trying to boot a mainline kernel. +DisableDisplayHW = true + +[Linux] +# Accept both gzipped and non-gzipped kernel images +Image = "boot/Image.gz" +initrd = "boot/initrd.lz4" +devicetree = "boot/qcs8550-ayn-odin2-hypdtbo.dtb" +cmdline = "clk_ignore_unused pd_ignore_unused panic=30 loglevel=8 audit=0 allow_mismatched_32bit_el0 mem_sleep_default=s2idle rw rootwait label=BATOCERA" + +[EFI] +Image = "EFI/BOOT/BOOTAA64.EFI" +# Options to be passed to the EFI Application, could be left empty +Options = "earlycon=efifb,mem" \ No newline at end of file diff --git a/board/batocera/qualcomm/sm8550/odin2/create-boot-script.sh b/board/batocera/qualcomm/sm8550/odin2/create-boot-script.sh new file mode 100755 index 00000000000..d661c4797a5 --- /dev/null +++ b/board/batocera/qualcomm/sm8550/odin2/create-boot-script.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# HOST_DIR = host dir +# BOARD_DIR = board specific dir +# BUILD_DIR = base dir/build +# BINARIES_DIR = images dir +# TARGET_DIR = target dir +# BATOCERA_BINARIES_DIR = batocera binaries sub directory + +HOST_DIR=$1 +BOARD_DIR=$2 +BUILD_DIR=$3 +BINARIES_DIR=$4 +TARGET_DIR=$5 +BATOCERA_BINARIES_DIR=$6 + +mkdir -p "${BATOCERA_BINARIES_DIR}/boot/boot" || exit 1 + +cp "${BINARIES_DIR}/Image.gz" "${BATOCERA_BINARIES_DIR}/boot/boot/Image.gz" || exit 1 +cp "${BINARIES_DIR}/initrd.lz4" "${BATOCERA_BINARIES_DIR}/boot/boot/initrd.lz4" || exit 1 +cp "${BINARIES_DIR}/rootfs.squashfs" "${BATOCERA_BINARIES_DIR}/boot/boot/batocera.update" || exit 1 + +cp "${BINARIES_DIR}/qcs8550-ayn-odin2-hypdtbo.dtb" "${BATOCERA_BINARIES_DIR}/boot/boot/" || exit 1 +cp -f "${BOARD_DIR}/LinuxLoader.cfg" "${BATOCERA_BINARIES_DIR}/boot/LinuxLoader.cfg" || exit 1 + +exit 0 diff --git a/board/batocera/qualcomm/sm8550/odin2/genimage.cfg b/board/batocera/qualcomm/sm8550/odin2/genimage.cfg new file mode 100644 index 00000000000..519b47744ce --- /dev/null +++ b/board/batocera/qualcomm/sm8550/odin2/genimage.cfg @@ -0,0 +1,35 @@ +image boot.vfat { + vfat { + extraargs = "-F 32 -n BATOCERA" + @files + } + + size = 4G +} + +image userdata.ext4 { + ext4 { + label = "SHARE" + use-mke2fs = "true" + extraargs = "-m 0" + } + size = "512M" + mountpoint = "/userdata" +} + +image batocera.img { + hdimage { + align = "1M" + } + + partition vfat { + partition-type = 0xC + image = "boot.vfat" + offset = 1M + } + + partition userdata { + partition-type = 0x83 + image = "userdata.ext4" + } +} diff --git a/board/batocera/qualcomm/sm8550/patches/mame/switchres-no-xrandr.patch b/board/batocera/qualcomm/sm8550/patches/mame/switchres-no-xrandr.patch new file mode 100644 index 00000000000..037cde88940 --- /dev/null +++ b/board/batocera/qualcomm/sm8550/patches/mame/switchres-no-xrandr.patch @@ -0,0 +1,50 @@ +--- a/scripts/src/3rdparty.lua 2022-08-08 11:13:57.770937867 +0200 ++++ b/scripts/src/3rdparty.lua 2022-08-09 10:04:29.103342700 +0200 +@@ -2458,14 +2458,11 @@ + MAME_DIR .. "3rdparty/switchres/display_linux.h", + MAME_DIR .. "3rdparty/switchres/display_sdl2.cpp", + MAME_DIR .. "3rdparty/switchres/display_sdl2.h", +- MAME_DIR .. "3rdparty/switchres/custom_video_xrandr.cpp", +- MAME_DIR .. "3rdparty/switchres/custom_video_xrandr.h", + MAME_DIR .. "3rdparty/switchres/custom_video_drmkms.cpp", + MAME_DIR .. "3rdparty/switchres/custom_video_drmkms.h", + } + + defines { +- "SR_WITH_XRANDR", + "SR_WITH_KMSDRM", + "SR_WITH_SDL2", + } +@@ -2475,10 +2472,6 @@ + backtick("pkg-config --cflags sdl2"), + } + +- links { +- "Xrandr", +- } +- + local str = backtick("pkg-config --libs libdrm") + addlibfromstring(str) + addoptionsfromstring(str) +--- a/3rdparty/switchres/display_sdl2.cpp 2023-10-04 15:44:48.733463162 +0200 ++++ b/3rdparty/switchres/display_sdl2.cpp 2023-10-04 15:50:01.748637071 +0200 +@@ -296,7 +296,7 @@ + video_modes.push_back(mode); + backup_modes.push_back(mode); + +- log_verbose("Switchres/SDL2: [%3ld] %4dx%4d @%3d%s%s %s: ", video_modes.size(), mode.width, mode.height, mode.refresh, mode.interlace ? "i" : "p", mode.type & MODE_DESKTOP ? "*" : "", mode.type & MODE_ROTATED ? "rot" : ""); ++ log_verbose("Switchres/SDL2: [%3lu] %4dx%4d @%3d%s%s %s: ", video_modes.size(), mode.width, mode.height, mode.refresh, mode.interlace ? "i" : "p", mode.type & MODE_DESKTOP ? "*" : "", mode.type & MODE_ROTATED ? "rot" : ""); + log_mode(&mode); + }; + +--- a/3rdparty/switchres/display_linux.cpp 2023-10-04 15:50:09.632831307 +0200 ++++ b/3rdparty/switchres/display_linux.cpp 2023-10-04 15:50:16.324995860 +0200 +@@ -163,7 +163,7 @@ + video_modes.push_back(mode); + backup_modes.push_back(mode); + +- log_verbose("Switchres: [%3ld] %4dx%4d @%3d%s%s %s: ", video_modes.size(), mode.width, mode.height, mode.refresh, mode.interlace ? "i" : "p", mode.type & MODE_DESKTOP ? "*" : "", mode.type & MODE_ROTATED ? "rot" : ""); ++ log_verbose("Switchres: [%3lu] %4dx%4d @%3d%s%s %s: ", video_modes.size(), mode.width, mode.height, mode.refresh, mode.interlace ? "i" : "p", mode.type & MODE_DESKTOP ? "*" : "", mode.type & MODE_ROTATED ? "rot" : ""); + log_mode(&mode); + }; + diff --git a/configs/batocera-sm8550.board b/configs/batocera-sm8550.board new file mode 100644 index 00000000000..9b27ff9ffee --- /dev/null +++ b/configs/batocera-sm8550.board @@ -0,0 +1,41 @@ +include batocera-board.common + +# Target definition +BR2_aarch64=y +BR2_cortex_a76_a55=y +BR2_PACKAGE_BATOCERA_TARGET_SM8550=y +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_6_9=y +BR2_TARGET_OPTIMIZATION="-pipe -fsigned-char -march=armv9-a+i8mm+sm4+sha3+rcpc+crypto+nosve+nosve2" +BR2_CCACHE=y +BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_BATOCERA_PATH)/board/batocera/patches $(BR2_EXTERNAL_BATOCERA_PATH)/board/batocera/qualcomm/sm8550/patches" +BR2_TARGET_GENERIC_ROOT_PASSWD="linux" +BR2_TARGET_GENERIC_GETTY_PORT="ttyMSM0" +# BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW is not set +BR2_ROOTFS_OVERLAY="$(BR2_EXTERNAL_BATOCERA_PATH)/board/batocera/fsoverlay $(BR2_EXTERNAL_BATOCERA_PATH)/board/batocera/qualcomm/sm8550/fsoverlay" + +# Kernel +BR2_LINUX_KERNEL=y +BR2_LINUX_KERNEL_CUSTOM_GIT=y +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/strongtz/linux-next" +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="ci/odin2/stable" +BR2_LINUX_KERNEL_PATCH="$(BR2_EXTERNAL_BATOCERA_PATH)/board/batocera/qualcomm/sm8550/linux_patches" +BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y +BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_BATOCERA_PATH)/board/batocera/qualcomm/sm8550/linux_sm8550-defconfig.config" +BR2_LINUX_KERNEL_IMAGEGZ=y +BR2_LINUX_KERNEL_DTS_SUPPORT=y +BR2_LINUX_KERNEL_INTREE_DTS_NAME="qcom/qcs8550-ayn-odin2-hypdtbo" + +# Filesystem tools +BR2_PACKAGE_HOST_DOSFSTOOLS=y +BR2_PACKAGE_HOST_GENIMAGE=y +BR2_PACKAGE_HOST_MTOOLS=y + +# System +BR2_PACKAGE_BATOCERA_FREEDRENO_MESA3D=y +BR2_PACKAGE_BATOCERA_WAYLAND_SWAY=y +BR2_PACKAGE_BATOCERA_XWAYLAND=y +BR2_PACKAGE_BATOCERA_VIDEO_CODECS=y +BR2_PACKAGE_FIRMWARE_ARMBIAN=y + +# Batocera Splash Support +BR2_PACKAGE_BATOCERA_SPLASH_MPV=y \ No newline at end of file diff --git a/package/batocera/boot/batocera-initramfs/batocera-initramfs.mk b/package/batocera/boot/batocera-initramfs/batocera-initramfs.mk index f4e20615c81..4334ca1994d 100644 --- a/package/batocera/boot/batocera-initramfs/batocera-initramfs.mk +++ b/package/batocera/boot/batocera-initramfs/batocera-initramfs.mk @@ -68,6 +68,16 @@ endef BATOCERA_INITRAMFS_PRE_INSTALL_TARGET_HOOKS += BATOCERA_INITRAMFS_RISCV_EARLY_FIRMWARE endif +ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) +BATOCERA_INITRAMFS_DEPENDENCIES += firmware-armbian +define BATOCERA_INITRAMFS_SM8550_EARLY_FIRMWARE + mkdir -p $(INITRAMFS_DIR)/lib/firmware/qcom/sm8550/ + cp -R $(FIRMWARE_ARMBIAN_DIR)/qcom/sm8550/* \ + $(INITRAMFS_DIR)/lib/firmware/qcom/sm8550/ +endef +BATOCERA_INITRAMFS_PRE_INSTALL_TARGET_HOOKS += BATOCERA_INITRAMFS_SM8550_EARLY_FIRMWARE +endif + define BATOCERA_INITRAMFS_INSTALL_TARGET_CMDS mkdir -p $(INITRAMFS_DIR) cp $(BR2_EXTERNAL_BATOCERA_PATH)/package/batocera/boot/batocera-initramfs/init \ diff --git a/package/batocera/core/batocera-configgen/batocera-configgen.mk b/package/batocera/core/batocera-configgen/batocera-configgen.mk index 8ad84a0a5da..c41e3922c43 100644 --- a/package/batocera/core/batocera-configgen/batocera-configgen.mk +++ b/package/batocera/core/batocera-configgen/batocera-configgen.mk @@ -88,6 +88,8 @@ else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) BATOCERA_CONFIGGEN_SYSTEM=sm8250 else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_T527),y) BATOCERA_CONFIGGEN_SYSTEM=t527 +else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) + BATOCERA_CONFIGGEN_SYSTEM=sm8550 endif define BATOCERA_CONFIGGEN_INSTALL_STAGING_CMDS diff --git a/package/batocera/core/batocera-configgen/configs/configgen-defaults-sm8550.yml b/package/batocera/core/batocera-configgen/configs/configgen-defaults-sm8550.yml new file mode 100644 index 00000000000..a4ebf99c675 --- /dev/null +++ b/package/batocera/core/batocera-configgen/configs/configgen-defaults-sm8550.yml @@ -0,0 +1,109 @@ +default: + options: + hud_support: true + +advision: + emulator: mame + core: mame +flash: + emulator: lightspark + core: lightspark +fmtowns: + emulator: libretro + core: mame +lcdgames: + emulator: mame + core: mame +n64: + emulator: libretro + core: mupen64plus-next +nds: + emulator: libretro + core: melonds +ps2: + emulator: libretro + core: play +plugnplay: + emulator: mame + core: mame +pdp1: + emulator: mame + core: mame +pv1000: + emulator: mame + core: mame +gamate: + emulator: mame + core: mame +crvision: + emulator: mame + core: mame +gamecom: + emulator: mame + core: mame +fm7: + emulator: mame + core: mame +gamepock: + emulator: mame + core: mame +apfm1000: + emulator: mame + core: mame +bbc: + emulator: mame + core: mame +adam: + emulator: mame + core: mame +gmaster: + emulator: mame + core: mame +astrocde: + emulator: mame + core: mame +ti99: + emulator: mame + core: mame +tutor: + emulator: mame + core: mame +coco: + emulator: mame + core: mame +archimedes: + emulator: mame + core: mame +socrates: + emulator: mame + core: mame +supracan: + emulator: mame + core: mame +vsmile: + emulator: mame + core: mame +xegs: + emulator: mame + core: mame +atom: + emulator: mame + core: mame +electron: + emulator: mame + core: mame +camplynx: + emulator: mame + core: mame +vgmplay: + emulator: mame + core: mame +vc4000: + emulator: mame + core: mame +gp32: + emulator: mame + core: mame +laser310: + emulator: mame + core: mame diff --git a/package/batocera/core/batocera-scripts/batocera-scripts.mk b/package/batocera/core/batocera-scripts/batocera-scripts.mk index 402a4524e78..252ad3edff7 100644 --- a/package/batocera/core/batocera-scripts/batocera-scripts.mk +++ b/package/batocera/core/batocera-scripts/batocera-scripts.mk @@ -23,7 +23,7 @@ ifeq ($(BR2_PACKAGE_BATOCERA_WAYLAND_SWAY),y) endif ### -ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) +ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250)$(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) BATOCERA_SCRIPTS_POST_INSTALL_TARGET_HOOKS += BATOCERA_SCRIPTS_INSTALL_QCOM endif diff --git a/package/batocera/core/batocera-splash/scripts/Ssystem-splash b/package/batocera/core/batocera-splash/scripts/Ssystem-splash index b33235acdef..237f9acb380 100644 --- a/package/batocera/core/batocera-splash/scripts/Ssystem-splash +++ b/package/batocera/core/batocera-splash/scripts/Ssystem-splash @@ -30,7 +30,7 @@ do_start () { [ -f "$image" ] || exit 1 fi - if [ "${V_BOARD_MODEL}" = "Loki_Zero" ] || [ "${V_BOARD_MODEL}" = "Retroid_Pocket_5" ]; then + if [ "${V_BOARD_MODEL}" = "Loki_Zero" ] || [ "${V_BOARD_MODEL}" = "Retroid_Pocket_5" ] || [ "${V_BOARD_MODEL}" = "AYN_Odin_2" ]; then image="/usr/share/batocera/splash/boot-logo-1080x1920-left.png" fi diff --git a/package/batocera/core/batocera-system/Config.in b/package/batocera/core/batocera-system/Config.in index 8acf4439e7c..373814d7ee2 100644 --- a/package/batocera/core/batocera-system/Config.in +++ b/package/batocera/core/batocera-system/Config.in @@ -96,6 +96,7 @@ if BR2_PACKAGE_BATOCERA_TARGET_X86_ANY || \ BR2_PACKAGE_BATOCERA_TARGET_ROCKCHIP_GLES3 || \ BR2_PACKAGE_BATOCERA_TARGET_ODIN || \ BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 || \ BR2_PACKAGE_BATOCERA_TARGET_T527 config BR2_PACKAGE_BATOCERA_GLES3 bool "target gles3 support" @@ -303,7 +304,7 @@ config BR2_PACKAGE_BATOCERA_SYSTEM select BR2_PACKAGE_XWIIMOTE if !BR2_PACKAGE_BATOCERA_TARGET_BCM2835 && !BR2_PACKAGE_BATOCERA_TARGET_RK3326 # a tool to analye wiimote events (mainly to debug, but helps and is funny) select BR2_PACKAGE_BATOCERA_GUNS if !BR2_PACKAGE_BATOCERA_TARGET_BCM2835 && !BR2_PACKAGE_BATOCERA_TARGET_RK3326 select BR2_PACKAGE_BATOCERA_WHEEL_CALIBRATOR - select BR2_PACKAGE_NEW_LG4FF if !BR2_PACKAGE_BATOCERA_TARGET_RK3326 && !BR2_PACKAGE_BATOCERA_TARGET_XU4 && !BR2_PACKAGE_BATOCERA_TARGET_BCM2835 && !BR2_PACKAGE_BATOCERA_TARGET_RK3326 && !BR2_PACKAGE_BATOCERA_TARGET_RK3128 && !BR2_PACKAGE_BATOCERA_TARGET_SM8250 && !BR2_PACKAGE_BATOCERA_TARGET_T527 # Improved Linux module driver for Logitech driving wheels (the lg4ff is disabled in kernels) + select BR2_PACKAGE_NEW_LG4FF if !BR2_PACKAGE_BATOCERA_TARGET_RK3326 && !BR2_PACKAGE_BATOCERA_TARGET_XU4 && !BR2_PACKAGE_BATOCERA_TARGET_BCM2835 && !BR2_PACKAGE_BATOCERA_TARGET_RK3326 && !BR2_PACKAGE_BATOCERA_TARGET_RK3128 && !BR2_PACKAGE_BATOCERA_TARGET_SM8250 && !BR2_PACKAGE_BATOCERA_TARGET_SM8550 && !BR2_PACKAGE_BATOCERA_TARGET_T527 # Improved Linux module driver for Logitech driving wheels (the lg4ff is disabled in kernels) select BR2_PACKAGE_HID_T150 if !BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4 # Thrustmaster T150 and TMX Force Feedback Wheel Linux drivers select BR2_PACKAGE_HID_NX if !BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4 && !BR2_PACKAGE_BATOCERA_TARGET_BCM2835 && !BR2_PACKAGE_BATOCERA_TARGET_RK3326 # updated nintendo switch controller driver, requires kernel > 4.4 select BR2_PACKAGE_JOYCOND if BR2_PACKAGE_HID_NX # nintendo switch joycon daemon (requires hid-nx) @@ -361,6 +362,7 @@ config BR2_PACKAGE_BATOCERA_SYSTEM BR2_PACKAGE_BATOCERA_TARGET_BCM2711 || \ BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 || \ BR2_PACKAGE_BATOCERA_TARGET_JH7110 # wireless drivers @@ -371,6 +373,7 @@ config BR2_PACKAGE_BATOCERA_SYSTEM !BR2_PACKAGE_BATOCERA_TARGET_RK3128 && \ !BR2_PACKAGE_BATOCERA_TARGET_ODIN && \ !BR2_PACKAGE_BATOCERA_TARGET_SM8250 && \ + !BR2_PACKAGE_BATOCERA_TARGET_SM8550 && \ !BR2_PACKAGE_BATOCERA_TARGET_X86_ANY # (6.13 kernel includes 8821au drivers) @@ -470,10 +473,10 @@ config BR2_PACKAGE_BATOCERA_SYSTEM select BR2_GCC_ENABLE_OPENMP # odin wifi baseband dependencies - select BR2_PACKAGE_PD_MAPPER if BR2_PACKAGE_BATOCERA_TARGET_ODIN - select BR2_PACKAGE_QRTR if BR2_PACKAGE_BATOCERA_TARGET_ODIN - select BR2_PACKAGE_RMTFS if BR2_PACKAGE_BATOCERA_TARGET_ODIN - select BR2_PACKAGE_TQFTPSERV if BR2_PACKAGE_BATOCERA_TARGET_ODIN + select BR2_PACKAGE_PD_MAPPER if BR2_PACKAGE_BATOCERA_TARGET_ODIN || BR2_PACKAGE_BATOCERA_TARGET_SM8550 + select BR2_PACKAGE_QRTR if BR2_PACKAGE_BATOCERA_TARGET_ODIN || BR2_PACKAGE_BATOCERA_TARGET_SM8550 + select BR2_PACKAGE_RMTFS if BR2_PACKAGE_BATOCERA_TARGET_ODIN || BR2_PACKAGE_BATOCERA_TARGET_SM8550 + select BR2_PACKAGE_TQFTPSERV if BR2_PACKAGE_BATOCERA_TARGET_ODIN || BR2_PACKAGE_BATOCERA_TARGET_SM8550 # leds select BR2_PACKAGE_AYN_PLATFORM if BR2_PACKAGE_BATOCERA_TARGET_X86_ANY @@ -535,6 +538,7 @@ config BR2_TARGET_BATOCERA_IMAGES_DEFINITIONS default "x86-64-v3" if BR2_PACKAGE_BATOCERA_TARGET_ZEN3 default "qualcomm/sd845/odin" if BR2_PACKAGE_BATOCERA_TARGET_ODIN default "qualcomm/sm8250/rp5 qualcomm/sm8250/rpmini" if BR2_PACKAGE_BATOCERA_TARGET_SM8250 + default "qualcomm/sm8550/odin2" if BR2_PACKAGE_BATOCERA_TARGET_SM8550 default "starfive/jh7110" if BR2_PACKAGE_BATOCERA_TARGET_JH7110 default "amlogic/s922x/ogu amlogic/s922x/gtkingpro amlogic/s922x/gtking amlogic/s922x/odroidn2l amlogic/s922x/vim3 amlogic/s922x/odroidn2 amlogic/s922x/odroidn2plus amlogic/s922x/zero2" \ if BR2_PACKAGE_BATOCERA_TARGET_S922X @@ -655,6 +659,9 @@ config BR2_PACKAGE_BATOCERA_TARGET_ODIN config BR2_PACKAGE_BATOCERA_TARGET_SM8250 bool "sm8250" +config BR2_PACKAGE_BATOCERA_TARGET_SM8550 + bool "sm8550" + config BR2_PACKAGE_BATOCERA_TARGET_XU4 bool "xu4" @@ -784,6 +791,7 @@ config BR2_PACKAGE_BATOCERA_HOMEBREW_SYSTEMS select BR2_PACKAGE_LIBRETRO_VIRCON32 if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || \ BR2_PACKAGE_BATOCERA_TARGET_BCM2711 || \ BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 || \ BR2_PACKAGE_BATOCERA_TARGET_SM8250 # Probably others but not tested yet # Fighting games engine @@ -854,7 +862,7 @@ config BR2_PACKAGE_BATOCERA_ARCADE_SYSTEMS # Standalone Sega Model 3 emulator select BR2_PACKAGE_SUPERMODEL if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY - select BR2_PACKAGE_SUPERMODEL_LEGACY if BR2_PACKAGE_BATOCERA_XWAYLAND && !BR2_PACKAGE_BATOCERA_TARGET_SM8250 + select BR2_PACKAGE_SUPERMODEL_LEGACY if BR2_PACKAGE_BATOCERA_XWAYLAND && !BR2_PACKAGE_BATOCERA_TARGET_SM8250 && !BR2_PACKAGE_BATOCERA_TARGET_SM8550 # RetroArch MAME derivatives select BR2_PACKAGE_LIBRETRO_MAME2003_PLUS # ALL @@ -900,16 +908,18 @@ config BR2_PACKAGE_BATOCERA_HANDHELD_SYSTEMS BR2_PACKAGE_BATOCERA_TARGET_XU4 || \ BR2_PACKAGE_BATOCERA_TARGET_H616 || \ BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 || \ BR2_PACKAGE_BATOCERA_TARGET_H6 || \ BR2_PACKAGE_BATOCERA_TARGET_T527 select BR2_PACKAGE_MELONDS if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || \ BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 || \ BR2_PACKAGE_BATOCERA_TARGET_RK3588 # 3DS - select BR2_PACKAGE_CITRA if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY + select BR2_PACKAGE_CITRA if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || BR2_PACKAGE_BATOCERA_TARGET_SM8550 #select BR2_PACKAGE_LIBRETRO_CITRA if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY #disabled, build errors. not well maintained. # PSP @@ -944,7 +954,7 @@ config BR2_PACKAGE_BATOCERA_HANDHELD_SYSTEMS select BR2_PACKAGE_LIBRETRO_ARDUOUS # ALL # Sony PS Vita - select BR2_PACKAGE_VITA3K if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY + select BR2_PACKAGE_VITA3K if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || BR2_PACKAGE_BATOCERA_TARGET_SM8550 # MegaDuck select BR2_PACKAGE_LIBRETRO_SAMEDUCK # ALL @@ -1020,7 +1030,7 @@ config BR2_PACKAGE_BATOCERA_PORTS_SYSTEMS # select BR2_PACKAGE_LIBRETRO_DINOTHAWR if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY # Minecraft mini-clone - # select BR2_PACKAGE_LIBRETRO_CRAFT if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || BR2_PACKAGE_BATOCERA_TARGET_BCM2712 + # select BR2_PACKAGE_LIBRETRO_CRAFT if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || BR2_PACKAGE_BATOCERA_TARGET_SM8550 # ChaiScript engine # select BR2_PACKAGE_LIBRETRO_CHAILOVE if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY @@ -1050,7 +1060,7 @@ config BR2_PACKAGE_BATOCERA_PORTS_SYSTEMS select BR2_PACKAGE_LIBRETRO_BOOM3 if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY # Requires RA with OpenGL # OpenLara (Tomb Raider) - select BR2_PACKAGE_LIBRETRO_OPENLARA if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY + select BR2_PACKAGE_LIBRETRO_OPENLARA if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || BR2_PACKAGE_BATOCERA_TARGET_SM8550 # Quake 3 select BR2_PACKAGE_IOQUAKE3 if !BR2_PACKAGE_BATOCERA_TARGET_BCM2835 && \ @@ -1115,7 +1125,8 @@ config BR2_PACKAGE_BATOCERA_PORTS_SYSTEMS select BR2_PACKAGE_BATOCERA_DHEWM3 if BR2_x86_64 || \ BR2_PACKAGE_BATOCERA_TARGET_RK3588 || \ BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 # CatacombGL select BR2_PACKAGE_CATACOMBGL if BR2_x86_64 @@ -1155,8 +1166,9 @@ config BR2_PACKAGE_BATOCERA_COMPUTER_SYSTEMS select BR2_PACKAGE_HATARI if !BR2_PACKAGE_BATOCERA_TARGET_BCM2835 select BR2_PACKAGE_LIBRETRO_HATARI # ALL select BR2_PACKAGE_LIBRETRO_HATARIB if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || \ - BR2_PACKAGE_BATOCERA_TARGET_BCM2711 || \ - BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ + BR2_PACKAGE_BATOCERA_TARGET_BCM2711 || \ + BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 || \ BR2_PACKAGE_BATOCERA_TARGET_SM8250 # MSX range @@ -1179,8 +1191,9 @@ config BR2_PACKAGE_BATOCERA_COMPUTER_SYSTEMS # Fujistu FM-Towns computers range select BR2_PACKAGE_TSUGARU if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || \ - BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ - BR2_PACKAGE_BATOCERA_TARGET_RK3588 || \ + BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ + BR2_PACKAGE_BATOCERA_TARGET_RK3588 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ BR2_PACKAGE_BATOCERA_TARGET_SM8250 # Macintosh @@ -1219,7 +1232,8 @@ config BR2_PACKAGE_BATOCERA_CONSOLE_SYSTEMS BR2_PACKAGE_BATOCERA_TARGET_S922X || \ BR2_PACKAGE_BATOCERA_TARGET_A3GEN2 || \ BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 # Dreamcast select BR2_PACKAGE_BATOCERA_SEGADC @@ -1255,7 +1269,8 @@ config BR2_PACKAGE_BATOCERA_CONSOLE_SYSTEMS select BR2_PACKAGE_LIBRETRO_BEETLE_SATURN if BR2_PACKAGE_BATOCERA_TARGET_X86_ANY || \ BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ BR2_PACKAGE_BATOCERA_TARGET_RK3588 || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 select BR2_PACKAGE_LIBRETRO_KRONOS if BR2_PACKAGE_BATOCERA_TARGET_X86_ANY @@ -1264,8 +1279,9 @@ config BR2_PACKAGE_BATOCERA_CONSOLE_SYSTEMS # Gamecube / Wii select BR2_PACKAGE_DOLPHIN_EMU if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || \ - BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 + BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 # cannot use BR2_PACKAGE_BATOCERA_TARGET_RK3588 as Dolphin requires OpenGL select BR2_PACKAGE_LIBRETRO_DOLPHIN if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || \ @@ -1273,7 +1289,8 @@ config BR2_PACKAGE_BATOCERA_CONSOLE_SYSTEMS BR2_PACKAGE_BATOCERA_TARGET_S922X || \ BR2_PACKAGE_BATOCERA_TARGET_A3GEN2 || \ BR2_PACKAGE_BATOCERA_TARGET_RK3588 || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 select BR2_PACKAGE_SUYU if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY && BR2_PACKAGE_BATOCERA_CORES_STILL_COMMERCIALIZED select BR2_PACKAGE_RYUJINX if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY && BR2_PACKAGE_BATOCERA_CORES_STILL_COMMERCIALIZED @@ -1282,7 +1299,7 @@ config BR2_PACKAGE_BATOCERA_CONSOLE_SYSTEMS select BR2_PACKAGE_DOLPHIN_TRIFORCE if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY # Microsoft XBOX - select BR2_PACKAGE_XEMU if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY + select BR2_PACKAGE_XEMU if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || BR2_PACKAGE_BATOCERA_TARGET_SM8550 # Microsoft Xbox 360 select BR2_PACKAGE_XENIA if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY && BR2_PACKAGE_BATOCERA_WINE_SYSTEMS @@ -1292,12 +1309,12 @@ config BR2_PACKAGE_BATOCERA_CONSOLE_SYSTEMS select BR2_PACKAGE_PCSX2 if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY # select BR2_PACKAGE_LIBRETRO_PCSX2 if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY # depricated for LR-PS2 select BR2_PACKAGE_LIBRETRO_PS2 if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY - select BR2_PACKAGE_PLAY if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY # disabled until play optimised -> || BR2_PACKAGE_BATOCERA_TARGET_BCM2712 + select BR2_PACKAGE_PLAY if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY # disabled until play optimised -> || BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || BR2_PACKAGE_BATOCERA_TARGET_SM8550 select BR2_PACKAGE_LIBRETRO_PLAY if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY - # disabled until play optimised -> || BR2_PACKAGE_BATOCERA_TARGET_SM8250 || BR2_PACKAGE_BATOCERA_TARGET_BCM2712 + # disabled until play optimised -> || BR2_PACKAGE_BATOCERA_TARGET_SM8250 || BR2_PACKAGE_BATOCERA_TARGET_SM8550 || BR2_PACKAGE_BATOCERA_TARGET_BCM2712 # Sony PS3 - select BR2_PACKAGE_RPCS3 if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY + select BR2_PACKAGE_RPCS3 if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || BR2_PACKAGE_BATOCERA_TARGET_SM8550 # Sony PS4 select BR2_PACKAGE_SHADPS4 if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY && BR2_PACKAGE_BATOCERA_CORES_STILL_COMMERCIALIZED @@ -1327,7 +1344,8 @@ config BR2_PACKAGE_BATOCERA_CONSOLE_SYSTEMS BR2_PACKAGE_BATOCERA_TARGET_S922X || \ BR2_PACKAGE_BATOCERA_TARGET_A3GEN2 || \ BR2_PACKAGE_BATOCERA_TARGET_RK3588 || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 select BR2_PACKAGE_BIGPEMU if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY @@ -1391,7 +1409,8 @@ config BR2_PACKAGE_BATOCERA_CONSOLE_SYSTEMS BR2_PACKAGE_BATOCERA_TARGET_BCM2711 || \ BR2_PACKAGE_BATOCERA_TARGET_BCM2712 || \ BR2_PACKAGE_BATOCERA_TARGET_RK3288 || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 # Super Nintendo / Super Famicom select BR2_PACKAGE_LIBRETRO_SNES9X if !BR2_PACKAGE_BATOCERA_TARGET_BCM2835 @@ -1404,7 +1423,8 @@ config BR2_PACKAGE_BATOCERA_CONSOLE_SYSTEMS BR2_PACKAGE_BATOCERA_TARGET_RK3588 || \ BR2_PACKAGE_BATOCERA_TARGET_S922X || \ BR2_PACKAGE_BATOCERA_TARGET_A3GEN2 || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 select BR2_PACKAGE_LIBRETRO_BSNES_HD if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY select BR2_PACKAGE_LIBRETRO_MESENS if BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY || \ @@ -1413,7 +1433,8 @@ config BR2_PACKAGE_BATOCERA_CONSOLE_SYSTEMS BR2_PACKAGE_BATOCERA_TARGET_RK3588 || \ BR2_PACKAGE_BATOCERA_TARGET_RK3399 || \ BR2_PACKAGE_BATOCERA_TARGET_A3GEN2 || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 # Atari 7800 select BR2_PACKAGE_LIBRETRO_PROSYSTEM # ALL @@ -1552,6 +1573,7 @@ config BR2_PACKAGE_BATOCERA_CORES_EXPERIMENTAL BR2_PACKAGE_BATOCERA_TARGET_RK3588 || \ BR2_PACKAGE_BATOCERA_TARGET_H616 || \ BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 || \ BR2_PACKAGE_BATOCERA_TARGET_T527 help @@ -1707,18 +1729,19 @@ config BR2_PACKAGE_BATOCERA_KODI21 # GBM select BR2_PACKAGE_KODI_GBM if BR2_PACKAGE_BATOCERA_TARGET_XU4 || \ BR2_PACKAGE_BATOCERA_TARGET_S922X || \ - BR2_PACKAGE_BATOCERA_TARGET_H3 || \ + BR2_PACKAGE_BATOCERA_TARGET_H3 || \ BR2_PACKAGE_BATOCERA_TARGET_A3GEN2 || \ BR2_PACKAGE_BATOCERA_TARGET_S9GEN4 || \ - BR2_PACKAGE_BATOCERA_TARGET_H5 || \ - BR2_PACKAGE_BATOCERA_TARGET_S812 || \ + BR2_PACKAGE_BATOCERA_TARGET_H5 || \ + BR2_PACKAGE_BATOCERA_TARGET_S812 || \ BR2_PACKAGE_BATOCERA_TARGET_RK3288 || \ BR2_PACKAGE_BATOCERA_TARGET_RK3399 || \ BR2_PACKAGE_BATOCERA_TARGET_RK3588 || \ BR2_PACKAGE_BATOCERA_TARGET_S905GEN3 || \ BR2_PACKAGE_BATOCERA_TARGET_JH7110 || \ - BR2_PACKAGE_BATOCERA_TARGET_ODIN || \ - BR2_PACKAGE_BATOCERA_TARGET_SM8250 + BR2_PACKAGE_BATOCERA_TARGET_ODIN || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8250 || \ + BR2_PACKAGE_BATOCERA_TARGET_SM8550 config BR2_PACKAGE_BATOCERA_WPA bool "batocera.linux WPA supplicant" diff --git a/package/batocera/core/batocera-system/batocera-system.mk b/package/batocera/core/batocera-system/batocera-system.mk index 37dd8da3a76..8ec8a6d6c0f 100644 --- a/package/batocera/core/batocera-system/batocera-system.mk +++ b/package/batocera/core/batocera-system/batocera-system.mk @@ -71,6 +71,8 @@ else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_JH7110),y) BATOCERA_SYSTEM_ARCH=jh7110 else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) BATOCERA_SYSTEM_ARCH=sm8250 +else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) + BATOCERA_SYSTEM_ARCH=sm8550 else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_T527),y) BATOCERA_SYSTEM_ARCH=t527 else diff --git a/package/batocera/core/batocera-system/sysconfigs/sm8550/batocera.conf.Ayn_Odin_2 b/package/batocera/core/batocera-system/sysconfigs/sm8550/batocera.conf.Ayn_Odin_2 new file mode 100644 index 00000000000..89d8d6dfc01 --- /dev/null +++ b/package/batocera/core/batocera-system/sysconfigs/sm8550/batocera.conf.Ayn_Odin_2 @@ -0,0 +1,8 @@ +# Ayn Odin 2 default values + +# Rotate DRM for splash +display.rotate.DSI=3 +display.rotate2.DSI=3 + +# default suspend on handled boards +system.suspendmode=suspend diff --git a/package/batocera/emulationstation/batocera-emulationstation/controllers/es_input.cfg b/package/batocera/emulationstation/batocera-emulationstation/controllers/es_input.cfg index 92e5919e28e..cbb018b4930 100644 --- a/package/batocera/emulationstation/batocera-emulationstation/controllers/es_input.cfg +++ b/package/batocera/emulationstation/batocera-emulationstation/controllers/es_input.cfg @@ -5436,5 +5436,28 @@ - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/package/batocera/emulators/dosbox-staging/dosbox-staging.mk b/package/batocera/emulators/dosbox-staging/dosbox-staging.mk index 911888c18ed..485918cfbd1 100644 --- a/package/batocera/emulators/dosbox-staging/dosbox-staging.mk +++ b/package/batocera/emulators/dosbox-staging/dosbox-staging.mk @@ -69,15 +69,15 @@ DOSBOX_STAGING_CFLAGS += -march=armv8.2-a+crc+crypto -mcpu=cortex-a55 -mtune=c DOSBOX_STAGING_CXXFLAGS += -march=armv8.2-a+crc+crypto -mcpu=cortex-a55 -mtune=cortex-a55 endif -ifeq ($(BR2_cortex_a75_a55),y) -DOSBOX_STAGING_CFLAGS += -march=armv8.2-a+crc -mcpu=cortex-a75.cortex-a55 -mtune=cortex-a75.cortex-a55 -DOSBOX_STAGING_CXXFLAGS += -march=armv8.2-a+crc -mcpu=cortex-a75.cortex-a55 -mtune=cortex-a75.cortex-a55 -endif - ifeq ($(BR2_cortex_a76_a55),y) -DOSBOX_STAGING_CFLAGS += -march=armv8.2-a+dotprod+rcpc+ssbs+sb -mcpu=cortex-a76.cortex-a55 -mtune=cortex-a76.cortex-a55 +ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) +DOSBOX_STAGING_CFLAGS += -pipe -march=armv9-a+i8mm+sm4+sha3+rcpc+crypto+nosve+nosve2 +DOSBOX_STAGING_CXXFLAGS += -pipe -march=armv9-a+i8mm+sm4+sha3+rcpc+crypto+nosve+nosve2 +else +DOSBOX_STAGING_CFLAGS += -march=armv8.2-a+dotprod+rcpc+ssbs+sb -mcpu=cortex-a76.cortex-a55 -mtune=cortex-a76.cortex-a55 DOSBOX_STAGING_CXXFLAGS += -march=armv8.2-a+dotprod+rcpc+ssbs+sb -mcpu=cortex-a76.cortex-a55 -mtune=cortex-a76.cortex-a55 endif +endif define DOSBOX_STAGING_INSTALL_TARGET_CMDS $(INSTALL) -D $(@D)/build/dosbox $(TARGET_DIR)/usr/bin/dosbox-staging diff --git a/package/batocera/emulators/mame/mame.mk b/package/batocera/emulators/mame/mame.mk index 36e996ba4df..08a603a71dc 100644 --- a/package/batocera/emulators/mame/mame.mk +++ b/package/batocera/emulators/mame/mame.mk @@ -26,6 +26,10 @@ MAME_JOBS := $(jobs) # Set PTR64 on/off according to architecture ifeq ($(BR2_ARCH_IS_64),y) MAME_CROSS_OPTS += PTR64=1 +ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) +# Temp hack for sm8550 architectures : disable WERROR to avoid C/CXX flag conflict for armv9 and armv8.x architectures as error +MAME_CROSS_OPTS += NOWERROR=1 +endif else MAME_CROSS_OPTS += PTR64=0 # Temp hack for 32-bit architectures : disable WERROR to avoid switchres log warning treated as error @@ -35,6 +39,9 @@ endif # x86_64 is desktop linux based on X11 and OpenGL ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_X86_64_ANY),y) MAME_CROSS_ARCH = x86_64 +# sm8550 have OpenGL +else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) +MAME_CROSS_OPTS += NO_X11=1 NO_USE_XINPUT=1 NO_USE_BGFX_KHRONOS=1 # other archs are embedded, no X11, no OpenGL (only ES) else MAME_CROSS_OPTS += NO_X11=1 NO_OPENGL=1 NO_USE_XINPUT=1 NO_USE_BGFX_KHRONOS=1 FORCE_DRC_C_BACKEND=1 @@ -94,8 +101,12 @@ MAME_CFLAGS += -mcpu=cortex-a73.cortex-a53 -mtune=cortex-a73.cortex-a53 endif ifeq ($(BR2_cortex_a76_a55),y) +ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) +MAME_CFLAGS += -pipe -march=armv9-a+i8mm+sm4+sha3+rcpc+crypto+nosve+nosve2 +else MAME_CFLAGS += -mcpu=cortex-a76.cortex-a55 -mtune=cortex-a76.cortex-a55 endif +endif define MAME_BUILD_CMDS # First, we need to build genie for host diff --git a/package/batocera/emulators/retroarch/libretro/libretro-beetle-pcfx/libretro-beetle-pcfx.mk b/package/batocera/emulators/retroarch/libretro/libretro-beetle-pcfx/libretro-beetle-pcfx.mk index 22d01accdb1..a048382f2d0 100644 --- a/package/batocera/emulators/retroarch/libretro/libretro-beetle-pcfx/libretro-beetle-pcfx.mk +++ b/package/batocera/emulators/retroarch/libretro/libretro-beetle-pcfx/libretro-beetle-pcfx.mk @@ -47,7 +47,7 @@ LIBRETRO_BEETLE_PCFX_PLATFORM = armv else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_ODIN),y) LIBRETRO_BEETLE_PCFX_PLATFORM = odin -else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) +else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250)$(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) LIBRETRO_BEETLE_PCFX_PLATFORM = sm8250 endif diff --git a/package/batocera/emulators/retroarch/libretro/libretro-gpsp/libretro-gpsp.mk b/package/batocera/emulators/retroarch/libretro/libretro-gpsp/libretro-gpsp.mk index e4f6a2d2e8f..d508adce0a4 100755 --- a/package/batocera/emulators/retroarch/libretro/libretro-gpsp/libretro-gpsp.mk +++ b/package/batocera/emulators/retroarch/libretro/libretro-gpsp/libretro-gpsp.mk @@ -17,11 +17,15 @@ LIBRETRO_GPSP_PLATFORM = rpi1 else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_BCM2836),y) LIBRETRO_GPSP_PLATFORM = rpi2 + +else ifeq ($(BR2_aarch64),y) +LIBRETRO_GPSP_PLATFORM = arm64 + endif define LIBRETRO_GPSP_BUILD_CMDS $(TARGET_CONFIGURE_OPTS) $(MAKE) CXX="$(TARGET_CXX)" CC="$(TARGET_CC)" \ - -C $(@D) platform=$(LIBRETRO_GPSP_PLATFORM) \ + -C $(@D) platform=$(LIBRETRO_GPSP_PLATFORM) -j"$(PARALLEL_JOBS)" \ GIT_VERSION="-$(shell echo $(LIBRETRO_GPSP_VERSION) | cut -c 1-7)" endef diff --git a/package/batocera/emulators/retroarch/libretro/libretro-melonds/libretro-melonds.mk b/package/batocera/emulators/retroarch/libretro/libretro-melonds/libretro-melonds.mk index d61f0b700d6..861c37e068a 100644 --- a/package/batocera/emulators/retroarch/libretro/libretro-melonds/libretro-melonds.mk +++ b/package/batocera/emulators/retroarch/libretro/libretro-melonds/libretro-melonds.mk @@ -39,7 +39,7 @@ LIBRETRO_MELONDS_PLATFORM = orangepizero2 else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_H6),y) LIBRETRO_MELONDS_PLATFORM = orangepizero2 -else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) +else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250)$(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) LIBRETRO_MELONDS_PLATFORM = sm8250 else ifeq ($(BR2_aarch64),y) diff --git a/package/batocera/emulators/retroarch/libretro/libretro-mupen64plus-next/libretro-mupen64plus-next.mk b/package/batocera/emulators/retroarch/libretro/libretro-mupen64plus-next/libretro-mupen64plus-next.mk index 6d8c0ec6fe5..c1128402cc5 100755 --- a/package/batocera/emulators/retroarch/libretro/libretro-mupen64plus-next/libretro-mupen64plus-next.mk +++ b/package/batocera/emulators/retroarch/libretro/libretro-mupen64plus-next/libretro-mupen64plus-next.mk @@ -113,7 +113,7 @@ LIBRETRO_MUPEN64PLUS_NEXT_EXTRA_ARGS += WITH_DYNAREC=arm HAVE_NEON=1 else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_ODIN),y) LIBRETRO_MUPEN64PLUS_NEXT_PLATFORM = odin -else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) +else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250)$(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) LIBRETRO_MUPEN64PLUS_NEXT_PLATFORM = sm8250 else diff --git a/package/batocera/emulators/retroarch/libretro/libretro-parallel-n64/libretro-parallel-n64.mk b/package/batocera/emulators/retroarch/libretro/libretro-parallel-n64/libretro-parallel-n64.mk index 8f24969bf15..fff587f80a0 100755 --- a/package/batocera/emulators/retroarch/libretro/libretro-parallel-n64/libretro-parallel-n64.mk +++ b/package/batocera/emulators/retroarch/libretro/libretro-parallel-n64/libretro-parallel-n64.mk @@ -34,7 +34,7 @@ LIBRETRO_PARALLEL_N64_BOARD=ODROID-XU4 else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_RK3588),y) LIBRETRO_PARALLEL_N64_EXTRA_ARGS+=WITH_DYNAREC=aarch64 LIBRETRO_PARALLEL_N64_PLATFORM=rk3588 -else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) +else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250)$(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) LIBRETRO_PARALLEL_N64_PLATFORM=sm8250 else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_S905),y) LIBRETRO_PARALLEL_N64_EXTRA_ARGS+=WITH_DYNAREC=aarch64 diff --git a/package/batocera/emulators/retroarch/libretro/libretro-yabasanshiro/libretro-yabasanshiro.mk b/package/batocera/emulators/retroarch/libretro/libretro-yabasanshiro/libretro-yabasanshiro.mk index 9241c156e5d..538145a6a25 100644 --- a/package/batocera/emulators/retroarch/libretro/libretro-yabasanshiro/libretro-yabasanshiro.mk +++ b/package/batocera/emulators/retroarch/libretro/libretro-yabasanshiro/libretro-yabasanshiro.mk @@ -45,7 +45,7 @@ LIBRETRO_YABASANSHIRO_PLATFORM = RK3588 else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_RK3326),y) LIBRETRO_YABASANSHIRO_PLATFORM = RK3326 -else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) +else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250)$(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) LIBRETRO_YABASANSHIRO_PLATFORM = sm8250 else ifeq ($(BR2_aarch64),y) diff --git a/package/batocera/emulators/retroarch/shaders/batocera-shaders/batocera-shaders.mk b/package/batocera/emulators/retroarch/shaders/batocera-shaders/batocera-shaders.mk index bd62ef69849..e8327bb8310 100644 --- a/package/batocera/emulators/retroarch/shaders/batocera-shaders/batocera-shaders.mk +++ b/package/batocera/emulators/retroarch/shaders/batocera-shaders/batocera-shaders.mk @@ -42,6 +42,8 @@ else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_ODIN),y) BATOCERA_GPU_SYSTEM=adreno-630 else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) BATOCERA_GPU_SYSTEM=adreno-650 +else ifeq ($(BR2_PACKAGE_BATOCERA_TARGET_SM8550),y) + BATOCERA_GPU_SYSTEM=adreno-740 endif BATOCERA_SHADERS_DIRIN=$(BR2_EXTERNAL_BATOCERA_PATH)/package/batocera/emulators/retroarch/shaders/batocera-shaders/configs diff --git a/package/batocera/emulators/rpcs3/014-gun-mapping.patch b/package/batocera/emulators/rpcs3/014-gun-mapping.patch index 1fb69b5e236..ba6e6765577 100644 --- a/package/batocera/emulators/rpcs3/014-gun-mapping.patch +++ b/package/batocera/emulators/rpcs3/014-gun-mapping.patch @@ -1,8 +1,8 @@ diff --git a/rpcs3/Emu/Cell/Modules/cellGem.cpp b/rpcs3/Emu/Cell/Modules/cellGem.cpp -index d92eba4..7ffad64 100644 +index 128ffd0..41170a4 100644 --- a/rpcs3/Emu/Cell/Modules/cellGem.cpp +++ b/rpcs3/Emu/Cell/Modules/cellGem.cpp -@@ -912,15 +912,15 @@ static bool gun_input_to_pad(const u32 gem_no, be_t& digital_buttons, be_t< +@@ -2181,15 +2181,15 @@ static bool gun_input_to_pad(u32 gem_no, be_t& digital_buttons, be_t& if (gun.handler.get_button(gem_no, gun_button::btn_2) == 1) digital_buttons |= CELL_GEM_CTRL_CIRCLE; @@ -18,6 +18,6 @@ index d92eba4..7ffad64 100644 + if (gun.handler.get_button(gem_no, gun_button::btn_7) == 1) + digital_buttons |= CELL_GEM_CTRL_SELECT; + - analog_t = gun.handler.get_button(gem_no, gun_button::btn_left) ? 0xFFFF : 0; + analog_t = gun.handler.get_button(gem_no, gun_button::btn_left) ? 255 : 0; return true; diff --git a/package/batocera/emulators/rpcs3/rpcs3.mk b/package/batocera/emulators/rpcs3/rpcs3.mk index 0888bbd005f..1fd929c586a 100644 --- a/package/batocera/emulators/rpcs3/rpcs3.mk +++ b/package/batocera/emulators/rpcs3/rpcs3.mk @@ -3,8 +3,8 @@ # rpcs3 # ################################################################################ -# Version: 0.0.34-17265, Commits on Dec 29, 2024 -RPCS3_VERSION = 418a99a62b814b7f831072610c9e7d7b5e90610c +# Version: 0.0.34-17426, Commits on Feb 3, 2025 +RPCS3_VERSION = 6123838a4837a8e78e0d68c4ca07829d13826c23 RPCS3_SITE = https://github.com/RPCS3/rpcs3.git RPCS3_SITE_METHOD=git RPCS3_GIT_SUBMODULES=YES diff --git a/package/batocera/emulators/suyu/Config.in b/package/batocera/emulators/suyu/Config.in index 02f2cdfb390..8b07b13357f 100644 --- a/package/batocera/emulators/suyu/Config.in +++ b/package/batocera/emulators/suyu/Config.in @@ -1,6 +1,6 @@ config BR2_PACKAGE_SUYU bool "suyu" - depends on BR2_x86_64 + depends on (BR2_x86_64 || BR2_aarch64) depends on BR2_PACKAGE_XORG7 select BR2_PACKAGE_JSON_FOR_MODERN_CPP select BR2_PACKAGE_BATOCERA_QT6 diff --git a/package/batocera/emulators/suyu/suyu.mk b/package/batocera/emulators/suyu/suyu.mk index 8a222ede243..a8673243add 100644 --- a/package/batocera/emulators/suyu/suyu.mk +++ b/package/batocera/emulators/suyu/suyu.mk @@ -14,13 +14,22 @@ SUYU_DEPENDENCIES = qt6base qt6tools qt6multimedia fmt boost ffmpeg \ SUYU_SUPPORTS_IN_SOURCE_BUILD = NO -SUYU_CONF_ENV += LDFLAGS=-lpthread ARCHITECTURE_x86_64=1 +SUYU_CONF_ENV += LDFLAGS=-lpthread +ifeq ($(BR2_x86_64),y) + SUYU_DEPENDENCIES += ARCHITECTURE_x86_64=1 + SUYU_CONF_OPTS += -DARCHITECTURE_x86_64=ON +endif +ifeq ($(BR2_aarch64),y) + SUYU_CONF_ENV += VCPKG_FORCE_SYSTEM_BINARIES=1 + SUYU_CONF_OPTS += -DARCHITECTURE_arm64=ON + SUYU_CONF_OPTS += -DSUYU_USE_BUNDLED_FFMPEG=OFF +endif SUYU_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release SUYU_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF -SUYU_CONF_OPTS += -DARCHITECTURE_x86_64=ON SUYU_CONF_OPTS += -DENABLE_SDL2=ON SUYU_CONF_OPTS += -DENABLE_QT6=ON +SUYU_CONF_OPTS += -DENABLE_QT_TRANSLATION=ON SUYU_CONF_OPTS += -DSUYU_USE_EXTERNAL_SDL2=OFF SUYU_CONF_OPTS += -DUSE_DISCORD_PRESENCE=OFF SUYU_CONF_OPTS += -DSUYU_TESTS=OFF diff --git a/package/batocera/firmwares/alllinuxfirmwares/alllinuxfirmwares.mk b/package/batocera/firmwares/alllinuxfirmwares/alllinuxfirmwares.mk index 325e1c5231e..762744284e3 100644 --- a/package/batocera/firmwares/alllinuxfirmwares/alllinuxfirmwares.mk +++ b/package/batocera/firmwares/alllinuxfirmwares/alllinuxfirmwares.mk @@ -29,7 +29,7 @@ ifeq ($(BR2_PACKAGE_BRCMFMAC_SDIO_FIRMWARE_RPI)$(BR2_PACKAGE_EXTRALINUXFIRMWARES endif # Remove qualcomm firmware if not buidling Qualcomm Board -ifneq ($(BR2_PACKAGE_BATOCERA_TARGET_ODIN)$(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) +ifneq ($(BR2_PACKAGE_BATOCERA_TARGET_ODIN)$(BR2_PACKAGE_BATOCERA_TARGET_SM8550)$(BR2_PACKAGE_BATOCERA_TARGET_SM8250),y) ALLLINUXFIRMWARES_REMOVE_DIRS += $(@D)/qcom endif diff --git a/package/batocera/firmwares/firmware-armbian/firmware-armbian.mk b/package/batocera/firmwares/firmware-armbian/firmware-armbian.mk index 90158476314..d4f62e1b7c6 100644 --- a/package/batocera/firmwares/firmware-armbian/firmware-armbian.mk +++ b/package/batocera/firmwares/firmware-armbian/firmware-armbian.mk @@ -8,7 +8,7 @@ FIRMWARE_ARMBIAN_VERSION = 9179a9f05c31505e1bbc90ffb2bfa563e499bfef FIRMWARE_ARMBIAN_SITE = https://github.com/armbian/firmware FIRMWARE_ARMBIAN_SITE_METHOD = git -FIRMWARE_ARMBIAN_TARGET_DIR=$(TARGET_DIR)/lib/firmware/ +FIRMWARE_ARMBIAN_TARGET_DIR=$(TARGET_DIR)/lib/firmware define FIRMWARE_ARMBIAN_INSTALL_TARGET_CMDS mkdir -p $(FIRMWARE_ARMBIAN_TARGET_DIR) diff --git a/package/batocera/libraries/shaderc/shaderc.mk b/package/batocera/libraries/shaderc/shaderc.mk index 19ef8189787..835d84dc124 100644 --- a/package/batocera/libraries/shaderc/shaderc.mk +++ b/package/batocera/libraries/shaderc/shaderc.mk @@ -16,6 +16,10 @@ SHADERC_CONF_OPTS += -DCMAKE_BUILD_TYPE=Release SHADERC_CONF_OPTS += -DSHADERC_SKIP_TESTS=ON SHADERC_CONF_OPTS += -DSHADERC_SKIP_EXAMPLES=ON +ifeq ($(BR2_PACKAGE_SPIRV_HEADERS),y) + SHADERC_DEPENDENCIES += spirv-tools +endif + define SHADERC_SYNC_DEPS cd $(@D) && PATH=$(BR_PATH) ./utils/git-sync-deps endef diff --git a/package/batocera/network/qualcomm/pd-mapper/Config.in b/package/batocera/network/qualcomm/pd-mapper/Config.in index d7b4215ccff..8933cc7ef4b 100644 --- a/package/batocera/network/qualcomm/pd-mapper/Config.in +++ b/package/batocera/network/qualcomm/pd-mapper/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_PD_MAPPER bool "pd-mapper" select BR2_PACKAGE_QRTR + select BR2_PACKAGE_XZ help Qualcomm Protection Domain mapper. diff --git a/package/batocera/network/qualcomm/pd-mapper/pd-mapper.mk b/package/batocera/network/qualcomm/pd-mapper/pd-mapper.mk index 22d53ee2bca..a3059b29078 100644 --- a/package/batocera/network/qualcomm/pd-mapper/pd-mapper.mk +++ b/package/batocera/network/qualcomm/pd-mapper/pd-mapper.mk @@ -4,14 +4,14 @@ # ################################################################################ -PD_MAPPER_VERSION = 9d78fc0c6143c4d1b7198c57be72a6699ce764c4 +PD_MAPPER_VERSION = e7c42e1522249593302a5b8920b9e7b42dc3f25e PD_MAPPER_SITE = $(call github,andersson,pd-mapper,$(PD_MAPPER_VERSION)) PD_MAPPER_LICENSE_FILE = LICENSE -PD_MAPPER_DEPENDENCIES = host-qrtr qrtr +PD_MAPPER_DEPENDENCIES = host-qrtr qrtr xz define PD_MAPPER_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \ - LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib -lqrtr" -C $(@D) + LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib -lqrtr -llzma" -C $(@D) endef define PD_MAPPER_INSTALL_TARGET_CMDS diff --git a/package/batocera/network/qualcomm/qrtr/qrtr.mk b/package/batocera/network/qualcomm/qrtr/qrtr.mk index 14d1317435b..2ae4910cc22 100644 --- a/package/batocera/network/qualcomm/qrtr/qrtr.mk +++ b/package/batocera/network/qualcomm/qrtr/qrtr.mk @@ -4,33 +4,13 @@ # ################################################################################ -QRTR_VERSION = 9dc7a88548c27983e06465d3fbba2ba27d4bc050 +QRTR_VERSION = ef44ad10f284410e2db4c4ce22c8645f988f8402 QRTR_SITE = $(call github,andersson,qrtr,$(QRTR_VERSION)) QRTR_LICENSE = BSD-3-Clause license QRTR_LICENSE_FILE = LICENSE QRTR_DEPENDENCIES = linux-headers +QRTR_INSTALL_STAGING = YES HOST_QRTR_DEPENDENCIES = linux-headers toolchain -define QRTR_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) all -endef - -define QRTR_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/qrtr-ns $(TARGET_DIR)/usr/bin - $(INSTALL) -D -m 0755 $(@D)/qrtr-cfg $(TARGET_DIR)/usr/bin - $(INSTALL) -D -m 0755 $(@D)/qrtr-lookup $(TARGET_DIR)/usr/bin - cp $(@D)/libqrtr.so $(TARGET_DIR)/usr/lib - ln -sf libqrtr.so $(TARGET_DIR)/usr/lib/libqrtr.so.1 - ln -sf libqrtr.so.1 $(TARGET_DIR)/usr/lib/libqrtr.so.1.0 -endef - -define HOST_QRTR_BUILD_CMDS - $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) prefix=$(STAGING_DIR)/usr all -endef - -define HOST_QRTR_INSTALL_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) prefix=$(STAGING_DIR)/usr install -endef - -$(eval $(generic-package)) -$(eval $(host-generic-package)) +$(eval $(meson-package)) +$(eval $(host-meson-package)) diff --git a/package/batocera/network/qualcomm/rmtfs/rmtfs.mk b/package/batocera/network/qualcomm/rmtfs/rmtfs.mk index 7ca0888472b..58b54a5d22b 100644 --- a/package/batocera/network/qualcomm/rmtfs/rmtfs.mk +++ b/package/batocera/network/qualcomm/rmtfs/rmtfs.mk @@ -4,7 +4,7 @@ # ################################################################################ -RMTFS_VERSION = b08ef6f98ec567876d7d45f15c85c6ed00d7c463 +RMTFS_VERSION = 33e1e40615efc59b17a515afe857c51b8b8c1ad1 RMTFS_SITE = $(call github,andersson,rmtfs,$(RMTFS_VERSION)) RMTFS_LICENSE = BSD-3-Clause license RMTFS_LICENSE_FILE = LICENSE diff --git a/package/batocera/network/qualcomm/tqftpserv/Config.in b/package/batocera/network/qualcomm/tqftpserv/Config.in index bb0ee10c2d9..c8898bc0e14 100644 --- a/package/batocera/network/qualcomm/tqftpserv/Config.in +++ b/package/batocera/network/qualcomm/tqftpserv/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_TQFTPSERV bool "tqftpserv" select BR2_PACKAGE_QRTR + select BR2_PACKAGE_ZSTD help Trivial File Transfer Protocol server over AF_QIPCRTR. diff --git a/package/batocera/network/qualcomm/tqftpserv/tqftpserv.mk b/package/batocera/network/qualcomm/tqftpserv/tqftpserv.mk index c58440d3bec..ebd3f3c83e6 100644 --- a/package/batocera/network/qualcomm/tqftpserv/tqftpserv.mk +++ b/package/batocera/network/qualcomm/tqftpserv/tqftpserv.mk @@ -4,19 +4,10 @@ # ################################################################################ -TQFTPSERV_VERSION = 783425b550de2a359db6aa3b41577c3fbaae5903 +TQFTPSERV_VERSION = 533779cb8a1843581d5422a7f0aae1a35e6ab956 TQFTPSERV_SITE = $(call github,andersson,tqftpserv,$(TQFTPSERV_VERSION)) TQFTPSERV_LICENSE = BSD-3-Clause license TQFTPSERV_LICENSE_FILE = LICENSE -TQFTPSERV_DEPENDENCIES = host-qrtr qrtr +TQFTPSERV_DEPENDENCIES = host-qrtr qrtr zstd -define TQFTPSERV_BUILD_CMDS - $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \ - LDFLAGS="$(TARGET_LDFLAGS) -L$(STAGING_DIR)/usr/lib -lqrtr" -C $(@D) -endef - -define TQFTPSERV_INSTALL_TARGET_CMDS - $(INSTALL) -D -m 0755 $(@D)/tqftpserv $(TARGET_DIR)/usr/bin -endef - -$(eval $(generic-package)) +$(eval $(meson-package)) diff --git a/package/batocera/ports/etlegacy/Config.in b/package/batocera/ports/etlegacy/Config.in index b5a49deb8b8..b8a080baa74 100644 --- a/package/batocera/ports/etlegacy/Config.in +++ b/package/batocera/ports/etlegacy/Config.in @@ -11,6 +11,7 @@ config BR2_PACKAGE_ETLEGACY select BR2_PACKAGE_OPENAL select BR2_PACKAGE_OPENSSL select BR2_PACKAGE_SDL2 + select BR2_PACKAGE_SQLITE help ET: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of the GPLv3 license. diff --git a/package/batocera/ports/etlegacy/etlegacy.mk b/package/batocera/ports/etlegacy/etlegacy.mk index 423095ef62f..ce2a6d2a6c2 100644 --- a/package/batocera/ports/etlegacy/etlegacy.mk +++ b/package/batocera/ports/etlegacy/etlegacy.mk @@ -12,7 +12,7 @@ ETLEGACY_LICENSE = GPL-3.0 ETLEGACY_LICENSE_FILE = COPYING.txt ETLEGACY_DEPENDENCIES += freetype libcurl libglew libpng libtheora libglu -ETLEGACY_DEPENDENCIES += libvorbis lua openal openssl sdl2 +ETLEGACY_DEPENDENCIES += libvorbis lua openal openssl sdl2 sqlite ETLEGACY_SUPPORTS_IN_SOURCE_BUILD = NO