mirror of
https://github.com/Fishwaldo/build.git
synced 2025-06-05 13:51:45 +00:00
Update sunxi-next kernel to 4.7.1
This commit is contained in:
parent
49626f0bdd
commit
735dee1d4d
5 changed files with 78 additions and 196 deletions
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 4.6.2 Kernel Configuration
|
||||
# Linux/arm 4.7.1 Kernel Configuration
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_ARM_HAS_SG_CHAIN=y
|
||||
|
@ -114,6 +114,7 @@ CONFIG_IKCONFIG=y
|
|||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=17
|
||||
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
|
||||
CONFIG_NMI_LOG_BUF_SHIFT=13
|
||||
CONFIG_GENERIC_SCHED_CLOCK=y
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_PAGE_COUNTER=y
|
||||
|
@ -153,6 +154,7 @@ CONFIG_RD_LZMA=y
|
|||
CONFIG_RD_XZ=y
|
||||
CONFIG_RD_LZO=y
|
||||
CONFIG_RD_LZ4=y
|
||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_ANON_INODES=y
|
||||
|
@ -169,6 +171,7 @@ CONFIG_KALLSYMS=y
|
|||
# CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set
|
||||
CONFIG_KALLSYMS_BASE_RELATIVE=y
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_PRINTK_NMI=y
|
||||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
|
@ -212,6 +215,7 @@ CONFIG_ARCH_USE_BUILTIN_BSWAP=y
|
|||
CONFIG_HAVE_KPROBES=y
|
||||
CONFIG_HAVE_KRETPROBES=y
|
||||
CONFIG_HAVE_OPTPROBES=y
|
||||
CONFIG_HAVE_NMI=y
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
CONFIG_HAVE_DMA_CONTIGUOUS=y
|
||||
CONFIG_GENERIC_SMP_IDLE_THREAD=y
|
||||
|
@ -237,12 +241,16 @@ CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
|
|||
CONFIG_MODULES_USE_ELF_REL=y
|
||||
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
|
||||
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
|
||||
CONFIG_HAVE_EXIT_THREAD=y
|
||||
CONFIG_ARCH_MMAP_RND_BITS_MIN=8
|
||||
CONFIG_ARCH_MMAP_RND_BITS_MAX=16
|
||||
CONFIG_ARCH_MMAP_RND_BITS=8
|
||||
# CONFIG_HAVE_ARCH_HASH is not set
|
||||
# CONFIG_ISA_BUS_API is not set
|
||||
CONFIG_CLONE_BACKWARDS=y
|
||||
CONFIG_OLD_SIGSUSPEND3=y
|
||||
CONFIG_OLD_SIGACTION=y
|
||||
# CONFIG_CPU_NO_EFFICIENT_FFS is not set
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
|
@ -261,6 +269,7 @@ CONFIG_MODULE_UNLOAD=y
|
|||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
# CONFIG_MODULE_SIG is not set
|
||||
# CONFIG_MODULE_COMPRESS is not set
|
||||
# CONFIG_TRIM_UNUSED_KSYMS is not set
|
||||
CONFIG_MODULES_TREE_LOOKUP=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_LBDAF=y
|
||||
|
@ -507,7 +516,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
|
|||
CONFIG_COMPACTION=y
|
||||
CONFIG_MIGRATION=y
|
||||
# CONFIG_PHYS_ADDR_T_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_BOUNCE=y
|
||||
# CONFIG_KSM is not set
|
||||
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
|
||||
|
@ -520,6 +528,7 @@ CONFIG_CMA_AREAS=7
|
|||
CONFIG_ZSWAP=y
|
||||
CONFIG_ZPOOL=y
|
||||
CONFIG_ZBUD=y
|
||||
# CONFIG_Z3FOLD is not set
|
||||
CONFIG_ZSMALLOC=y
|
||||
# CONFIG_PGTABLE_MAPPING is not set
|
||||
# CONFIG_ZSMALLOC_STAT is not set
|
||||
|
@ -562,24 +571,28 @@ CONFIG_AUTO_ZRELADDR=y
|
|||
# CPU Frequency scaling
|
||||
#
|
||||
CONFIG_CPU_FREQ=y
|
||||
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
|
||||
CONFIG_CPU_FREQ_GOV_COMMON=y
|
||||
CONFIG_CPU_FREQ_STAT=y
|
||||
# CONFIG_CPU_FREQ_STAT_DETAILS is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
|
||||
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
|
||||
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
|
||||
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
|
||||
CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
|
||||
|
||||
#
|
||||
# CPU frequency scaling drivers
|
||||
#
|
||||
CONFIG_CPUFREQ_DT=m
|
||||
CONFIG_CPUFREQ_DT_PLATDEV=y
|
||||
CONFIG_ARM_BIG_LITTLE_CPUFREQ=m
|
||||
CONFIG_ARM_DT_BL_CPUFREQ=m
|
||||
# CONFIG_ARM_KIRKWOOD_CPUFREQ is not set
|
||||
|
@ -616,6 +629,7 @@ CONFIG_KERNEL_MODE_NEON=y
|
|||
# Userspace binary formats
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
CONFIG_ELFCORE=y
|
||||
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
|
||||
CONFIG_BINFMT_SCRIPT=y
|
||||
# CONFIG_HAVE_AOUT is not set
|
||||
|
@ -747,6 +761,8 @@ CONFIG_IPV6_SIT_6RD=y
|
|||
CONFIG_IPV6_NDISC_NODETYPE=y
|
||||
CONFIG_IPV6_TUNNEL=m
|
||||
# CONFIG_IPV6_GRE is not set
|
||||
# CONFIG_IPV6_FOU is not set
|
||||
# CONFIG_IPV6_FOU_TUNNEL is not set
|
||||
CONFIG_IPV6_MULTIPLE_TABLES=y
|
||||
CONFIG_IPV6_SUBTREES=y
|
||||
CONFIG_IPV6_MROUTE=y
|
||||
|
@ -1104,6 +1120,7 @@ CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
|
|||
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
|
||||
CONFIG_SCTP_COOKIE_HMAC_MD5=y
|
||||
# CONFIG_SCTP_COOKIE_HMAC_SHA1 is not set
|
||||
CONFIG_INET_SCTP_DIAG=m
|
||||
CONFIG_RDS=m
|
||||
CONFIG_RDS_TCP=m
|
||||
# CONFIG_RDS_DEBUG is not set
|
||||
|
@ -1413,7 +1430,7 @@ CONFIG_BT_MRVL_SDIO=m
|
|||
CONFIG_BT_ATH3K=m
|
||||
CONFIG_AF_RXRPC=m
|
||||
# CONFIG_AF_RXRPC_DEBUG is not set
|
||||
CONFIG_RXKAD=m
|
||||
# CONFIG_RXKAD is not set
|
||||
CONFIG_AF_KCM=m
|
||||
CONFIG_FIB_RULES=y
|
||||
CONFIG_WIRELESS=y
|
||||
|
@ -1461,7 +1478,7 @@ CONFIG_LWTUNNEL=y
|
|||
CONFIG_DST_CACHE=y
|
||||
CONFIG_NET_DEVLINK=m
|
||||
CONFIG_MAY_USE_DEVLINK=m
|
||||
CONFIG_HAVE_BPF_JIT=y
|
||||
CONFIG_HAVE_CBPF_JIT=y
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -1604,8 +1621,8 @@ CONFIG_OF_NET=y
|
|||
CONFIG_OF_MDIO=y
|
||||
CONFIG_OF_MTD=y
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
CONFIG_OF_RESOLVE=y
|
||||
CONFIG_OF_OVERLAY=y
|
||||
CONFIG_OF_CONFIGFS=y
|
||||
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
|
||||
CONFIG_PARPORT=m
|
||||
# CONFIG_PARPORT_PC is not set
|
||||
|
@ -1782,6 +1799,7 @@ CONFIG_ATA_BMDMA=y
|
|||
#
|
||||
# SATA SFF controllers with BMDMA
|
||||
#
|
||||
# CONFIG_SATA_DWC is not set
|
||||
|
||||
#
|
||||
# PATA SFF controllers with BMDMA
|
||||
|
@ -1855,6 +1873,7 @@ CONFIG_MACVTAP=m
|
|||
CONFIG_IPVLAN=m
|
||||
CONFIG_VXLAN=m
|
||||
# CONFIG_GENEVE is not set
|
||||
# CONFIG_GTP is not set
|
||||
CONFIG_MACSEC=m
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
|
@ -1877,13 +1896,8 @@ CONFIG_ATM_DRIVERS=y
|
|||
#
|
||||
# Distributed Switch Architecture drivers
|
||||
#
|
||||
# CONFIG_NET_DSA_MV88E6XXX is not set
|
||||
# CONFIG_NET_DSA_MV88E6060 is not set
|
||||
# CONFIG_NET_DSA_MV88E6XXX_NEED_PPU is not set
|
||||
# CONFIG_NET_DSA_MV88E6131 is not set
|
||||
# CONFIG_NET_DSA_MV88E6123 is not set
|
||||
# CONFIG_NET_DSA_MV88E6171 is not set
|
||||
# CONFIG_NET_DSA_MV88E6352 is not set
|
||||
# CONFIG_NET_DSA_MV88E6XXX is not set
|
||||
# CONFIG_NET_DSA_BCM_SF2 is not set
|
||||
CONFIG_ETHERNET=y
|
||||
CONFIG_NET_VENDOR_ALLWINNER=y
|
||||
|
@ -2353,7 +2367,6 @@ CONFIG_VT_CONSOLE_SLEEP=y
|
|||
CONFIG_HW_CONSOLE=y
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_DEVPTS_MULTIPLE_INSTANCES=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
@ -2368,6 +2381,7 @@ CONFIG_DEVKMEM=y
|
|||
CONFIG_SERIAL_EARLYCON=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
|
||||
# CONFIG_SERIAL_8250_FINTEK is not set
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_DMA=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=8
|
||||
|
@ -2395,12 +2409,12 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
# CONFIG_SERIAL_ALTERA_UART is not set
|
||||
# CONFIG_SERIAL_IFX6X60 is not set
|
||||
# CONFIG_SERIAL_XILINX_PS_UART is not set
|
||||
# CONFIG_SERIAL_MPS2_UART is not set
|
||||
# CONFIG_SERIAL_ARC is not set
|
||||
# CONFIG_SERIAL_FSL_LPUART is not set
|
||||
CONFIG_SERIAL_CONEXANT_DIGICOLOR=m
|
||||
# CONFIG_SERIAL_ST_ASC is not set
|
||||
CONFIG_SERIAL_STM32=m
|
||||
# CONFIG_SERIAL_MVEBU_UART is not set
|
||||
# CONFIG_TTY_PRINTK is not set
|
||||
# CONFIG_PRINTER is not set
|
||||
# CONFIG_PPDEV is not set
|
||||
|
@ -2739,6 +2753,7 @@ CONFIG_SENSORS_MAX16065=m
|
|||
CONFIG_SENSORS_MAX1619=m
|
||||
CONFIG_SENSORS_MAX1668=m
|
||||
CONFIG_SENSORS_MAX197=m
|
||||
CONFIG_SENSORS_MAX31722=m
|
||||
CONFIG_SENSORS_MAX6639=m
|
||||
CONFIG_SENSORS_MAX6642=m
|
||||
CONFIG_SENSORS_MAX6650=m
|
||||
|
@ -2828,6 +2843,11 @@ CONFIG_CLOCK_THERMAL=y
|
|||
# CONFIG_DEVFREQ_THERMAL is not set
|
||||
# CONFIG_THERMAL_EMULATION is not set
|
||||
# CONFIG_IMX_THERMAL is not set
|
||||
|
||||
#
|
||||
# ACPI INT340X thermal drivers
|
||||
#
|
||||
CONFIG_GENERIC_ADC_THERMAL=m
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_WATCHDOG_CORE=y
|
||||
# CONFIG_WATCHDOG_NOWAYOUT is not set
|
||||
|
@ -2912,6 +2932,7 @@ CONFIG_MFD_DA9150=m
|
|||
# CONFIG_MFD_88PM805 is not set
|
||||
# CONFIG_MFD_88PM860X is not set
|
||||
# CONFIG_MFD_MAX14577 is not set
|
||||
# CONFIG_MFD_MAX77620 is not set
|
||||
# CONFIG_MFD_MAX77686 is not set
|
||||
# CONFIG_MFD_MAX77693 is not set
|
||||
# CONFIG_MFD_MAX77843 is not set
|
||||
|
@ -3003,6 +3024,7 @@ CONFIG_REGULATOR_MT6311=m
|
|||
CONFIG_REGULATOR_MT6397=m
|
||||
# CONFIG_REGULATOR_PFUZE100 is not set
|
||||
# CONFIG_REGULATOR_PV88060 is not set
|
||||
# CONFIG_REGULATOR_PV88080 is not set
|
||||
# CONFIG_REGULATOR_PV88090 is not set
|
||||
CONFIG_REGULATOR_PWM=m
|
||||
CONFIG_REGULATOR_RT5033=m
|
||||
|
@ -3285,6 +3307,7 @@ CONFIG_DVB_B2C2_FLEXCOP=m
|
|||
CONFIG_SMS_SIANO_MDTV=m
|
||||
CONFIG_SMS_SIANO_RC=y
|
||||
CONFIG_SMS_SIANO_DEBUGFS=y
|
||||
CONFIG_VIDEO_V4L2_TPG=m
|
||||
|
||||
#
|
||||
# Media ancillary drivers (tuners, sensors, i2c, frontends)
|
||||
|
@ -3620,7 +3643,6 @@ CONFIG_DVB_DUMMY_FE=m
|
|||
#
|
||||
# ACP (Audio CoProcessor) Configuration
|
||||
#
|
||||
# CONFIG_DRM_AMD_ACP is not set
|
||||
|
||||
#
|
||||
# Frame buffer Devices
|
||||
|
@ -3834,6 +3856,7 @@ CONFIG_SND_SOC_RT5616=m
|
|||
# CONFIG_SND_SOC_TAS2552 is not set
|
||||
# CONFIG_SND_SOC_TAS5086 is not set
|
||||
# CONFIG_SND_SOC_TAS571X is not set
|
||||
# CONFIG_SND_SOC_TAS5720 is not set
|
||||
# CONFIG_SND_SOC_TFA9879 is not set
|
||||
# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
|
||||
# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
|
||||
|
@ -3855,6 +3878,7 @@ CONFIG_SND_SOC_RT5616=m
|
|||
# CONFIG_SND_SOC_WM8804_I2C is not set
|
||||
# CONFIG_SND_SOC_WM8804_SPI is not set
|
||||
# CONFIG_SND_SOC_WM8903 is not set
|
||||
# CONFIG_SND_SOC_WM8960 is not set
|
||||
# CONFIG_SND_SOC_WM8962 is not set
|
||||
# CONFIG_SND_SOC_WM8974 is not set
|
||||
# CONFIG_SND_SOC_WM8978 is not set
|
||||
|
@ -3880,6 +3904,7 @@ CONFIG_HID_ACRUX=m
|
|||
CONFIG_HID_ACRUX_FF=y
|
||||
CONFIG_HID_APPLE=m
|
||||
CONFIG_HID_APPLEIR=m
|
||||
# CONFIG_HID_ASUS is not set
|
||||
CONFIG_HID_AUREAL=m
|
||||
CONFIG_HID_BELKIN=m
|
||||
CONFIG_HID_BETOP_FF=m
|
||||
|
@ -4058,6 +4083,7 @@ CONFIG_USB_UAS=m
|
|||
CONFIG_USBIP_CORE=m
|
||||
CONFIG_USBIP_VHCI_HCD=m
|
||||
CONFIG_USBIP_HOST=m
|
||||
CONFIG_USBIP_VUDC=m
|
||||
# CONFIG_USBIP_DEBUG is not set
|
||||
CONFIG_USB_MUSB_HDRC=y
|
||||
# CONFIG_USB_MUSB_HOST is not set
|
||||
|
@ -4258,6 +4284,8 @@ CONFIG_USB_G_WEBCAM=m
|
|||
# CONFIG_UWB is not set
|
||||
CONFIG_MMC=y
|
||||
# CONFIG_MMC_DEBUG is not set
|
||||
CONFIG_PWRSEQ_EMMC=m
|
||||
CONFIG_PWRSEQ_SIMPLE=m
|
||||
|
||||
#
|
||||
# MMC/SD/SDIO Card Drivers
|
||||
|
@ -4325,6 +4353,7 @@ CONFIG_LEDS_SYSCON=y
|
|||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=m
|
||||
CONFIG_LEDS_TRIGGER_ONESHOT=m
|
||||
CONFIG_LEDS_TRIGGER_MTD=y
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
|
||||
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
|
||||
CONFIG_LEDS_TRIGGER_CPU=y
|
||||
|
@ -4336,6 +4365,7 @@ CONFIG_LEDS_TRIGGER_DEFAULT_ON=y
|
|||
#
|
||||
CONFIG_LEDS_TRIGGER_TRANSIENT=m
|
||||
CONFIG_LEDS_TRIGGER_CAMERA=m
|
||||
CONFIG_LEDS_TRIGGER_PANIC=y
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
CONFIG_EDAC_ATOMIC_SCRUB=y
|
||||
CONFIG_EDAC_SUPPORT=y
|
||||
|
@ -4384,7 +4414,6 @@ CONFIG_RTC_DRV_DS1307_HWMON=y
|
|||
# CONFIG_RTC_DRV_RX8581 is not set
|
||||
# CONFIG_RTC_DRV_RX8025 is not set
|
||||
# CONFIG_RTC_DRV_EM3027 is not set
|
||||
# CONFIG_RTC_DRV_RV3029C2 is not set
|
||||
# CONFIG_RTC_DRV_RV8803 is not set
|
||||
|
||||
#
|
||||
|
@ -4392,6 +4421,7 @@ CONFIG_RTC_DRV_DS1307_HWMON=y
|
|||
#
|
||||
# CONFIG_RTC_DRV_M41T93 is not set
|
||||
# CONFIG_RTC_DRV_M41T94 is not set
|
||||
CONFIG_RTC_DRV_DS1302=m
|
||||
# CONFIG_RTC_DRV_DS1305 is not set
|
||||
# CONFIG_RTC_DRV_DS1343 is not set
|
||||
# CONFIG_RTC_DRV_DS1347 is not set
|
||||
|
@ -4410,6 +4440,7 @@ CONFIG_RTC_I2C_AND_SPI=y
|
|||
#
|
||||
# CONFIG_RTC_DRV_DS3232 is not set
|
||||
# CONFIG_RTC_DRV_PCF2127 is not set
|
||||
# CONFIG_RTC_DRV_RV3029C2 is not set
|
||||
|
||||
#
|
||||
# Platform RTC drivers
|
||||
|
@ -4474,6 +4505,11 @@ CONFIG_DMA_SUN6I=y
|
|||
#
|
||||
CONFIG_ASYNC_TX_DMA=y
|
||||
# CONFIG_DMATEST is not set
|
||||
|
||||
#
|
||||
# DMABUF options
|
||||
#
|
||||
# CONFIG_SYNC_FILE is not set
|
||||
# CONFIG_AUXDISPLAY is not set
|
||||
CONFIG_UIO=m
|
||||
CONFIG_UIO_PDRV_GENIRQ=m
|
||||
|
@ -4509,9 +4545,7 @@ CONFIG_88EU_AP_MODE=y
|
|||
#
|
||||
# CONFIG_ADIS16201 is not set
|
||||
# CONFIG_ADIS16203 is not set
|
||||
# CONFIG_ADIS16204 is not set
|
||||
# CONFIG_ADIS16209 is not set
|
||||
# CONFIG_ADIS16220 is not set
|
||||
# CONFIG_ADIS16240 is not set
|
||||
# CONFIG_LIS3L02DQ is not set
|
||||
|
||||
|
@ -4661,6 +4695,8 @@ CONFIG_CLK_QORIQ=y
|
|||
# CONFIG_COMMON_CLK_NXP is not set
|
||||
CONFIG_COMMON_CLK_PWM=m
|
||||
# CONFIG_COMMON_CLK_PXA is not set
|
||||
# CONFIG_COMMON_CLK_PIC32 is not set
|
||||
# CONFIG_COMMON_CLK_OXNAS is not set
|
||||
|
||||
#
|
||||
# Hardware Spinlock drivers
|
||||
|
@ -4721,6 +4757,7 @@ CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
|
|||
CONFIG_DEVFREQ_GOV_PERFORMANCE=y
|
||||
CONFIG_DEVFREQ_GOV_POWERSAVE=m
|
||||
CONFIG_DEVFREQ_GOV_USERSPACE=m
|
||||
CONFIG_DEVFREQ_GOV_PASSIVE=m
|
||||
|
||||
#
|
||||
# DEVFREQ Drivers
|
||||
|
@ -4823,6 +4860,8 @@ CONFIG_AXP288_ADC=m
|
|||
# CONFIG_AD5421 is not set
|
||||
# CONFIG_AD5446 is not set
|
||||
# CONFIG_AD5449 is not set
|
||||
# CONFIG_AD5592R is not set
|
||||
# CONFIG_AD5593R is not set
|
||||
# CONFIG_AD5504 is not set
|
||||
# CONFIG_AD5624R_SPI is not set
|
||||
# CONFIG_AD5686 is not set
|
||||
|
@ -4884,6 +4923,7 @@ CONFIG_AXP288_ADC=m
|
|||
#
|
||||
# Humidity sensors
|
||||
#
|
||||
# CONFIG_AM2315 is not set
|
||||
# CONFIG_DHT11 is not set
|
||||
# CONFIG_HDC100X is not set
|
||||
# CONFIG_HTU21 is not set
|
||||
|
@ -4895,6 +4935,8 @@ CONFIG_AXP288_ADC=m
|
|||
#
|
||||
# CONFIG_ADIS16400 is not set
|
||||
# CONFIG_ADIS16480 is not set
|
||||
# CONFIG_BMI160_I2C is not set
|
||||
# CONFIG_BMI160_SPI is not set
|
||||
# CONFIG_KMX61 is not set
|
||||
# CONFIG_INV_MPU6050_I2C is not set
|
||||
# CONFIG_INV_MPU6050_SPI is not set
|
||||
|
@ -4907,6 +4949,7 @@ CONFIG_AXP288_ADC=m
|
|||
# CONFIG_APDS9300 is not set
|
||||
# CONFIG_APDS9960 is not set
|
||||
# CONFIG_BH1750 is not set
|
||||
# CONFIG_BH1780 is not set
|
||||
# CONFIG_CM32181 is not set
|
||||
# CONFIG_CM3232 is not set
|
||||
# CONFIG_CM3323 is not set
|
||||
|
@ -4918,6 +4961,7 @@ CONFIG_AXP288_ADC=m
|
|||
# CONFIG_JSA1212 is not set
|
||||
# CONFIG_RPR0521 is not set
|
||||
# CONFIG_LTR501 is not set
|
||||
# CONFIG_MAX44000 is not set
|
||||
# CONFIG_OPT3001 is not set
|
||||
# CONFIG_PA12203001 is not set
|
||||
# CONFIG_STK3310 is not set
|
||||
|
@ -4927,13 +4971,15 @@ CONFIG_AXP288_ADC=m
|
|||
# CONFIG_TSL4531 is not set
|
||||
# CONFIG_US5182D is not set
|
||||
# CONFIG_VCNL4000 is not set
|
||||
# CONFIG_VEML6070 is not set
|
||||
|
||||
#
|
||||
# Magnetometer sensors
|
||||
#
|
||||
# CONFIG_AK8975 is not set
|
||||
# CONFIG_AK09911 is not set
|
||||
# CONFIG_BMC150_MAGN is not set
|
||||
# CONFIG_BMC150_MAGN_I2C is not set
|
||||
# CONFIG_BMC150_MAGN_SPI is not set
|
||||
# CONFIG_MAG3110 is not set
|
||||
# CONFIG_HID_SENSOR_MAGNETOMETER_3D is not set
|
||||
# CONFIG_MMC35240 is not set
|
||||
|
@ -4950,14 +4996,16 @@ CONFIG_AXP288_ADC=m
|
|||
#
|
||||
# Digital potentiometers
|
||||
#
|
||||
# CONFIG_DS1803 is not set
|
||||
# CONFIG_MCP4131 is not set
|
||||
# CONFIG_MCP4531 is not set
|
||||
# CONFIG_TPL0102 is not set
|
||||
|
||||
#
|
||||
# Pressure sensors
|
||||
#
|
||||
# CONFIG_BMP280 is not set
|
||||
# CONFIG_HID_SENSOR_PRESS is not set
|
||||
# CONFIG_HP03 is not set
|
||||
# CONFIG_MPL115_I2C is not set
|
||||
# CONFIG_MPL115_SPI is not set
|
||||
# CONFIG_MPL3115 is not set
|
||||
|
@ -4965,6 +5013,7 @@ CONFIG_AXP288_ADC=m
|
|||
# CONFIG_MS5637 is not set
|
||||
# CONFIG_IIO_ST_PRESS is not set
|
||||
# CONFIG_T5403 is not set
|
||||
# CONFIG_HP206C is not set
|
||||
|
||||
#
|
||||
# Lightning sensors
|
||||
|
@ -5090,6 +5139,7 @@ CONFIG_F2FS_FS_POSIX_ACL=y
|
|||
# CONFIG_F2FS_CHECK_FS is not set
|
||||
# CONFIG_F2FS_FS_ENCRYPTION is not set
|
||||
# CONFIG_F2FS_IO_TRACE is not set
|
||||
# CONFIG_F2FS_FAULT_INJECTION is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
CONFIG_EXPORTFS=y
|
||||
CONFIG_FILE_LOCKING=y
|
||||
|
@ -5409,6 +5459,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
|
|||
# CONFIG_PROVE_RCU is not set
|
||||
# CONFIG_SPARSE_RCU_POINTER is not set
|
||||
# CONFIG_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_PERF_TEST is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
CONFIG_RCU_CPU_STALL_TIMEOUT=21
|
||||
# CONFIG_RCU_TRACE is not set
|
||||
|
@ -5473,7 +5524,9 @@ CONFIG_TEST_HEXDUMP=m
|
|||
# CONFIG_TEST_KSTRTOX is not set
|
||||
# CONFIG_TEST_PRINTF is not set
|
||||
# CONFIG_TEST_BITMAP is not set
|
||||
# CONFIG_TEST_UUID is not set
|
||||
# CONFIG_TEST_RHASHTABLE is not set
|
||||
# CONFIG_TEST_HASH is not set
|
||||
# CONFIG_DMA_API_DEBUG is not set
|
||||
# CONFIG_TEST_LKM is not set
|
||||
# CONFIG_TEST_USER_COPY is not set
|
||||
|
@ -5523,6 +5576,7 @@ CONFIG_KEYS=y
|
|||
# CONFIG_PERSISTENT_KEYRINGS is not set
|
||||
# CONFIG_BIG_KEYS is not set
|
||||
CONFIG_ENCRYPTED_KEYS=y
|
||||
# CONFIG_KEY_DH_OPERATIONS is not set
|
||||
# CONFIG_SECURITY_DMESG_RESTRICT is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
# CONFIG_SECURITYFS is not set
|
||||
|
@ -5668,11 +5722,10 @@ CONFIG_CRYPTO_USER_API_AEAD=m
|
|||
CONFIG_CRYPTO_HASH_INFO=y
|
||||
CONFIG_CRYPTO_HW=y
|
||||
CONFIG_CRYPTO_DEV_SUN4I_SS=m
|
||||
CONFIG_ASYMMETRIC_KEY_TYPE=m
|
||||
CONFIG_ASYMMETRIC_KEY_TYPE=y
|
||||
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m
|
||||
CONFIG_X509_CERTIFICATE_PARSER=m
|
||||
CONFIG_PKCS7_MESSAGE_PARSER=m
|
||||
CONFIG_PKCS7_TEST_KEY=m
|
||||
|
||||
#
|
||||
# Certificates for signature checking
|
||||
|
@ -5680,6 +5733,7 @@ CONFIG_PKCS7_TEST_KEY=m
|
|||
CONFIG_SYSTEM_TRUSTED_KEYRING=y
|
||||
CONFIG_SYSTEM_TRUSTED_KEYS=""
|
||||
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
|
||||
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
|
||||
CONFIG_ARM_CRYPTO=y
|
||||
CONFIG_CRYPTO_SHA1_ARM=m
|
||||
CONFIG_CRYPTO_SHA1_ARM_NEON=m
|
||||
|
@ -5772,5 +5826,6 @@ CONFIG_FONT_SUPPORT=y
|
|||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_8x16=y
|
||||
# CONFIG_SG_SPLIT is not set
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_ARCH_HAS_SG_CHAIN=y
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
|
|
|
@ -33,7 +33,7 @@ else
|
|||
MAINLINE_KERNEL_SOURCE='git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git'
|
||||
fi
|
||||
# allow upgrades for same major.minor versions
|
||||
ARMBIAN_MAINLINE_KERNEL_VERSION="4.6"
|
||||
ARMBIAN_MAINLINE_KERNEL_VERSION="4.7"
|
||||
MAINLINE_KERNEL_BRANCH=tag:v$(wget -qO- https://www.kernel.org/finger_banner | awk '{print $NF}' | grep -oE "^${ARMBIAN_MAINLINE_KERNEL_VERSION//./\\.}\.?[[:digit:]]*")
|
||||
#MAINLINE_KERNEL_BRANCH="v$(wget -qO- https://www.kernel.org/finger_banner | grep "The latest st" | awk '{print $NF}' | head -1)"
|
||||
MAINLINE_KERNEL_DIR="linux-vanilla"
|
||||
|
|
|
@ -1,173 +0,0 @@
|
|||
From: Alexandru Gagniuc <mr.nuke.me at gmail.com>
|
||||
|
||||
SPI transfers were limited to one FIFO depth, which is 64 bytes.
|
||||
This was an artificial limitation, however, as the hardware can handle
|
||||
much larger bursts. To accommodate this, we enable the interrupt when
|
||||
the Rx FIFO is 3/4 full, and drain the FIFO within the interrupt
|
||||
handler. The 3/4 ratio was chosen arbitrarily, with the intention to
|
||||
reduce the potential number of interrupts.
|
||||
|
||||
Since the SUN4I_CTL_TP bit is set, the hardware will pause
|
||||
transmission whenever the FIFO is full, so there is no risk of losing
|
||||
data if we can't service the interrupt in time.
|
||||
|
||||
For the Tx side, enable and use the Tx FIFO 3/4 empty interrupt to
|
||||
replenish the FIFO on large SPI bursts. This requires more care in
|
||||
when the interrupt is left enabled, as this interrupt will continually
|
||||
trigger when the FIFO is less than 1/4 full, even though we
|
||||
acknowledge it.
|
||||
|
||||
Signed-off-by: Alexandru Gagniuc <mr.nuke.me at gmail.com>
|
||||
Acked-by: Maxime Ripard <maxime.ripard at free-electrons.com>
|
||||
Signed-off-by: Olliver Schinagl <o.schinagl at ultimaker.com>
|
||||
---
|
||||
drivers/spi/spi-sun4i.c | 76 +++++++++++++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 67 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/drivers/spi/spi-sun4i.c b/drivers/spi/spi-sun4i.c
|
||||
index fbb0a4d..9a30e49 100644
|
||||
--- a/drivers/spi/spi-sun4i.c
|
||||
+++ b/drivers/spi/spi-sun4i.c
|
||||
@@ -46,6 +46,8 @@
|
||||
#define SUN4I_CTL_TP BIT(18)
|
||||
|
||||
#define SUN4I_INT_CTL_REG 0x0c
|
||||
+#define SUN4I_INT_CTL_RF_F34 BIT(4)
|
||||
+#define SUN4I_INT_CTL_TF_E34 BIT(12)
|
||||
#define SUN4I_INT_CTL_TC BIT(16)
|
||||
|
||||
#define SUN4I_INT_STA_REG 0x10
|
||||
@@ -61,11 +63,14 @@
|
||||
#define SUN4I_CLK_CTL_CDR1(div) (((div) & SUN4I_CLK_CTL_CDR1_MASK) << 8)
|
||||
#define SUN4I_CLK_CTL_DRS BIT(12)
|
||||
|
||||
+#define SUN4I_MAX_XFER_SIZE 0xffffff
|
||||
+
|
||||
#define SUN4I_BURST_CNT_REG 0x20
|
||||
-#define SUN4I_BURST_CNT(cnt) ((cnt) & 0xffffff)
|
||||
+#define SUN4I_BURST_CNT(cnt) ((cnt) & SUN4I_MAX_XFER_SIZE)
|
||||
|
||||
#define SUN4I_XMIT_CNT_REG 0x24
|
||||
-#define SUN4I_XMIT_CNT(cnt) ((cnt) & 0xffffff)
|
||||
+#define SUN4I_XMIT_CNT(cnt) ((cnt) & SUN4I_MAX_XFER_SIZE)
|
||||
+
|
||||
|
||||
#define SUN4I_FIFO_STA_REG 0x28
|
||||
#define SUN4I_FIFO_STA_RF_CNT_MASK 0x7f
|
||||
@@ -96,6 +101,31 @@ static inline void sun4i_spi_write(struct sun4i_spi *sspi, u32 reg, u32 value)
|
||||
writel(value, sspi->base_addr + reg);
|
||||
}
|
||||
|
||||
+static inline u32 sun4i_spi_get_tx_fifo_count(struct sun4i_spi *sspi)
|
||||
+{
|
||||
+ u32 reg = sun4i_spi_read(sspi, SUN4I_FIFO_STA_REG);
|
||||
+
|
||||
+ reg >>= SUN4I_FIFO_STA_TF_CNT_BITS;
|
||||
+
|
||||
+ return reg & SUN4I_FIFO_STA_TF_CNT_MASK;
|
||||
+}
|
||||
+
|
||||
+static inline void sun4i_spi_enable_interrupt(struct sun4i_spi *sspi, u32 mask)
|
||||
+{
|
||||
+ u32 reg = sun4i_spi_read(sspi, SUN4I_INT_CTL_REG);
|
||||
+
|
||||
+ reg |= mask;
|
||||
+ sun4i_spi_write(sspi, SUN4I_INT_CTL_REG, reg);
|
||||
+}
|
||||
+
|
||||
+static inline void sun4i_spi_disable_interrupt(struct sun4i_spi *sspi, u32 mask)
|
||||
+{
|
||||
+ u32 reg = sun4i_spi_read(sspi, SUN4I_INT_CTL_REG);
|
||||
+
|
||||
+ reg &= ~mask;
|
||||
+ sun4i_spi_write(sspi, SUN4I_INT_CTL_REG, reg);
|
||||
+}
|
||||
+
|
||||
static inline void sun4i_spi_drain_fifo(struct sun4i_spi *sspi, int len)
|
||||
{
|
||||
u32 reg, cnt;
|
||||
@@ -118,10 +148,13 @@ static inline void sun4i_spi_drain_fifo(struct sun4i_spi *sspi, int len)
|
||||
|
||||
static inline void sun4i_spi_fill_fifo(struct sun4i_spi *sspi, int len)
|
||||
{
|
||||
+ u32 cnt;
|
||||
u8 byte;
|
||||
|
||||
- if (len > sspi->len)
|
||||
- len = sspi->len;
|
||||
+ /* See how much data we can fit */
|
||||
+ cnt = SUN4I_FIFO_DEPTH - sun4i_spi_get_tx_fifo_count(sspi);
|
||||
+
|
||||
+ len = min3(len, (int)cnt, sspi->len);
|
||||
|
||||
while (len--) {
|
||||
byte = sspi->tx_buf ? *sspi->tx_buf++ : 0;
|
||||
@@ -174,8 +207,8 @@ static int sun4i_spi_transfer_one(struct spi_master *master,
|
||||
int ret = 0;
|
||||
u32 reg;
|
||||
|
||||
- /* We don't support transfer larger than the FIFO */
|
||||
- if (tfr->len > SUN4I_FIFO_DEPTH)
|
||||
+ /* This is the maximum SPI burst size supported by the hardware */
|
||||
+ if (tfr->len > SUN4I_MAX_XFER_SIZE)
|
||||
return -EINVAL;
|
||||
|
||||
reinit_completion(&sspi->done);
|
||||
@@ -273,7 +306,11 @@ static int sun4i_spi_transfer_one(struct spi_master *master,
|
||||
sun4i_spi_fill_fifo(sspi, SUN4I_FIFO_DEPTH);
|
||||
|
||||
/* Enable the interrupts */
|
||||
- sun4i_spi_write(sspi, SUN4I_INT_CTL_REG, SUN4I_INT_CTL_TC);
|
||||
+ sun4i_spi_enable_interrupt(sspi, SUN4I_INT_CTL_TC |
|
||||
+ SUN4I_INT_CTL_RF_F34);
|
||||
+ /* Only enable Tx FIFO interrupt if we really need it */
|
||||
+ if (tx_len > SUN4I_FIFO_DEPTH)
|
||||
+ sun4i_spi_enable_interrupt(sspi, SUN4I_INT_CTL_TF_E34);
|
||||
|
||||
/* Start the transfer */
|
||||
reg = sun4i_spi_read(sspi, SUN4I_CTL_REG);
|
||||
@@ -286,8 +323,6 @@ static int sun4i_spi_transfer_one(struct spi_master *master,
|
||||
goto out;
|
||||
}
|
||||
|
||||
- sun4i_spi_drain_fifo(sspi, SUN4I_FIFO_DEPTH);
|
||||
-
|
||||
out:
|
||||
sun4i_spi_write(sspi, SUN4I_INT_CTL_REG, 0);
|
||||
|
||||
@@ -302,10 +337,33 @@ static irqreturn_t sun4i_spi_handler(int irq, void *dev_id)
|
||||
/* Transfer complete */
|
||||
if (status & SUN4I_INT_CTL_TC) {
|
||||
sun4i_spi_write(sspi, SUN4I_INT_STA_REG, SUN4I_INT_CTL_TC);
|
||||
+ sun4i_spi_drain_fifo(sspi, SUN4I_FIFO_DEPTH);
|
||||
complete(&sspi->done);
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
+ /* Receive FIFO 3/4 full */
|
||||
+ if (status & SUN4I_INT_CTL_RF_F34) {
|
||||
+ sun4i_spi_drain_fifo(sspi, SUN4I_FIFO_DEPTH);
|
||||
+ /* Only clear the interrupt _after_ draining the FIFO */
|
||||
+ sun4i_spi_write(sspi, SUN4I_INT_STA_REG, SUN4I_INT_CTL_RF_F34);
|
||||
+ return IRQ_HANDLED;
|
||||
+ }
|
||||
+
|
||||
+ /* Transmit FIFO 3/4 empty */
|
||||
+ if (status & SUN4I_INT_CTL_TF_E34) {
|
||||
+ sun4i_spi_fill_fifo(sspi, SUN4I_FIFO_DEPTH);
|
||||
+
|
||||
+ if (!sspi->len)
|
||||
+ /* nothing left to transmit */
|
||||
+ sun4i_spi_disable_interrupt(sspi, SUN4I_INT_CTL_TF_E34);
|
||||
+
|
||||
+ /* Only clear the interrupt _after_ re-seeding the FIFO */
|
||||
+ sun4i_spi_write(sspi, SUN4I_INT_STA_REG, SUN4I_INT_CTL_TF_E34);
|
||||
+
|
||||
+ return IRQ_HANDLED;
|
||||
+ }
|
||||
+
|
||||
return IRQ_NONE;
|
||||
}
|
||||
|
||||
--
|
||||
2.1.4
|
Loading…
Add table
Reference in a new issue