mirror of
https://github.com/NixOS/mobile-nixos.git
synced 2024-09-19 07:47:20 +03:00
samsung-serranove: Init
Implements compatibility for Samsung Galaxy S4 Mini (Value Edition) a.k.a samsung-serranove (not to be confused with serranoldd and serannolte!)
This commit is contained in:
parent
5455e4455b
commit
5568bcb940
6
devices/samsung-sarranove/README.adoc
Normal file
6
devices/samsung-sarranove/README.adoc
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
= Samsung Galaxy S4 Mini Value Edition
|
||||||
|
include::_support/common.inc[]
|
||||||
|
|
||||||
|
== Device-specific notes
|
||||||
|
|
||||||
|
none
|
90
devices/samsung-sarranove/default.nix
Normal file
90
devices/samsung-sarranove/default.nix
Normal file
@ -0,0 +1,90 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
# Based in part on device-samsung-serranove from pmbootstrap
|
||||||
|
|
||||||
|
# REVIEW(Krey): Please advice on how to handle these firmware requirements:
|
||||||
|
# * Requires a firmware for GPU/WiFi/BT/Modem/Video
|
||||||
|
# ** firmware-qcom-adreno-a300 -- Appears to be obtainable from linux-firmware: https://gitlab.com/postmarketOS/pmaports/-/commit/96f2ad2fac39bf9c38a822f5a4369adb3e2fdda2
|
||||||
|
# ** msm-firmware-loader -- https://gitlab.com/postmarketOS/pmaports/-/tree/master/main/msm-firmware-loader
|
||||||
|
# ** firmware-samsung-serranove-wcnss-nv -- https://gitlab.com/postmarketOS/pmaports/-/blob/master/device/community/firmware-samsung-serranove/APKBUILD
|
||||||
|
|
||||||
|
{
|
||||||
|
mobile.device.name = "samsung-serranove";
|
||||||
|
mobile.device.identity = {
|
||||||
|
name = "Galaxy S4 Mini Value Edition";
|
||||||
|
manufacturer = "Samsung";
|
||||||
|
};
|
||||||
|
|
||||||
|
# The hardware supports aarch64-*, but the firmware was never updated from armv7 -> Disfunctional GPU/WiFi/BT/Modem/Video on aarch64-*
|
||||||
|
mobile.system.system = "armv7l-linux";
|
||||||
|
|
||||||
|
mobile.hardware = {
|
||||||
|
soc = "qualcomm-msm8916";
|
||||||
|
ram = 1024 * 1.5;
|
||||||
|
# The panel is wired backwards so renders as XY mirrored which needs to be managed in software (https://gitlab.com/postmarketOS/pmaports/-/issues/1340)
|
||||||
|
screen = {
|
||||||
|
width = 540; height = 960;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# TODO(Krey): Figure out the firmware
|
||||||
|
# mobile.boot.stage-1.firmware = [
|
||||||
|
# qcom-video-firmware
|
||||||
|
# ];
|
||||||
|
|
||||||
|
mobile.boot.stage-1.kernel = {
|
||||||
|
package = pkgs.callPackage ./kernel { };
|
||||||
|
modular = true; # REVIEW(Krey): Unsure..
|
||||||
|
modules = [
|
||||||
|
"panel-samsung-s6e88a0-ams427ap24"
|
||||||
|
"msm" # DRM module
|
||||||
|
"zinitix"
|
||||||
|
"rt5033"
|
||||||
|
"rt5033-charger"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
# mobile.device.firmware = pkgs.callPackage ./firmware {};
|
||||||
|
# Firmware is not enabled by default since it requires manually providing unredistributable files.
|
||||||
|
mobile.device.enableFirmware = false;
|
||||||
|
|
||||||
|
mobile.system.android.device_name = "samsung-serranove";
|
||||||
|
mobile.system.android = {
|
||||||
|
bootimg.flash = {
|
||||||
|
offset_base = "0x80000000";
|
||||||
|
offset_kernel = "0x00008000";
|
||||||
|
offset_ramdisk = "0x02000000";
|
||||||
|
offset_second = "0x00f00000";
|
||||||
|
offset_tags = "0x01e00000";
|
||||||
|
pagesize = "2048";
|
||||||
|
};
|
||||||
|
# appendDTB = [
|
||||||
|
# "dtbs/qcom/sdm625-motorola-potter.dtb"
|
||||||
|
# ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# RFC(krey->samueldr): The boot partition on this device is 225.7M, should we use this?
|
||||||
|
# mobile.boot.stage-1.compression = lib.mkDefault "xz";
|
||||||
|
|
||||||
|
mobile.usb = {
|
||||||
|
mode = "gadgetfs"; # REVIEW(Krey): Unsure..
|
||||||
|
idVendor = "0x04e8"; # Samsung Electronics Co., Ltd
|
||||||
|
idProduct = "6860"; # something not "D001", to distinguish nixos from fastboot/lk2nd
|
||||||
|
|
||||||
|
# REVIEW(Krey): Unsure..
|
||||||
|
gadgetfs.functions = {
|
||||||
|
rndis = "rndis.usb0";
|
||||||
|
adb = "ffs.adb";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
mobile.system.type = "android";
|
||||||
|
mobile.system.android.flashingMethod = "lk2nd";
|
||||||
|
|
||||||
|
mobile.kernel.structuredConfig = [
|
||||||
|
(helpers: with helpers; {
|
||||||
|
CC_OPTIMIZE_FOR_PERFORMANCE = no;
|
||||||
|
CC_OPTIMIZE_FOR_SIZE = yes;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
505
devices/samsung-sarranove/kernel/config.arm
Normal file
505
devices/samsung-sarranove/kernel/config.arm
Normal file
@ -0,0 +1,505 @@
|
|||||||
|
#
|
||||||
|
# Defconfig for msm8916 from https://github.com/msm8916-mainline/linux/commit/6cc2342c6a7227a05ca94c836df42d5ba273eef2
|
||||||
|
# Linux/arm 6.7-rc4 Kernel Configuration
|
||||||
|
#
|
||||||
|
|
||||||
|
# cat arch/arm64/configs/msm8916_defconfig arch/arm/configs/msm8916_defconfig.part > arch/arm/configs/msm8916_defconfig
|
||||||
|
|
||||||
|
CONFIG_LOCALVERSION="-serranove"
|
||||||
|
CONFIG_SYSVIPC=y
|
||||||
|
CONFIG_POSIX_MQUEUE=y
|
||||||
|
CONFIG_AUDIT=y
|
||||||
|
CONFIG_NO_HZ_IDLE=y
|
||||||
|
CONFIG_HIGH_RES_TIMERS=y
|
||||||
|
CONFIG_BPF_SYSCALL=y
|
||||||
|
CONFIG_BPF_JIT=y
|
||||||
|
CONFIG_BPF_JIT_ALWAYS_ON=y
|
||||||
|
CONFIG_PREEMPT=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_IKCONFIG=y
|
||||||
|
CONFIG_IKCONFIG_PROC=y
|
||||||
|
CONFIG_MEMCG=y
|
||||||
|
CONFIG_BLK_CGROUP=y
|
||||||
|
CONFIG_CGROUP_PIDS=y
|
||||||
|
CONFIG_CGROUP_FREEZER=y
|
||||||
|
CONFIG_CGROUP_HUGETLB=y
|
||||||
|
CONFIG_CPUSETS=y
|
||||||
|
CONFIG_CGROUP_DEVICE=y
|
||||||
|
CONFIG_CGROUP_CPUACCT=y
|
||||||
|
CONFIG_CGROUP_PERF=y
|
||||||
|
CONFIG_CGROUP_BPF=y
|
||||||
|
CONFIG_USER_NS=y
|
||||||
|
CONFIG_SCHED_AUTOGROUP=y
|
||||||
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
|
CONFIG_PROFILING=y
|
||||||
|
CONFIG_ARCH_QCOM=y
|
||||||
|
# CONFIG_AMPERE_ERRATUM_AC03_CPU_38 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_832075 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_834220 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_1742098 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_1024718 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_1418040 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_1165522 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_1319367 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_1530923 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_2441007 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_1286807 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_1463225 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_1542419 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_1508412 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_2051678 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_2077057 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_2658417 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_2054223 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_2067961 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_2441009 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_2645198 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_2966298 is not set
|
||||||
|
# CONFIG_CAVIUM_ERRATUM_22375 is not set
|
||||||
|
# CONFIG_CAVIUM_ERRATUM_23154 is not set
|
||||||
|
# CONFIG_CAVIUM_ERRATUM_27456 is not set
|
||||||
|
# CONFIG_CAVIUM_ERRATUM_30115 is not set
|
||||||
|
# CONFIG_CAVIUM_TX2_ERRATUM_219 is not set
|
||||||
|
# CONFIG_FUJITSU_ERRATUM_010001 is not set
|
||||||
|
# CONFIG_HISILICON_ERRATUM_161600802 is not set
|
||||||
|
# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
|
||||||
|
# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set
|
||||||
|
# CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set
|
||||||
|
# CONFIG_QCOM_FALKOR_ERRATUM_E1041 is not set
|
||||||
|
# CONFIG_NVIDIA_CARMEL_CNP_ERRATUM is not set
|
||||||
|
# CONFIG_ROCKCHIP_ERRATUM_3588001 is not set
|
||||||
|
# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
|
||||||
|
CONFIG_ARM64_VA_BITS_48=y
|
||||||
|
CONFIG_SCHED_MC=y
|
||||||
|
CONFIG_SCHED_CLUSTER=y
|
||||||
|
CONFIG_SCHED_SMT=y
|
||||||
|
CONFIG_NR_CPUS=8
|
||||||
|
CONFIG_HOTPLUG_CPU=y
|
||||||
|
CONFIG_HZ_300=y
|
||||||
|
CONFIG_COMPAT=y
|
||||||
|
# CONFIG_ARM64_HW_AFDBM is not set
|
||||||
|
# CONFIG_ARM64_PAN is not set
|
||||||
|
# CONFIG_ARM64_USE_LSE_ATOMICS is not set
|
||||||
|
# CONFIG_ARM64_RAS_EXTN is not set
|
||||||
|
# CONFIG_ARM64_CNP is not set
|
||||||
|
# CONFIG_ARM64_PTR_AUTH is not set
|
||||||
|
# CONFIG_ARM64_AMU_EXTN is not set
|
||||||
|
# CONFIG_ARM64_TLB_RANGE is not set
|
||||||
|
# CONFIG_ARM64_BTI is not set
|
||||||
|
# CONFIG_ARM64_E0PD is not set
|
||||||
|
# CONFIG_ARM64_SVE is not set
|
||||||
|
CONFIG_RANDOMIZE_BASE=y
|
||||||
|
# CONFIG_EFI is not set
|
||||||
|
# CONFIG_SUSPEND is not set
|
||||||
|
CONFIG_PM=y
|
||||||
|
CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
|
||||||
|
CONFIG_CPU_IDLE=y
|
||||||
|
CONFIG_ARM_PSCI_CPUIDLE=y
|
||||||
|
CONFIG_ARM_QCOM_SPM_CPUIDLE=y
|
||||||
|
CONFIG_CPU_FREQ=y
|
||||||
|
CONFIG_CPU_FREQ_STAT=y
|
||||||
|
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||||
|
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||||
|
CONFIG_CPU_FREQ_GOV_ONDEMAND=m
|
||||||
|
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
|
||||||
|
CONFIG_CPUFREQ_DT=y
|
||||||
|
CONFIG_ARM_QCOM_CPUFREQ_NVMEM=y
|
||||||
|
CONFIG_VIRTUALIZATION=y
|
||||||
|
CONFIG_KVM=y
|
||||||
|
CONFIG_JUMP_LABEL=y
|
||||||
|
CONFIG_MODULES=y
|
||||||
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||||
|
# CONFIG_COMPAT_BRK is not set
|
||||||
|
CONFIG_KSM=y
|
||||||
|
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||||
|
CONFIG_CMA=y
|
||||||
|
CONFIG_LRU_GEN=y
|
||||||
|
CONFIG_LRU_GEN_ENABLED=y
|
||||||
|
CONFIG_NET=y
|
||||||
|
CONFIG_PACKET=y
|
||||||
|
CONFIG_UNIX=y
|
||||||
|
CONFIG_INET=y
|
||||||
|
CONFIG_IP_MULTICAST=y
|
||||||
|
CONFIG_IP_PNP=y
|
||||||
|
CONFIG_IP_PNP_DHCP=y
|
||||||
|
CONFIG_IP_PNP_BOOTP=y
|
||||||
|
CONFIG_IPV6=m
|
||||||
|
CONFIG_NETFILTER=y
|
||||||
|
CONFIG_BRIDGE_NETFILTER=m
|
||||||
|
CONFIG_NF_CONNTRACK=m
|
||||||
|
CONFIG_NF_CONNTRACK_EVENTS=y
|
||||||
|
CONFIG_NETFILTER_XT_MARK=m
|
||||||
|
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
|
||||||
|
CONFIG_NETFILTER_XT_TARGET_LOG=m
|
||||||
|
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
|
||||||
|
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
|
||||||
|
CONFIG_NETFILTER_XT_MATCH_IPVS=m
|
||||||
|
CONFIG_IP_VS=m
|
||||||
|
CONFIG_IP_NF_IPTABLES=m
|
||||||
|
CONFIG_IP_NF_FILTER=m
|
||||||
|
CONFIG_IP_NF_TARGET_REJECT=m
|
||||||
|
CONFIG_IP_NF_NAT=m
|
||||||
|
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||||
|
CONFIG_IP_NF_MANGLE=m
|
||||||
|
CONFIG_IP6_NF_IPTABLES=m
|
||||||
|
CONFIG_IP6_NF_FILTER=m
|
||||||
|
CONFIG_IP6_NF_TARGET_REJECT=m
|
||||||
|
CONFIG_IP6_NF_MANGLE=m
|
||||||
|
CONFIG_IP6_NF_NAT=m
|
||||||
|
CONFIG_IP6_NF_TARGET_MASQUERADE=m
|
||||||
|
CONFIG_BRIDGE=m
|
||||||
|
CONFIG_BRIDGE_VLAN_FILTERING=y
|
||||||
|
CONFIG_VLAN_8021Q=m
|
||||||
|
CONFIG_VLAN_8021Q_GVRP=y
|
||||||
|
CONFIG_VLAN_8021Q_MVRP=y
|
||||||
|
CONFIG_QRTR=y
|
||||||
|
CONFIG_QRTR_SMD=y
|
||||||
|
CONFIG_QRTR_TUN=m
|
||||||
|
CONFIG_BT=y
|
||||||
|
CONFIG_BT_HIDP=m
|
||||||
|
CONFIG_BT_LEDS=y
|
||||||
|
CONFIG_BT_HCIBTUSB=m
|
||||||
|
CONFIG_BT_QCOMSMD=m
|
||||||
|
CONFIG_CFG80211=y
|
||||||
|
CONFIG_MAC80211=y
|
||||||
|
CONFIG_MAC80211_LEDS=y
|
||||||
|
CONFIG_RFKILL=y
|
||||||
|
CONFIG_NFC=m
|
||||||
|
CONFIG_NFC_NCI=m
|
||||||
|
CONFIG_NFC_NXP_NCI=m
|
||||||
|
CONFIG_NFC_NXP_NCI_I2C=m
|
||||||
|
CONFIG_NFC_S3FWRN5_I2C=m
|
||||||
|
CONFIG_DEVTMPFS=y
|
||||||
|
CONFIG_DEVTMPFS_MOUNT=y
|
||||||
|
# CONFIG_QCOM_EBI2 is not set
|
||||||
|
CONFIG_OF_OVERLAY=y
|
||||||
|
CONFIG_BLK_DEV_LOOP=y
|
||||||
|
CONFIG_QCOM_FASTRPC=m
|
||||||
|
CONFIG_SCSI=y
|
||||||
|
# CONFIG_SCSI_PROC_FS is not set
|
||||||
|
CONFIG_BLK_DEV_SD=y
|
||||||
|
CONFIG_SCSI_SCAN_ASYNC=y
|
||||||
|
CONFIG_MD=y
|
||||||
|
CONFIG_NETDEVICES=y
|
||||||
|
CONFIG_MACVLAN=m
|
||||||
|
CONFIG_MACVTAP=m
|
||||||
|
CONFIG_VXLAN=m
|
||||||
|
CONFIG_TUN=m
|
||||||
|
CONFIG_VETH=m
|
||||||
|
CONFIG_RMNET=m
|
||||||
|
CONFIG_USB_USBNET=m
|
||||||
|
CONFIG_WCN36XX=m
|
||||||
|
CONFIG_WWAN=y
|
||||||
|
CONFIG_QCOM_BAM_DMUX=m
|
||||||
|
CONFIG_RPMSG_WWAN_CTRL=m
|
||||||
|
CONFIG_INPUT_EVDEV=y
|
||||||
|
# CONFIG_KEYBOARD_ATKBD is not set
|
||||||
|
CONFIG_KEYBOARD_GPIO=y
|
||||||
|
CONFIG_KEYBOARD_MATRIX=m
|
||||||
|
CONFIG_KEYBOARD_TM2_TOUCHKEY=m
|
||||||
|
# CONFIG_MOUSE_PS2 is not set
|
||||||
|
CONFIG_INPUT_TOUCHSCREEN=y
|
||||||
|
CONFIG_TOUCHSCREEN_ATMEL_MXT=m
|
||||||
|
CONFIG_TOUCHSCREEN_CYTTSP5=m
|
||||||
|
CONFIG_TOUCHSCREEN_HIMAX_HX852X=m
|
||||||
|
CONFIG_TOUCHSCREEN_MMS114=m
|
||||||
|
CONFIG_TOUCHSCREEN_MELFAS_MIP4=m
|
||||||
|
CONFIG_TOUCHSCREEN_MSG2638=m
|
||||||
|
CONFIG_TOUCHSCREEN_IMAGIS=m
|
||||||
|
CONFIG_TOUCHSCREEN_EDT_FT5X06=m
|
||||||
|
CONFIG_TOUCHSCREEN_STMFTS=m
|
||||||
|
CONFIG_TOUCHSCREEN_ZINITIX=m
|
||||||
|
CONFIG_INPUT_MISC=y
|
||||||
|
CONFIG_INPUT_PM8941_PWRKEY=y
|
||||||
|
CONFIG_INPUT_PM8XXX_VIBRATOR=m
|
||||||
|
CONFIG_INPUT_GPIO_VIBRA=m
|
||||||
|
CONFIG_INPUT_REGULATOR_HAPTIC=m
|
||||||
|
CONFIG_INPUT_PWM_VIBRA=m
|
||||||
|
CONFIG_RMI4_CORE=m
|
||||||
|
CONFIG_RMI4_I2C=m
|
||||||
|
CONFIG_RMI4_F11=y
|
||||||
|
CONFIG_RMI4_F12=y
|
||||||
|
# CONFIG_SERIO is not set
|
||||||
|
CONFIG_LEGACY_PTY_COUNT=16
|
||||||
|
CONFIG_SERIAL_MSM=y
|
||||||
|
CONFIG_SERIAL_MSM_CONSOLE=y
|
||||||
|
CONFIG_SERIAL_DEV_BUS=y
|
||||||
|
CONFIG_HW_RANDOM=y
|
||||||
|
CONFIG_I2C_CHARDEV=m
|
||||||
|
CONFIG_I2C_MUX=y
|
||||||
|
CONFIG_I2C_GPIO=y
|
||||||
|
CONFIG_I2C_QCOM_CCI=m
|
||||||
|
CONFIG_I2C_QUP=y
|
||||||
|
CONFIG_SPI=y
|
||||||
|
CONFIG_SPI_GPIO=y
|
||||||
|
CONFIG_SPI_QUP=y
|
||||||
|
CONFIG_SPI_SPIDEV=m
|
||||||
|
CONFIG_SPMI=y
|
||||||
|
CONFIG_PINCTRL_SINGLE=y
|
||||||
|
CONFIG_PINCTRL_MSM=y
|
||||||
|
CONFIG_PINCTRL_MSM8916=y
|
||||||
|
CONFIG_PINCTRL_QCOM_SPMI_PMIC=y
|
||||||
|
CONFIG_POWER_RESET_MSM=y
|
||||||
|
CONFIG_POWER_RESET_QCOM_PON=y
|
||||||
|
CONFIG_BATTERY_MAX17042=m
|
||||||
|
CONFIG_SMB1360=m
|
||||||
|
CONFIG_BATTERY_PM8916_BMS_VM=m
|
||||||
|
CONFIG_CHARGER_PM8916_LBC=m
|
||||||
|
CONFIG_BATTERY_RT5033=m
|
||||||
|
CONFIG_CHARGER_RT5033=m
|
||||||
|
CONFIG_THERMAL=y
|
||||||
|
CONFIG_CPU_THERMAL=y
|
||||||
|
CONFIG_DEVFREQ_THERMAL=y
|
||||||
|
CONFIG_THERMAL_EMULATION=y
|
||||||
|
CONFIG_QCOM_TSENS=y
|
||||||
|
CONFIG_QCOM_SPMI_TEMP_ALARM=y
|
||||||
|
CONFIG_WATCHDOG=y
|
||||||
|
CONFIG_WATCHDOG_SYSFS=y
|
||||||
|
CONFIG_QCOM_WDT=y
|
||||||
|
CONFIG_PM8916_WATCHDOG=y
|
||||||
|
CONFIG_MFD_SPMI_PMIC=y
|
||||||
|
CONFIG_MFD_RT5033=m
|
||||||
|
CONFIG_REGULATOR_FIXED_VOLTAGE=y
|
||||||
|
CONFIG_REGULATOR_QCOM_SMD_RPM=y
|
||||||
|
CONFIG_REGULATOR_QCOM_SPMI=y
|
||||||
|
CONFIG_REGULATOR_RT5033=m
|
||||||
|
CONFIG_REGULATOR_TPS65132=y
|
||||||
|
CONFIG_MEDIA_SUPPORT=m
|
||||||
|
CONFIG_MEDIA_CAMERA_SUPPORT=y
|
||||||
|
CONFIG_MEDIA_PLATFORM_SUPPORT=y
|
||||||
|
CONFIG_V4L2_FLASH_LED_CLASS=m
|
||||||
|
CONFIG_V4L_PLATFORM_DRIVERS=y
|
||||||
|
CONFIG_V4L_MEM2MEM_DRIVERS=y
|
||||||
|
CONFIG_VIDEO_QCOM_CAMSS=m
|
||||||
|
CONFIG_VIDEO_QCOM_VENUS=m
|
||||||
|
CONFIG_DRM=y
|
||||||
|
CONFIG_DRM_MSM=m
|
||||||
|
# CONFIG_DRM_MSM_MDP4 is not set
|
||||||
|
# CONFIG_DRM_MSM_DPU is not set
|
||||||
|
# CONFIG_DRM_MSM_DP 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_DSI_10NM_PHY is not set
|
||||||
|
# CONFIG_DRM_MSM_DSI_7NM_PHY is not set
|
||||||
|
# CONFIG_DRM_MSM_HDMI is not set
|
||||||
|
CONFIG_DRM_PANEL_SIMPLE=m
|
||||||
|
CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0=m
|
||||||
|
CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01=m
|
||||||
|
CONFIG_DRM_PANEL_MSM8916_GENERATED=m
|
||||||
|
CONFIG_DRM_DISPLAY_CONNECTOR=m
|
||||||
|
CONFIG_DRM_I2C_ADV7511=m
|
||||||
|
CONFIG_DRM_I2C_ADV7511_AUDIO=y
|
||||||
|
CONFIG_DRM_PANEL_MIPI_DBI=m
|
||||||
|
CONFIG_DRM_SIMPLEDRM=y
|
||||||
|
CONFIG_FB=y
|
||||||
|
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||||
|
CONFIG_BACKLIGHT_PWM=y
|
||||||
|
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
|
||||||
|
CONFIG_LOGO=y
|
||||||
|
CONFIG_SOUND=y
|
||||||
|
CONFIG_SND=y
|
||||||
|
CONFIG_SND_ALOOP=m
|
||||||
|
CONFIG_SND_SOC=y
|
||||||
|
CONFIG_SND_SOC_QCOM=m
|
||||||
|
CONFIG_SND_SOC_APQ8016_SBC=m
|
||||||
|
CONFIG_SND_SOC_QDSP6=m
|
||||||
|
CONFIG_SND_SOC_QDSP6_Q6VOICE=m
|
||||||
|
CONFIG_SND_SOC_AK4375=m
|
||||||
|
CONFIG_SND_SOC_AW8738=m
|
||||||
|
CONFIG_SND_SOC_MAX98357A=m
|
||||||
|
CONFIG_SND_SOC_MSM8916_WCD_ANALOG=m
|
||||||
|
CONFIG_SND_SOC_MSM8916_WCD_DIGITAL=m
|
||||||
|
CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
|
||||||
|
CONFIG_SND_SOC_TFA989X=m
|
||||||
|
CONFIG_USB_LED_TRIG=y
|
||||||
|
CONFIG_USB=y
|
||||||
|
CONFIG_USB_OTG=y
|
||||||
|
CONFIG_USB_EHCI_HCD=y
|
||||||
|
CONFIG_USB_STORAGE=y
|
||||||
|
CONFIG_USB_CHIPIDEA=y
|
||||||
|
CONFIG_USB_CHIPIDEA_UDC=y
|
||||||
|
CONFIG_USB_CHIPIDEA_HOST=y
|
||||||
|
CONFIG_USB_HSIC_USB3503=y
|
||||||
|
CONFIG_USB_GADGET=y
|
||||||
|
CONFIG_MMC=y
|
||||||
|
CONFIG_MMC_BLOCK_MINORS=32
|
||||||
|
CONFIG_MMC_SDHCI=y
|
||||||
|
CONFIG_MMC_SDHCI_PLTFM=y
|
||||||
|
CONFIG_MMC_SDHCI_MSM=y
|
||||||
|
CONFIG_NEW_LEDS=y
|
||||||
|
CONFIG_LEDS_CLASS=y
|
||||||
|
CONFIG_LEDS_CLASS_FLASH=m
|
||||||
|
CONFIG_LEDS_CLASS_MULTICOLOR=y
|
||||||
|
CONFIG_LEDS_AW2013=m
|
||||||
|
CONFIG_LEDS_GPIO=y
|
||||||
|
CONFIG_LEDS_IS31FL319X=m
|
||||||
|
CONFIG_LEDS_KTD2692=m
|
||||||
|
CONFIG_LEDS_SGM3140=m
|
||||||
|
CONFIG_LEDS_KTD202X=m
|
||||||
|
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_RTC_CLASS=y
|
||||||
|
CONFIG_RTC_DRV_PM8XXX=y
|
||||||
|
CONFIG_DMADEVICES=y
|
||||||
|
CONFIG_QCOM_BAM_DMA=y
|
||||||
|
CONFIG_COMMON_CLK_QCOM=y
|
||||||
|
CONFIG_QCOM_A53PLL=y
|
||||||
|
CONFIG_QCOM_CLK_APCS_MSM8916=y
|
||||||
|
CONFIG_QCOM_CLK_SMD_RPM=y
|
||||||
|
CONFIG_MSM_GCC_8916=y
|
||||||
|
CONFIG_MSM_GCC_8939=y
|
||||||
|
CONFIG_HWSPINLOCK=y
|
||||||
|
CONFIG_HWSPINLOCK_QCOM=y
|
||||||
|
# CONFIG_FSL_ERRATUM_A008585 is not set
|
||||||
|
# CONFIG_HISILICON_ERRATUM_161010101 is not set
|
||||||
|
# CONFIG_ARM64_ERRATUM_858921 is not set
|
||||||
|
CONFIG_MAILBOX=y
|
||||||
|
CONFIG_QCOM_APCS_IPC=y
|
||||||
|
CONFIG_ARM_SMMU=y
|
||||||
|
CONFIG_QCOM_IOMMU=y
|
||||||
|
CONFIG_REMOTEPROC=y
|
||||||
|
CONFIG_REMOTEPROC_CDEV=y
|
||||||
|
CONFIG_QCOM_Q6V5_MSS=m
|
||||||
|
CONFIG_QCOM_SYSMON=y
|
||||||
|
CONFIG_QCOM_WCNSS_PIL=m
|
||||||
|
CONFIG_RPMSG_CHAR=y
|
||||||
|
CONFIG_RPMSG_CTRL=y
|
||||||
|
CONFIG_RPMSG_QCOM_SMD=y
|
||||||
|
CONFIG_QCOM_MEMSHARE_QMI_SERVICE=m
|
||||||
|
CONFIG_QCOM_RMTFS_MEM=y
|
||||||
|
CONFIG_QCOM_SMEM=y
|
||||||
|
CONFIG_QCOM_SMD_RPM=y
|
||||||
|
CONFIG_QCOM_SMP2P=y
|
||||||
|
CONFIG_QCOM_SMSM=y
|
||||||
|
CONFIG_QCOM_SOCINFO=y
|
||||||
|
CONFIG_QCOM_STATS=y
|
||||||
|
CONFIG_QCOM_WCNSS_CTRL=m
|
||||||
|
CONFIG_QCOM_APR=m
|
||||||
|
CONFIG_QCOM_CPR=y
|
||||||
|
CONFIG_QCOM_RPMPD=y
|
||||||
|
CONFIG_PM_DEVFREQ=y
|
||||||
|
CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
|
||||||
|
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
|
||||||
|
CONFIG_DEVFREQ_GOV_POWERSAVE=y
|
||||||
|
CONFIG_DEVFREQ_GOV_USERSPACE=y
|
||||||
|
CONFIG_DEVFREQ_GOV_PASSIVE=m
|
||||||
|
CONFIG_EXTCON_QCOM_SPMI_MISC=y
|
||||||
|
CONFIG_EXTCON_SM5502=y
|
||||||
|
CONFIG_EXTCON_USB_GPIO=y
|
||||||
|
CONFIG_IIO=y
|
||||||
|
CONFIG_IIO_TRIGGERED_BUFFER=y
|
||||||
|
CONFIG_BMC150_ACCEL=m
|
||||||
|
CONFIG_IIO_ST_ACCEL_3AXIS=m
|
||||||
|
CONFIG_KXCJK1013=m
|
||||||
|
CONFIG_QCOM_SPMI_VADC=y
|
||||||
|
CONFIG_BMG160=m
|
||||||
|
CONFIG_BMI160_I2C=m
|
||||||
|
CONFIG_INV_MPU6050_I2C=m
|
||||||
|
CONFIG_IIO_ST_LSM6DSX=m
|
||||||
|
CONFIG_CM3323=m
|
||||||
|
CONFIG_LTR501=m
|
||||||
|
CONFIG_STK3310=m
|
||||||
|
CONFIG_TSL2772=m
|
||||||
|
CONFIG_AK8975=m
|
||||||
|
CONFIG_BMC150_MAGN_I2C=m
|
||||||
|
CONFIG_IIO_ST_MAGN_3AXIS=m
|
||||||
|
CONFIG_YAMAHA_YAS530=m
|
||||||
|
CONFIG_PWM=y
|
||||||
|
CONFIG_PWM_CLK=y
|
||||||
|
CONFIG_QCOM_MPM=y
|
||||||
|
CONFIG_PHY_QCOM_USB_HS=y
|
||||||
|
CONFIG_ARM_CCI_PMU=m
|
||||||
|
# CONFIG_NVMEM_SYSFS is not set
|
||||||
|
CONFIG_NVMEM_QCOM_QFPROM=y
|
||||||
|
CONFIG_EXT4_FS=y
|
||||||
|
CONFIG_EXT4_FS_POSIX_ACL=y
|
||||||
|
CONFIG_FANOTIFY=y
|
||||||
|
CONFIG_QUOTA=y
|
||||||
|
CONFIG_AUTOFS_FS=y
|
||||||
|
CONFIG_FUSE_FS=m
|
||||||
|
CONFIG_CUSE=m
|
||||||
|
CONFIG_OVERLAY_FS=m
|
||||||
|
CONFIG_VFAT_FS=y
|
||||||
|
CONFIG_TMPFS_POSIX_ACL=y
|
||||||
|
CONFIG_HUGETLBFS=y
|
||||||
|
CONFIG_CONFIGFS_FS=y
|
||||||
|
CONFIG_PSTORE=y
|
||||||
|
CONFIG_PSTORE_CONSOLE=y
|
||||||
|
CONFIG_PSTORE_PMSG=y
|
||||||
|
CONFIG_PSTORE_RAM=y
|
||||||
|
CONFIG_NLS_CODEPAGE_437=y
|
||||||
|
CONFIG_NLS_ISO8859_1=y
|
||||||
|
CONFIG_CRYPTO_BLAKE2B=m
|
||||||
|
CONFIG_CRYPTO_ANSI_CPRNG=y
|
||||||
|
CONFIG_CRYPTO_USER_API_HASH=m
|
||||||
|
CONFIG_CRYPTO_USER_API_SKCIPHER=m
|
||||||
|
CONFIG_CRYPTO_USER_API_RNG=m
|
||||||
|
CONFIG_CRYPTO_USER_API_AEAD=m
|
||||||
|
CONFIG_CRYPTO_NHPOLY1305_NEON=m
|
||||||
|
CONFIG_CRYPTO_CHACHA20_NEON=m
|
||||||
|
CONFIG_CRYPTO_GHASH_ARM64_CE=y
|
||||||
|
CONFIG_CRYPTO_POLY1305_NEON=m
|
||||||
|
CONFIG_CRYPTO_SHA1_ARM64_CE=y
|
||||||
|
CONFIG_CRYPTO_SHA2_ARM64_CE=y
|
||||||
|
CONFIG_CRYPTO_SHA512_ARM64_CE=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM64=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_BS=y
|
||||||
|
CONFIG_CRYPTO_SM4_ARM64_CE_BLK=m
|
||||||
|
CONFIG_CRYPTO_SM4_ARM64_NEON_BLK=m
|
||||||
|
CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
|
||||||
|
CONFIG_CRYPTO_DEV_QCE=y
|
||||||
|
CONFIG_CRYPTO_DEV_QCOM_RNG=y
|
||||||
|
CONFIG_LIBCRC32C=y
|
||||||
|
CONFIG_DMA_CMA=y
|
||||||
|
CONFIG_PRINTK_TIME=y
|
||||||
|
CONFIG_DYNAMIC_DEBUG=y
|
||||||
|
CONFIG_MAGIC_SYSRQ=y
|
||||||
|
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x0
|
||||||
|
CONFIG_DEBUG_FS=y
|
||||||
|
CONFIG_PERF_EVENTS=y
|
||||||
|
CONFIG_ARCH_MSM8916=y
|
||||||
|
# CONFIG_CACHE_L2X0 is not set
|
||||||
|
# CONFIG_ARM_ERRATA_643719 is not set
|
||||||
|
CONFIG_SMP=y
|
||||||
|
CONFIG_ARM_PSCI=y
|
||||||
|
CONFIG_HZ_300=y
|
||||||
|
CONFIG_HIGHMEM=y
|
||||||
|
# CONFIG_ATAGS is not set
|
||||||
|
CONFIG_VFP=y
|
||||||
|
CONFIG_NEON=y
|
||||||
|
CONFIG_KERNEL_MODE_NEON=y
|
||||||
|
CONFIG_ARM_CRYPTO=y
|
||||||
|
CONFIG_CRYPTO_SHA1_ARM_NEON=y
|
||||||
|
CONFIG_CRYPTO_SHA1_ARM_CE=y
|
||||||
|
CONFIG_CRYPTO_SHA2_ARM_CE=y
|
||||||
|
CONFIG_CRYPTO_SHA512_ARM=y
|
||||||
|
CONFIG_CRYPTO_BLAKE2S_ARM=y
|
||||||
|
CONFIG_CRYPTO_BLAKE2B_NEON=m
|
||||||
|
CONFIG_CRYPTO_AES_ARM=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM_BS=y
|
||||||
|
CONFIG_CRYPTO_AES_ARM_CE=y
|
||||||
|
CONFIG_CRYPTO_GHASH_ARM_CE=y
|
||||||
|
CONFIG_CRYPTO_CRC32_ARM_CE=y
|
||||||
|
CONFIG_CRYPTO_POLY1305_ARM=m
|
||||||
|
CONFIG_CRYPTO_CURVE25519_NEON=m
|
||||||
|
CONFIG_POWER_RESET=y
|
||||||
|
CONFIG_POWER_SUPPLY=y
|
||||||
|
CONFIG_STRICT_DEVMEM=y
|
||||||
|
|
||||||
|
# msm8909
|
||||||
|
CONFIG_ARCH_MSM8909=y
|
||||||
|
CONFIG_PINCTRL_MSM8909=y
|
||||||
|
CONFIG_MSM_GCC_8909=y
|
19
devices/samsung-sarranove/kernel/default.nix
Normal file
19
devices/samsung-sarranove/kernel/default.nix
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{ mobile-nixos
|
||||||
|
, fetchFromGitHub
|
||||||
|
, ...
|
||||||
|
}:
|
||||||
|
|
||||||
|
mobile-nixos.kernel-builder {
|
||||||
|
version = "6.7-rc4";
|
||||||
|
configfile = ./config.arm;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "msm8916-mainline";
|
||||||
|
repo = "linux";
|
||||||
|
rev = "6cc2342c6a7227a05ca94c836df42d5ba273eef2"; # branch msm8916/6.7-rc4
|
||||||
|
# TODO(Krey): Needs to be adjusted
|
||||||
|
sha256 = "sha256-mWd6FsGCPzC2DTQ23WxgItsq5gHdoPMXEMOhH5C3p2g=";
|
||||||
|
};
|
||||||
|
|
||||||
|
isModular = true;
|
||||||
|
}
|
@ -10,6 +10,7 @@ let
|
|||||||
;
|
;
|
||||||
cfg = config.mobile.hardware.socs;
|
cfg = config.mobile.hardware.socs;
|
||||||
anyQualcomm = lib.any (v: v) [
|
anyQualcomm = lib.any (v: v) [
|
||||||
|
cfg.qualcomm-msm8916.enable
|
||||||
cfg.qualcomm-msm8940.enable
|
cfg.qualcomm-msm8940.enable
|
||||||
cfg.qualcomm-msm8939.enable
|
cfg.qualcomm-msm8939.enable
|
||||||
cfg.qualcomm-msm8953.enable
|
cfg.qualcomm-msm8953.enable
|
||||||
@ -29,6 +30,11 @@ in
|
|||||||
default = false;
|
default = false;
|
||||||
description = lib.mdDoc "enable when SOC is APQ8064–1AA";
|
description = lib.mdDoc "enable when SOC is APQ8064–1AA";
|
||||||
};
|
};
|
||||||
|
hardware.socs.qualcomm-msm8916.enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = lib.mdDoc "enable when SOC is msm8916";
|
||||||
|
};
|
||||||
hardware.socs.qualcomm-msm8940.enable = mkOption {
|
hardware.socs.qualcomm-msm8940.enable = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
@ -77,56 +83,62 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
config = mkMerge [
|
config = mkMerge [
|
||||||
|
{
|
||||||
|
mobile = mkIf cfg.qualcomm-msm8916.enable {
|
||||||
|
system.system = lib.mkDefault "aarch64-linux";
|
||||||
|
quirks.fb-refresher.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
{
|
{
|
||||||
mobile = mkIf cfg.qualcomm-msm8940.enable {
|
mobile = mkIf cfg.qualcomm-msm8940.enable {
|
||||||
system.system = "aarch64-linux";
|
system.system = lib.mkDefault "aarch64-linux";
|
||||||
quirks.fb-refresher.enable = true;
|
quirks.fb-refresher.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mobile = mkIf cfg.qualcomm-msm8939.enable {
|
mobile = mkIf cfg.qualcomm-msm8939.enable {
|
||||||
system.system = "aarch64-linux";
|
system.system = lib.mkDefault "aarch64-linux";
|
||||||
quirks.fb-refresher.enable = true;
|
quirks.fb-refresher.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mobile = mkIf cfg.qualcomm-msm8953.enable {
|
mobile = mkIf cfg.qualcomm-msm8953.enable {
|
||||||
system.system = "aarch64-linux";
|
system.system = lib.mkDefault "aarch64-linux";
|
||||||
quirks.fb-refresher.enable = true;
|
quirks.fb-refresher.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mobile = mkIf cfg.qualcomm-msm8996.enable {
|
mobile = mkIf cfg.qualcomm-msm8996.enable {
|
||||||
system.system = "aarch64-linux";
|
system.system = lib.mkDefault "aarch64-linux";
|
||||||
quirks.fb-refresher.enable = true;
|
quirks.fb-refresher.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mobile = mkIf cfg.qualcomm-msm8998.enable {
|
mobile = mkIf cfg.qualcomm-msm8998.enable {
|
||||||
system.system = "aarch64-linux";
|
system.system = lib.mkDefault "aarch64-linux";
|
||||||
quirks.fb-refresher.enable = true;
|
quirks.fb-refresher.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mobile = mkIf cfg.qualcomm-sc7180.enable {
|
mobile = mkIf cfg.qualcomm-sc7180.enable {
|
||||||
system.system = "aarch64-linux";
|
system.system = lib.mkDefault "aarch64-linux";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mobile = mkIf cfg.qualcomm-sdm660.enable {
|
mobile = mkIf cfg.qualcomm-sdm660.enable {
|
||||||
system.system = "aarch64-linux";
|
system.system = lib.mkDefault "aarch64-linux";
|
||||||
quirks.fb-refresher.enable = true;
|
quirks.fb-refresher.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mobile = mkIf cfg.qualcomm-sdm845.enable {
|
mobile = mkIf cfg.qualcomm-sdm845.enable {
|
||||||
system.system = "aarch64-linux";
|
system.system = lib.mkDefault "aarch64-linux";
|
||||||
boot.boot-control.enable = mkDefault true;
|
boot.boot-control.enable = mkDefault true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
mobile = mkIf cfg.qualcomm-sm6125.enable {
|
mobile = mkIf cfg.qualcomm-sm6125.enable {
|
||||||
system.system = "aarch64-linux";
|
system.system = lib.mkDefault "aarch64-linux";
|
||||||
quirks.fb-refresher.enable = true;
|
quirks.fb-refresher.enable = true;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user