Move sunxi current to 5.10.y (#2525)
This commit is contained in:
parent
21a4b33218
commit
01024e20d5
@ -1,12 +1,13 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm 5.9.15 Kernel Configuration
|
||||
# Linux/arm 5.10.4 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="arm-linux-gnueabihf-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
CONFIG_GCC_VERSION=80300
|
||||
CONFIG_LD_VERSION=232000000
|
||||
CONFIG_CLANG_VERSION=0
|
||||
CONFIG_LLD_VERSION=0
|
||||
CONFIG_CC_CAN_LINK=y
|
||||
CONFIG_CC_CAN_LINK_STATIC=y
|
||||
CONFIG_CC_HAS_ASM_GOTO=y
|
||||
@ -59,6 +60,7 @@ CONFIG_GENERIC_IRQ_CHIP=y
|
||||
CONFIG_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_DOMAIN_HIERARCHY=y
|
||||
CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y
|
||||
CONFIG_GENERIC_IRQ_IPI=y
|
||||
CONFIG_HANDLE_DOMAIN_IRQ=y
|
||||
CONFIG_IRQ_FORCED_THREADING=y
|
||||
CONFIG_SPARSE_IRQ=y
|
||||
@ -114,6 +116,7 @@ CONFIG_SRCU=y
|
||||
CONFIG_TREE_SRCU=y
|
||||
CONFIG_TASKS_RCU_GENERIC=y
|
||||
CONFIG_TASKS_RUDE_RCU=y
|
||||
CONFIG_TASKS_TRACE_RCU=y
|
||||
CONFIG_RCU_STALL_COMMON=y
|
||||
CONFIG_RCU_NEED_SEGCBLIST=y
|
||||
# end of RCU Subsystem
|
||||
@ -177,6 +180,7 @@ CONFIG_RD_ZSTD=y
|
||||
# CONFIG_BOOT_CONFIG is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_LD_ORPHAN_WARN=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_HAVE_UID16=y
|
||||
CONFIG_BPF=y
|
||||
@ -207,6 +211,7 @@ CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_ALL is not set
|
||||
CONFIG_KALLSYMS_BASE_RELATIVE=y
|
||||
CONFIG_BPF_SYSCALL=y
|
||||
# CONFIG_BPF_PRELOAD is not set
|
||||
# CONFIG_USERFAULTFD is not set
|
||||
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
|
||||
CONFIG_RSEQ=y
|
||||
@ -467,7 +472,6 @@ CONFIG_ARM_MODULE_PLTS=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=11
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
# CONFIG_UACCESS_WITH_MEMCPY is not set
|
||||
CONFIG_SECCOMP=y
|
||||
# CONFIG_PARAVIRT is not set
|
||||
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
|
||||
# CONFIG_XEN is not set
|
||||
@ -619,6 +623,7 @@ CONFIG_AS_VFP_VMRS_FPINST=y
|
||||
#
|
||||
# General architecture-dependent options
|
||||
#
|
||||
CONFIG_SET_FS=y
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
# CONFIG_KPROBES is not set
|
||||
CONFIG_JUMP_LABEL=y
|
||||
@ -644,7 +649,9 @@ CONFIG_HAVE_PERF_REGS=y
|
||||
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
|
||||
CONFIG_HAVE_ARCH_JUMP_LABEL=y
|
||||
CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_STACKPROTECTOR=y
|
||||
CONFIG_STACKPROTECTOR=y
|
||||
@ -671,6 +678,7 @@ CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
|
||||
CONFIG_STRICT_MODULE_RWX=y
|
||||
CONFIG_ARCH_HAS_PHYS_TO_DMA=y
|
||||
# CONFIG_LOCK_EVENT_COUNTS is not set
|
||||
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
@ -1570,6 +1578,7 @@ CONFIG_CAN_RAW=m
|
||||
CONFIG_CAN_BCM=m
|
||||
CONFIG_CAN_GW=m
|
||||
CONFIG_CAN_J1939=m
|
||||
# CONFIG_CAN_ISOTP is not set
|
||||
|
||||
#
|
||||
# CAN Device Drivers
|
||||
@ -1604,6 +1613,7 @@ CONFIG_CAN_SOFTING=m
|
||||
#
|
||||
CONFIG_CAN_HI311X=m
|
||||
CONFIG_CAN_MCP251X=m
|
||||
# CONFIG_CAN_MCP251XFD is not set
|
||||
# end of CAN SPI interfaces
|
||||
|
||||
#
|
||||
@ -1836,6 +1846,7 @@ CONFIG_SUN50I_DE2_BUS=y
|
||||
CONFIG_SUNXI_RSB=y
|
||||
# CONFIG_VEXPRESS_CONFIG is not set
|
||||
CONFIG_MHI_BUS=m
|
||||
# CONFIG_MHI_BUS_DEBUG is not set
|
||||
# end of Bus devices
|
||||
|
||||
CONFIG_CONNECTOR=m
|
||||
@ -1940,6 +1951,12 @@ CONFIG_MTD_NAND_CADENCE=m
|
||||
# CONFIG_MTD_NAND_NANDSIM is not set
|
||||
# CONFIG_MTD_NAND_DISKONCHIP is not set
|
||||
CONFIG_MTD_SPI_NAND=m
|
||||
|
||||
#
|
||||
# ECC engine support
|
||||
#
|
||||
CONFIG_MTD_NAND_ECC=y
|
||||
# end of ECC engine support
|
||||
# end of NAND
|
||||
|
||||
#
|
||||
@ -1968,7 +1985,6 @@ CONFIG_OF_DYNAMIC=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_NET=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
CONFIG_OF_RESOLVE=y
|
||||
CONFIG_OF_OVERLAY=y
|
||||
@ -2034,6 +2050,7 @@ CONFIG_NVME_TARGET_TCP=m
|
||||
# CONFIG_XILINX_SDFEC is not set
|
||||
CONFIG_MISC_RTSX=m
|
||||
CONFIG_PVPANIC=m
|
||||
# CONFIG_HISI_HIKEY_USB is not set
|
||||
# CONFIG_MODEM_POWER is not set
|
||||
# CONFIG_C2PORT is not set
|
||||
|
||||
@ -2059,13 +2076,6 @@ CONFIG_EEPROM_EE1004=m
|
||||
# CONFIG_SENSORS_LIS3_SPI is not set
|
||||
# CONFIG_SENSORS_LIS3_I2C is not set
|
||||
# CONFIG_ALTERA_STAPL is not set
|
||||
|
||||
#
|
||||
# Intel MIC & related support
|
||||
#
|
||||
# CONFIG_VOP_BUS is not set
|
||||
# end of Intel MIC & related support
|
||||
|
||||
# CONFIG_ECHO is not set
|
||||
CONFIG_MISC_RTSX_USB=m
|
||||
CONFIG_UACCE=m
|
||||
@ -2260,6 +2270,7 @@ CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m
|
||||
CONFIG_NET_DSA_MV88E6XXX=m
|
||||
CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y
|
||||
CONFIG_NET_DSA_MV88E6XXX_PTP=y
|
||||
# CONFIG_NET_DSA_MSCC_SEVILLE is not set
|
||||
CONFIG_NET_DSA_AR9331=m
|
||||
CONFIG_NET_DSA_SJA1105=m
|
||||
# CONFIG_NET_DSA_SJA1105_PTP is not set
|
||||
@ -2341,6 +2352,7 @@ CONFIG_DWMAC_DWC_QOS_ETH=m
|
||||
CONFIG_DWMAC_GENERIC=y
|
||||
CONFIG_DWMAC_SUNXI=y
|
||||
CONFIG_DWMAC_SUN8I=y
|
||||
# CONFIG_DWMAC_INTEL_PLAT is not set
|
||||
CONFIG_NET_VENDOR_SYNOPSYS=y
|
||||
# CONFIG_DWC_XLGMAC is not set
|
||||
# CONFIG_NET_VENDOR_VIA is not set
|
||||
@ -2348,55 +2360,34 @@ CONFIG_NET_VENDOR_SYNOPSYS=y
|
||||
CONFIG_NET_VENDOR_XILINX=y
|
||||
# CONFIG_XILINX_AXI_EMAC is not set
|
||||
CONFIG_XILINX_LL_TEMAC=m
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
CONFIG_MDIO_BCM_UNIMAC=m
|
||||
# CONFIG_MDIO_BITBANG is not set
|
||||
CONFIG_MDIO_BUS_MUX=y
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
|
||||
# CONFIG_MDIO_HISI_FEMAC is not set
|
||||
# CONFIG_MDIO_IPQ4019 is not set
|
||||
CONFIG_MDIO_IPQ8064=m
|
||||
# CONFIG_MDIO_MSCC_MIIM is not set
|
||||
CONFIG_MDIO_MVUSB=m
|
||||
CONFIG_MDIO_SUN4I=y
|
||||
CONFIG_MDIO_XPCS=y
|
||||
CONFIG_PHYLINK=y
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_SWPHY=y
|
||||
CONFIG_LED_TRIGGER_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
# CONFIG_SFP is not set
|
||||
|
||||
#
|
||||
# MII PHY device drivers
|
||||
#
|
||||
# CONFIG_SFP is not set
|
||||
CONFIG_ADIN_PHY=m
|
||||
CONFIG_AC200_PHY=m
|
||||
CONFIG_AMD_PHY=m
|
||||
CONFIG_ADIN_PHY=m
|
||||
CONFIG_AQUANTIA_PHY=m
|
||||
CONFIG_AX88796B_PHY=m
|
||||
CONFIG_BCM7XXX_PHY=m
|
||||
CONFIG_BCM87XX_PHY=m
|
||||
CONFIG_BCM_NET_PHYLIB=m
|
||||
CONFIG_BROADCOM_PHY=m
|
||||
# CONFIG_BCM54140_PHY is not set
|
||||
CONFIG_BCM7XXX_PHY=m
|
||||
# CONFIG_BCM84881_PHY is not set
|
||||
CONFIG_BCM87XX_PHY=m
|
||||
CONFIG_BCM_NET_PHYLIB=m
|
||||
CONFIG_CICADA_PHY=m
|
||||
# CONFIG_CORTINA_PHY is not set
|
||||
CONFIG_DAVICOM_PHY=m
|
||||
# CONFIG_DP83822_PHY is not set
|
||||
CONFIG_DP83TC811_PHY=m
|
||||
CONFIG_DP83848_PHY=m
|
||||
# CONFIG_DP83867_PHY is not set
|
||||
CONFIG_DP83869_PHY=m
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_ICPLUS_PHY=m
|
||||
CONFIG_LXT_PHY=m
|
||||
# CONFIG_INTEL_XWAY_PHY is not set
|
||||
CONFIG_LSI_ET1011C_PHY=m
|
||||
CONFIG_LXT_PHY=m
|
||||
CONFIG_MARVELL_PHY=m
|
||||
# CONFIG_MARVELL_10G_PHY is not set
|
||||
CONFIG_MICREL_PHY=m
|
||||
@ -2413,9 +2404,41 @@ CONFIG_REALTEK_PHY=m
|
||||
CONFIG_SMSC_PHY=m
|
||||
CONFIG_STE10XP=m
|
||||
CONFIG_TERANETICS_PHY=m
|
||||
# CONFIG_DP83822_PHY is not set
|
||||
CONFIG_DP83TC811_PHY=m
|
||||
CONFIG_DP83848_PHY=m
|
||||
# CONFIG_DP83867_PHY is not set
|
||||
CONFIG_DP83869_PHY=m
|
||||
CONFIG_VITESSE_PHY=m
|
||||
# CONFIG_XILINX_GMII2RGMII is not set
|
||||
# CONFIG_MICREL_KS8995MA is not set
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
CONFIG_MDIO_SUN4I=y
|
||||
# CONFIG_MDIO_BITBANG is not set
|
||||
CONFIG_MDIO_BCM_UNIMAC=m
|
||||
# CONFIG_MDIO_HISI_FEMAC is not set
|
||||
CONFIG_MDIO_MVUSB=m
|
||||
# CONFIG_MDIO_MSCC_MIIM is not set
|
||||
# CONFIG_MDIO_IPQ4019 is not set
|
||||
CONFIG_MDIO_IPQ8064=m
|
||||
|
||||
#
|
||||
# MDIO Multiplexers
|
||||
#
|
||||
CONFIG_MDIO_BUS_MUX=y
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
|
||||
#
|
||||
# PCS device drivers
|
||||
#
|
||||
CONFIG_PCS_XPCS=y
|
||||
# end of PCS device drivers
|
||||
|
||||
CONFIG_PLIP=m
|
||||
CONFIG_PPP=m
|
||||
CONFIG_PPP_BSDCOMP=m
|
||||
@ -2516,6 +2539,7 @@ CONFIG_ATH10K_CE=y
|
||||
# CONFIG_ATH10K_DEBUGFS is not set
|
||||
# CONFIG_ATH10K_TRACING is not set
|
||||
# CONFIG_WCN36XX is not set
|
||||
# CONFIG_ATH11K is not set
|
||||
CONFIG_WLAN_VENDOR_ATMEL=y
|
||||
CONFIG_AT76C50X_USB=m
|
||||
CONFIG_WLAN_VENDOR_BROADCOM=y
|
||||
@ -2616,7 +2640,6 @@ CONFIG_WLAN_VENDOR_TI=y
|
||||
CONFIG_RTL8723DU=m
|
||||
CONFIG_RTL8723DS=m
|
||||
CONFIG_RTL8822BU=m
|
||||
CONFIG_RTL8188EU=m
|
||||
CONFIG_RTL8821CU=m
|
||||
CONFIG_WLAN_VENDOR_XRADIO=m
|
||||
CONFIG_XRADIO_NON_POWER_OF_TWO_BLOCKSIZES=y
|
||||
@ -2726,6 +2749,7 @@ CONFIG_MOUSE_SERIAL=m
|
||||
CONFIG_INPUT_JOYSTICK=y
|
||||
# CONFIG_JOYSTICK_ANALOG is not set
|
||||
# CONFIG_JOYSTICK_A3D is not set
|
||||
CONFIG_JOYSTICK_ADC=m
|
||||
# CONFIG_JOYSTICK_ADI is not set
|
||||
# CONFIG_JOYSTICK_COBRA is not set
|
||||
# CONFIG_JOYSTICK_GF2K is not set
|
||||
@ -2826,6 +2850,7 @@ CONFIG_TOUCHSCREEN_ZET6223=m
|
||||
# CONFIG_TOUCHSCREEN_ZFORCE is not set
|
||||
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
|
||||
CONFIG_TOUCHSCREEN_IQS5XX=m
|
||||
# CONFIG_TOUCHSCREEN_ZINITIX is not set
|
||||
CONFIG_INPUT_MISC=y
|
||||
# CONFIG_INPUT_AD714X is not set
|
||||
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
|
||||
@ -2869,6 +2894,7 @@ CONFIG_RMI4_F11=y
|
||||
CONFIG_RMI4_F12=y
|
||||
CONFIG_RMI4_F30=y
|
||||
# CONFIG_RMI4_F34 is not set
|
||||
# CONFIG_RMI4_F3A is not set
|
||||
# CONFIG_RMI4_F54 is not set
|
||||
# CONFIG_RMI4_F55 is not set
|
||||
|
||||
@ -2976,6 +3002,7 @@ CONFIG_HW_RANDOM=m
|
||||
CONFIG_HW_RANDOM_VIRTIO=m
|
||||
CONFIG_HW_RANDOM_OPTEE=m
|
||||
# CONFIG_HW_RANDOM_CCTRNG is not set
|
||||
# CONFIG_HW_RANDOM_XIPHERA is not set
|
||||
CONFIG_DEVMEM=y
|
||||
CONFIG_DEVKMEM=y
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
@ -3049,6 +3076,7 @@ CONFIG_I2C_FSI=m
|
||||
CONFIG_I2C_STUB=m
|
||||
CONFIG_I2C_SLAVE=y
|
||||
CONFIG_I2C_SLAVE_EEPROM=m
|
||||
# CONFIG_I2C_SLAVE_TESTUNIT is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
@ -3140,6 +3168,12 @@ CONFIG_PINCTRL_AXP209=m
|
||||
# CONFIG_PINCTRL_SX150X is not set
|
||||
CONFIG_PINCTRL_STMFX=m
|
||||
# CONFIG_PINCTRL_OCELOT is not set
|
||||
|
||||
#
|
||||
# Renesas pinctrl drivers
|
||||
#
|
||||
# end of Renesas pinctrl drivers
|
||||
|
||||
CONFIG_PINCTRL_SUNXI=y
|
||||
CONFIG_PINCTRL_SUN4I_A10=y
|
||||
CONFIG_PINCTRL_SUN5I=y
|
||||
@ -3157,9 +3191,13 @@ CONFIG_PINCTRL_SUN9I_A80=y
|
||||
CONFIG_PINCTRL_SUN9I_A80_R=y
|
||||
CONFIG_PINCTRL_SUN50I_A64=y
|
||||
CONFIG_PINCTRL_SUN50I_A64_R=y
|
||||
CONFIG_PINCTRL_SUN50I_A100=y
|
||||
CONFIG_PINCTRL_SUN50I_A100_R=y
|
||||
CONFIG_PINCTRL_SUN50I_H5=y
|
||||
CONFIG_PINCTRL_SUN50I_H6=y
|
||||
CONFIG_PINCTRL_SUN50I_H6_R=y
|
||||
# CONFIG_PINCTRL_SUN50I_H616 is not set
|
||||
# CONFIG_PINCTRL_SUN50I_H616_R is not set
|
||||
CONFIG_PINCTRL_MADERA=m
|
||||
CONFIG_ARCH_HAVE_CUSTOM_GPIO_H=y
|
||||
CONFIG_GPIOLIB=y
|
||||
@ -3168,6 +3206,8 @@ CONFIG_OF_GPIO=y
|
||||
CONFIG_GPIOLIB_IRQCHIP=y
|
||||
# CONFIG_DEBUG_GPIO is not set
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_CDEV=y
|
||||
CONFIG_GPIO_CDEV_V1=y
|
||||
CONFIG_GPIO_GENERIC=m
|
||||
|
||||
#
|
||||
@ -3270,8 +3310,6 @@ CONFIG_W1_SLAVE_DS250X=m
|
||||
# CONFIG_W1_SLAVE_DS28E17 is not set
|
||||
# end of 1-wire Slaves
|
||||
|
||||
CONFIG_POWER_AVS=y
|
||||
CONFIG_QCOM_CPR=m
|
||||
CONFIG_POWER_RESET=y
|
||||
# CONFIG_POWER_RESET_BRCMKONA is not set
|
||||
# CONFIG_POWER_RESET_BRCMSTB is not set
|
||||
@ -3298,7 +3336,6 @@ CONFIG_BATTERY_DS2760=m
|
||||
# CONFIG_BATTERY_DS2780 is not set
|
||||
# CONFIG_BATTERY_DS2781 is not set
|
||||
# CONFIG_BATTERY_DS2782 is not set
|
||||
# CONFIG_BATTERY_LEGO_EV3 is not set
|
||||
# CONFIG_BATTERY_SBS is not set
|
||||
CONFIG_CHARGER_SBS=m
|
||||
# CONFIG_MANAGER_SBS is not set
|
||||
@ -3324,6 +3361,7 @@ CONFIG_CHARGER_MAX77650=m
|
||||
# CONFIG_CHARGER_BQ24735 is not set
|
||||
# CONFIG_CHARGER_BQ2515X is not set
|
||||
# CONFIG_CHARGER_BQ25890 is not set
|
||||
# CONFIG_CHARGER_BQ25980 is not set
|
||||
# CONFIG_CHARGER_SMB347 is not set
|
||||
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
|
||||
# CONFIG_CHARGER_RT9455 is not set
|
||||
@ -3403,6 +3441,7 @@ CONFIG_SENSORS_MAX6697=m
|
||||
CONFIG_SENSORS_MAX31790=m
|
||||
CONFIG_SENSORS_MCP3021=m
|
||||
# CONFIG_SENSORS_TC654 is not set
|
||||
# CONFIG_SENSORS_MR75203 is not set
|
||||
CONFIG_SENSORS_ADCXX=m
|
||||
CONFIG_SENSORS_LM63=m
|
||||
CONFIG_SENSORS_LM70=m
|
||||
@ -3665,6 +3704,7 @@ CONFIG_MFD_ROHM_BD71828=m
|
||||
CONFIG_MFD_STPMIC1=m
|
||||
CONFIG_MFD_STMFX=m
|
||||
# CONFIG_RAVE_SP_CORE is not set
|
||||
# CONFIG_MFD_INTEL_M10_BMC is not set
|
||||
# end of Multifunction device drivers
|
||||
|
||||
CONFIG_REGULATOR=y
|
||||
@ -3714,7 +3754,10 @@ CONFIG_REGULATOR_MPQ7920=m
|
||||
# CONFIG_REGULATOR_PV88080 is not set
|
||||
# CONFIG_REGULATOR_PV88090 is not set
|
||||
CONFIG_REGULATOR_PWM=m
|
||||
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
|
||||
CONFIG_REGULATOR_ROHM=m
|
||||
# CONFIG_REGULATOR_RT4801 is not set
|
||||
# CONFIG_REGULATOR_RTMV20 is not set
|
||||
# CONFIG_REGULATOR_SLG51000 is not set
|
||||
CONFIG_REGULATOR_STPMIC1=m
|
||||
CONFIG_REGULATOR_SY8106A=m
|
||||
@ -4549,6 +4592,7 @@ CONFIG_DRM_PANEL_LG_LB035Q02=m
|
||||
CONFIG_DRM_PANEL_NEC_NL8048HL11=m
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT35510=m
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT39016=m
|
||||
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
|
||||
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
|
||||
# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
|
||||
# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
|
||||
@ -4589,6 +4633,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
|
||||
# CONFIG_DRM_CDNS_DSI is not set
|
||||
# CONFIG_DRM_CHRONTEL_CH7033 is not set
|
||||
CONFIG_DRM_DISPLAY_CONNECTOR=m
|
||||
# CONFIG_DRM_LONTIUM_LT9611 is not set
|
||||
CONFIG_DRM_LVDS_CODEC=m
|
||||
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
|
||||
# CONFIG_DRM_NWL_MIPI_DSI is not set
|
||||
@ -4600,9 +4645,11 @@ CONFIG_DRM_PARADE_PS8640=m
|
||||
# CONFIG_DRM_SII9234 is not set
|
||||
CONFIG_DRM_SIMPLE_BRIDGE=m
|
||||
# CONFIG_DRM_THINE_THC63LVD1024 is not set
|
||||
# CONFIG_DRM_TOSHIBA_TC358762 is not set
|
||||
CONFIG_DRM_TOSHIBA_TC358764=m
|
||||
# CONFIG_DRM_TOSHIBA_TC358767 is not set
|
||||
CONFIG_DRM_TOSHIBA_TC358768=m
|
||||
# CONFIG_DRM_TOSHIBA_TC358775 is not set
|
||||
# CONFIG_DRM_TI_TFP410 is not set
|
||||
CONFIG_DRM_TI_SN65DSI86=m
|
||||
CONFIG_DRM_TI_TPD12S015=m
|
||||
@ -4610,6 +4657,7 @@ CONFIG_DRM_ANALOGIX_ANX6345=m
|
||||
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
|
||||
CONFIG_DRM_ANALOGIX_DP=m
|
||||
# CONFIG_DRM_I2C_ADV7511 is not set
|
||||
# CONFIG_DRM_CDNS_MHDP8546 is not set
|
||||
CONFIG_DRM_DW_HDMI=y
|
||||
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
|
||||
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
|
||||
@ -4693,6 +4741,7 @@ CONFIG_LCD_CLASS_DEVICE=m
|
||||
# CONFIG_LCD_HX8357 is not set
|
||||
# CONFIG_LCD_OTM3225A is not set
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_KTD253 is not set
|
||||
CONFIG_BACKLIGHT_PWM=m
|
||||
CONFIG_BACKLIGHT_QCOM_WLED=m
|
||||
# CONFIG_BACKLIGHT_ADP8860 is not set
|
||||
@ -4919,6 +4968,7 @@ CONFIG_SND_SOC_CS42L51_I2C=m
|
||||
CONFIG_SND_SOC_CS42L52=m
|
||||
CONFIG_SND_SOC_CS42L56=m
|
||||
CONFIG_SND_SOC_CS42L73=m
|
||||
CONFIG_SND_SOC_CS4234=m
|
||||
CONFIG_SND_SOC_CS4265=m
|
||||
CONFIG_SND_SOC_CS4270=m
|
||||
CONFIG_SND_SOC_CS4271=m
|
||||
@ -4994,6 +5044,7 @@ CONFIG_SND_SOC_STA350=m
|
||||
CONFIG_SND_SOC_STI_SAS=m
|
||||
CONFIG_SND_SOC_TAS2552=m
|
||||
CONFIG_SND_SOC_TAS2562=m
|
||||
CONFIG_SND_SOC_TAS2764=m
|
||||
CONFIG_SND_SOC_TAS2770=m
|
||||
CONFIG_SND_SOC_TAS5086=m
|
||||
CONFIG_SND_SOC_TAS571X=m
|
||||
@ -5101,6 +5152,7 @@ CONFIG_HID_GFRM=m
|
||||
CONFIG_HID_GLORIOUS=m
|
||||
CONFIG_HID_HOLTEK=m
|
||||
CONFIG_HOLTEK_FF=y
|
||||
CONFIG_HID_VIVALDI=m
|
||||
CONFIG_HID_GT683R=m
|
||||
CONFIG_HID_KEYTOUCH=m
|
||||
CONFIG_HID_KYE=m
|
||||
@ -5208,6 +5260,7 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
# Miscellaneous USB options
|
||||
#
|
||||
CONFIG_USB_DEFAULT_PERSIST=y
|
||||
# CONFIG_USB_FEW_INIT_RETRIES is not set
|
||||
CONFIG_USB_DYNAMIC_MINORS=y
|
||||
CONFIG_USB_OTG=y
|
||||
# CONFIG_USB_OTG_PRODUCTLIST is not set
|
||||
@ -5403,7 +5456,6 @@ CONFIG_USB_FTDI_ELAN=m
|
||||
CONFIG_USB_APPLEDISPLAY=m
|
||||
CONFIG_APPLE_MFI_FASTCHARGE=m
|
||||
CONFIG_USB_SISUSBVGA=m
|
||||
CONFIG_USB_SISUSBVGA_CON=y
|
||||
CONFIG_USB_LD=m
|
||||
CONFIG_USB_TRANCEVIBRATOR=m
|
||||
CONFIG_USB_IOWARRIOR=m
|
||||
@ -5540,12 +5592,14 @@ CONFIG_TYPEC=m
|
||||
CONFIG_TYPEC_TCPM=m
|
||||
CONFIG_TYPEC_TCPCI=m
|
||||
CONFIG_TYPEC_RT1711H=m
|
||||
# CONFIG_TYPEC_TCPCI_MAXIM is not set
|
||||
CONFIG_TYPEC_FUSB302=m
|
||||
CONFIG_TYPEC_UCSI=m
|
||||
CONFIG_UCSI_CCG=m
|
||||
CONFIG_TYPEC_ANX7688=m
|
||||
CONFIG_TYPEC_HD3SS3220=m
|
||||
CONFIG_TYPEC_TPS6598X=m
|
||||
# CONFIG_TYPEC_STUSB160X is not set
|
||||
|
||||
#
|
||||
# USB Type-C Multiplexer/DeMultiplexer Switch support
|
||||
@ -5615,6 +5669,7 @@ CONFIG_LEDS_PCA9532=m
|
||||
CONFIG_LEDS_GPIO=y
|
||||
CONFIG_LEDS_LP3944=m
|
||||
CONFIG_LEDS_LP3952=m
|
||||
# CONFIG_LEDS_LP50XX is not set
|
||||
CONFIG_LEDS_LP55XX_COMMON=m
|
||||
CONFIG_LEDS_LP5521=m
|
||||
CONFIG_LEDS_LP5523=m
|
||||
@ -5731,6 +5786,7 @@ CONFIG_RTC_DRV_FM3130=m
|
||||
# CONFIG_RTC_DRV_RX8025 is not set
|
||||
# CONFIG_RTC_DRV_EM3027 is not set
|
||||
CONFIG_RTC_DRV_RV3028=m
|
||||
# CONFIG_RTC_DRV_RV3032 is not set
|
||||
# CONFIG_RTC_DRV_RV8803 is not set
|
||||
CONFIG_RTC_DRV_SD3078=m
|
||||
|
||||
@ -5857,6 +5913,7 @@ CONFIG_VIRTIO_MENU=y
|
||||
CONFIG_VIRTIO_BALLOON=m
|
||||
CONFIG_VIRTIO_INPUT=m
|
||||
# CONFIG_VIRTIO_MMIO is not set
|
||||
CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
|
||||
# CONFIG_VDPA is not set
|
||||
CONFIG_VHOST_MENU=y
|
||||
# CONFIG_VHOST_NET is not set
|
||||
@ -5938,7 +5995,6 @@ CONFIG_AD9834=m
|
||||
CONFIG_STAGING_MEDIA=y
|
||||
CONFIG_VIDEO_SUNXI=y
|
||||
CONFIG_VIDEO_SUNXI_CEDRUS=m
|
||||
CONFIG_VIDEO_USBVISION=m
|
||||
|
||||
#
|
||||
# Android
|
||||
@ -5983,7 +6039,6 @@ CONFIG_FB_TFT_UC1701=m
|
||||
CONFIG_FB_TFT_UPD161704=m
|
||||
CONFIG_FB_TFT_WATTEROTT=m
|
||||
CONFIG_MOST_COMPONENTS=m
|
||||
# CONFIG_MOST_CDEV is not set
|
||||
# CONFIG_MOST_NET is not set
|
||||
# CONFIG_MOST_SOUND is not set
|
||||
# CONFIG_MOST_VIDEO is not set
|
||||
@ -6003,16 +6058,13 @@ CONFIG_HMS_ANYBUSS_BUS=m
|
||||
CONFIG_ARCX_ANYBUS_CONTROLLER=m
|
||||
CONFIG_HMS_PROFINET=m
|
||||
CONFIG_WFX=m
|
||||
CONFIG_RTL8723CS_NEW=m
|
||||
# CONFIG_GOLDFISH is not set
|
||||
# CONFIG_MFD_CROS_EC is not set
|
||||
# CONFIG_CHROME_PLATFORMS is not set
|
||||
# CONFIG_MELLANOX_PLATFORM is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_HAVE_CLK_PREPARE=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
# CONFIG_CLK_HSDK is not set
|
||||
CONFIG_COMMON_CLK_MAX9485=m
|
||||
# CONFIG_COMMON_CLK_SI5341 is not set
|
||||
# CONFIG_COMMON_CLK_SI5351 is not set
|
||||
@ -6175,6 +6227,8 @@ CONFIG_EXTCON_USB_GPIO=m
|
||||
CONFIG_IIO=m
|
||||
CONFIG_IIO_BUFFER=y
|
||||
CONFIG_IIO_BUFFER_CB=m
|
||||
# CONFIG_IIO_BUFFER_DMA is not set
|
||||
# CONFIG_IIO_BUFFER_DMAENGINE is not set
|
||||
# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
|
||||
CONFIG_IIO_KFIFO_BUF=m
|
||||
CONFIG_IIO_TRIGGERED_BUFFER=m
|
||||
@ -6183,6 +6237,7 @@ CONFIG_IIO_TRIGGER=y
|
||||
CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
|
||||
# CONFIG_IIO_SW_DEVICE is not set
|
||||
# CONFIG_IIO_SW_TRIGGER is not set
|
||||
# CONFIG_IIO_TRIGGERED_EVENT is not set
|
||||
|
||||
#
|
||||
# Accelerometers
|
||||
@ -6403,6 +6458,7 @@ CONFIG_TI_DAC7612=m
|
||||
# CONFIG_ADIS16130 is not set
|
||||
# CONFIG_ADIS16136 is not set
|
||||
# CONFIG_ADIS16260 is not set
|
||||
# CONFIG_ADXRS290 is not set
|
||||
# CONFIG_ADXRS450 is not set
|
||||
# CONFIG_BMG160 is not set
|
||||
CONFIG_FXAS21002C=m
|
||||
@ -6434,6 +6490,7 @@ CONFIG_MAX30102=m
|
||||
# CONFIG_AM2315 is not set
|
||||
# CONFIG_DHT11 is not set
|
||||
# CONFIG_HDC100X is not set
|
||||
# CONFIG_HDC2010 is not set
|
||||
CONFIG_HID_SENSOR_HUMIDITY=m
|
||||
# CONFIG_HTS221 is not set
|
||||
# CONFIG_HTU21 is not set
|
||||
@ -6476,6 +6533,7 @@ CONFIG_AL3010=m
|
||||
# CONFIG_AL3320A is not set
|
||||
# CONFIG_APDS9300 is not set
|
||||
# CONFIG_APDS9960 is not set
|
||||
# CONFIG_AS73211 is not set
|
||||
# CONFIG_BH1750 is not set
|
||||
# CONFIG_BH1780 is not set
|
||||
# CONFIG_CM32181 is not set
|
||||
@ -6685,6 +6743,7 @@ CONFIG_RESET_SUNXI=y
|
||||
#
|
||||
CONFIG_GENERIC_PHY=y
|
||||
CONFIG_GENERIC_PHY_MIPI_DPHY=y
|
||||
# CONFIG_USB_LGM_PHY is not set
|
||||
CONFIG_PHY_SUN4I_USB=y
|
||||
CONFIG_PHY_SUN6I_MIPI_DPHY=y
|
||||
CONFIG_PHY_SUN9I_USB=y
|
||||
@ -6783,6 +6842,7 @@ CONFIG_FTM_QUADDEC=m
|
||||
# CONFIG_MICROCHIP_TCB_CAPTURE is not set
|
||||
CONFIG_MOST=m
|
||||
# CONFIG_MOST_USB_HDM is not set
|
||||
# CONFIG_MOST_CDEV is not set
|
||||
# end of Device Drivers
|
||||
|
||||
#
|
||||
@ -6813,6 +6873,7 @@ CONFIG_JFS_SECURITY=y
|
||||
# CONFIG_JFS_DEBUG is not set
|
||||
CONFIG_JFS_STATISTICS=y
|
||||
CONFIG_XFS_FS=m
|
||||
CONFIG_XFS_SUPPORT_V4=y
|
||||
CONFIG_XFS_QUOTA=y
|
||||
CONFIG_XFS_POSIX_ACL=y
|
||||
CONFIG_XFS_RT=y
|
||||
@ -7048,6 +7109,7 @@ CONFIG_NFS_FSCACHE=y
|
||||
CONFIG_NFS_USE_KERNEL_DNS=y
|
||||
CONFIG_NFS_DEBUG=y
|
||||
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
|
||||
# CONFIG_NFS_V4_2_READ_PLUS is not set
|
||||
CONFIG_NFSD=m
|
||||
CONFIG_NFSD_V2_ACL=y
|
||||
CONFIG_NFSD_V3=y
|
||||
@ -7281,6 +7343,7 @@ CONFIG_CRYPTO_DH=y
|
||||
CONFIG_CRYPTO_ECC=m
|
||||
CONFIG_CRYPTO_ECDH=m
|
||||
CONFIG_CRYPTO_ECRDSA=m
|
||||
# CONFIG_CRYPTO_SM2 is not set
|
||||
CONFIG_CRYPTO_CURVE25519=m
|
||||
|
||||
#
|
||||
@ -7395,7 +7458,9 @@ CONFIG_CRYPTO_USER_API=m
|
||||
CONFIG_CRYPTO_USER_API_HASH=m
|
||||
CONFIG_CRYPTO_USER_API_SKCIPHER=m
|
||||
CONFIG_CRYPTO_USER_API_RNG=m
|
||||
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
|
||||
CONFIG_CRYPTO_USER_API_AEAD=m
|
||||
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
|
||||
CONFIG_CRYPTO_STATS=y
|
||||
CONFIG_CRYPTO_HASH_INFO=y
|
||||
|
||||
@ -7425,8 +7490,13 @@ CONFIG_CRYPTO_DEV_SUN4I_SS=m
|
||||
# CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG is not set
|
||||
CONFIG_CRYPTO_DEV_SUN8I_CE=m
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_HASH is not set
|
||||
CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG=y
|
||||
CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG=y
|
||||
CONFIG_CRYPTO_DEV_SUN8I_SS=m
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG is not set
|
||||
CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG=y
|
||||
CONFIG_CRYPTO_DEV_SUN8I_SS_HASH=y
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
|
||||
CONFIG_CRYPTO_DEV_VIRTIO=m
|
||||
@ -7540,6 +7610,7 @@ CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
|
||||
CONFIG_DMA_NONCOHERENT_MMAP=y
|
||||
CONFIG_DMA_REMAP=y
|
||||
CONFIG_DMA_CMA=y
|
||||
# CONFIG_DMA_PERNUMA_CMA is not set
|
||||
|
||||
#
|
||||
# Default contiguous memory area size:
|
||||
@ -7582,6 +7653,7 @@ CONFIG_FONT_6x10=y
|
||||
# CONFIG_FONT_SUN8x16 is not set
|
||||
# CONFIG_FONT_SUN12x22 is not set
|
||||
CONFIG_FONT_TER16x32=y
|
||||
# CONFIG_FONT_6x8 is not set
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_SBITMAP=y
|
||||
# CONFIG_STRING_SELFTEST is not set
|
||||
@ -7707,6 +7779,7 @@ CONFIG_LOCK_DEBUGGING_SUPPORT=y
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_LOCK_TORTURE_TEST is not set
|
||||
CONFIG_WW_MUTEX_SELFTEST=m
|
||||
# CONFIG_SCF_TORTURE_TEST is not set
|
||||
# end of Lock Debugging (spinlocks, mutexes, etc...)
|
||||
|
||||
CONFIG_STACKTRACE=y
|
||||
@ -7728,7 +7801,7 @@ CONFIG_STACKTRACE=y
|
||||
#
|
||||
# RCU Debugging
|
||||
#
|
||||
# CONFIG_RCU_PERF_TEST is not set
|
||||
# CONFIG_RCU_SCALE_TEST is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_REF_SCALE_TEST is not set
|
||||
CONFIG_RCU_CPU_STALL_TIMEOUT=21
|
||||
@ -7824,7 +7897,6 @@ CONFIG_TEST_STRSCPY=m
|
||||
# CONFIG_TEST_KSTRTOX is not set
|
||||
# CONFIG_TEST_PRINTF is not set
|
||||
# CONFIG_TEST_BITMAP is not set
|
||||
# CONFIG_TEST_BITFIELD is not set
|
||||
# CONFIG_TEST_UUID is not set
|
||||
CONFIG_TEST_XARRAY=m
|
||||
CONFIG_TEST_OVERFLOW=m
|
||||
|
||||
@ -1,12 +1,13 @@
|
||||
#
|
||||
# Automatically generated file; DO NOT EDIT.
|
||||
# Linux/arm64 5.9.15 Kernel Configuration
|
||||
# Linux/arm64 5.10.4 Kernel Configuration
|
||||
#
|
||||
CONFIG_CC_VERSION_TEXT="aarch64-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 8.3-2019.03 (arm-rel-8.36)) 8.3.0"
|
||||
CONFIG_CC_IS_GCC=y
|
||||
CONFIG_GCC_VERSION=80300
|
||||
CONFIG_LD_VERSION=232000000
|
||||
CONFIG_CLANG_VERSION=0
|
||||
CONFIG_LLD_VERSION=0
|
||||
CONFIG_CC_CAN_LINK=y
|
||||
CONFIG_CC_CAN_LINK_STATIC=y
|
||||
CONFIG_CC_HAS_ASM_GOTO=y
|
||||
@ -51,6 +52,7 @@ CONFIG_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_SIM=y
|
||||
CONFIG_IRQ_DOMAIN_HIERARCHY=y
|
||||
CONFIG_IRQ_FASTEOI_HIERARCHY_HANDLERS=y
|
||||
CONFIG_GENERIC_IRQ_IPI=y
|
||||
CONFIG_GENERIC_MSI_IRQ=y
|
||||
CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
|
||||
CONFIG_IRQ_MSI_IOMMU=y
|
||||
@ -107,6 +109,8 @@ CONFIG_TREE_RCU=y
|
||||
# CONFIG_RCU_EXPERT is not set
|
||||
CONFIG_SRCU=y
|
||||
CONFIG_TREE_SRCU=y
|
||||
CONFIG_TASKS_RCU_GENERIC=y
|
||||
CONFIG_TASKS_TRACE_RCU=y
|
||||
CONFIG_RCU_STALL_COMMON=y
|
||||
CONFIG_RCU_NEED_SEGCBLIST=y
|
||||
# end of RCU Subsystem
|
||||
@ -175,6 +179,7 @@ CONFIG_RD_ZSTD=y
|
||||
# CONFIG_BOOT_CONFIG is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_LD_ORPHAN_WARN=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_HAVE_UID16=y
|
||||
CONFIG_SYSCTL_EXCEPTION_TRACE=y
|
||||
@ -208,6 +213,8 @@ CONFIG_BPF_SYSCALL=y
|
||||
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
|
||||
# CONFIG_BPF_JIT_ALWAYS_ON is not set
|
||||
CONFIG_BPF_JIT_DEFAULT_ON=y
|
||||
CONFIG_USERMODE_DRIVER=y
|
||||
# CONFIG_BPF_PRELOAD is not set
|
||||
# CONFIG_USERFAULTFD is not set
|
||||
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
|
||||
CONFIG_RSEQ=y
|
||||
@ -238,7 +245,8 @@ CONFIG_ARM64=y
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_ARM64_PAGE_SHIFT=12
|
||||
CONFIG_ARM64_CONT_SHIFT=4
|
||||
CONFIG_ARM64_CONT_PTE_SHIFT=4
|
||||
CONFIG_ARM64_CONT_PMD_SHIFT=4
|
||||
CONFIG_ARCH_MMAP_RND_BITS_MIN=18
|
||||
CONFIG_ARCH_MMAP_RND_BITS_MAX=33
|
||||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
|
||||
@ -301,6 +309,7 @@ CONFIG_ARCH_SUNXI=y
|
||||
# CONFIG_ARCH_THUNDER2 is not set
|
||||
# CONFIG_ARCH_UNIPHIER is not set
|
||||
# CONFIG_ARCH_VEXPRESS is not set
|
||||
# CONFIG_ARCH_VISCONTI is not set
|
||||
# CONFIG_ARCH_XGENE is not set
|
||||
# CONFIG_ARCH_ZX is not set
|
||||
# CONFIG_ARCH_ZYNQMP is not set
|
||||
@ -331,6 +340,7 @@ CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
|
||||
CONFIG_ARM64_ERRATUM_1286807=y
|
||||
CONFIG_ARM64_ERRATUM_1463225=y
|
||||
CONFIG_ARM64_ERRATUM_1542419=y
|
||||
CONFIG_ARM64_ERRATUM_1508412=y
|
||||
# CONFIG_CAVIUM_ERRATUM_22375 is not set
|
||||
CONFIG_CAVIUM_ERRATUM_23144=y
|
||||
# CONFIG_CAVIUM_ERRATUM_23154 is not set
|
||||
@ -382,7 +392,6 @@ CONFIG_SYS_SUPPORTS_HUGETLBFS=y
|
||||
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
|
||||
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
|
||||
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_PARAVIRT=y
|
||||
# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
|
||||
# CONFIG_KEXEC is not set
|
||||
@ -391,8 +400,6 @@ CONFIG_PARAVIRT=y
|
||||
# CONFIG_XEN is not set
|
||||
CONFIG_FORCE_MAX_ZONEORDER=11
|
||||
CONFIG_UNMAP_KERNEL_AT_EL0=y
|
||||
CONFIG_HARDEN_BRANCH_PREDICTOR=y
|
||||
CONFIG_ARM64_SSBD=y
|
||||
CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
|
||||
# CONFIG_ARM64_SW_TTBR0_PAN is not set
|
||||
CONFIG_ARM64_TAGGED_ADDR_ABI=y
|
||||
@ -462,6 +469,7 @@ CONFIG_CMDLINE=""
|
||||
|
||||
CONFIG_SYSVIPC_COMPAT=y
|
||||
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
|
||||
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
|
||||
|
||||
#
|
||||
# Power management options
|
||||
@ -587,6 +595,7 @@ CONFIG_CRYPTO_AES_ARM64_BS=y
|
||||
# General architecture-dependent options
|
||||
#
|
||||
CONFIG_CRASH_CORE=y
|
||||
CONFIG_SET_FS=y
|
||||
# CONFIG_KPROBES is not set
|
||||
CONFIG_JUMP_LABEL=y
|
||||
# CONFIG_STATIC_KEYS_SELFTEST is not set
|
||||
@ -620,7 +629,9 @@ CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
|
||||
CONFIG_HAVE_CMPXCHG_LOCAL=y
|
||||
CONFIG_HAVE_CMPXCHG_DOUBLE=y
|
||||
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP=y
|
||||
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_SECCOMP_FILTER=y
|
||||
CONFIG_HAVE_ARCH_STACKLEAK=y
|
||||
CONFIG_HAVE_STACKPROTECTOR=y
|
||||
@ -629,6 +640,7 @@ CONFIG_STACKPROTECTOR_STRONG=y
|
||||
CONFIG_HAVE_CONTEXT_TRACKING=y
|
||||
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
|
||||
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
|
||||
CONFIG_HAVE_MOVE_PMD=y
|
||||
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_HAVE_ARCH_HUGE_VMAP=y
|
||||
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
|
||||
@ -653,6 +665,7 @@ CONFIG_HAVE_ARCH_COMPILER_H=y
|
||||
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
|
||||
# CONFIG_LOCK_EVENT_COUNTS is not set
|
||||
CONFIG_ARCH_HAS_RELR=y
|
||||
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
|
||||
|
||||
#
|
||||
# GCOV-based kernel profiling
|
||||
@ -1570,7 +1583,6 @@ CONFIG_NET_FLOW_LIMIT=y
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_NET_DROP_MONITOR is not set
|
||||
# end of Network testing
|
||||
# end of Networking options
|
||||
|
||||
@ -1600,6 +1612,7 @@ CONFIG_CAN_RAW=m
|
||||
CONFIG_CAN_BCM=m
|
||||
CONFIG_CAN_GW=m
|
||||
CONFIG_CAN_J1939=m
|
||||
# CONFIG_CAN_ISOTP is not set
|
||||
|
||||
#
|
||||
# CAN Device Drivers
|
||||
@ -1624,6 +1637,7 @@ CONFIG_CAN_CALC_BITTIMING=y
|
||||
#
|
||||
CONFIG_CAN_HI311X=m
|
||||
CONFIG_CAN_MCP251X=m
|
||||
# CONFIG_CAN_MCP251XFD is not set
|
||||
# end of CAN SPI interfaces
|
||||
|
||||
#
|
||||
@ -1852,6 +1866,7 @@ CONFIG_SUN50I_DE2_BUS=y
|
||||
CONFIG_SUNXI_RSB=y
|
||||
# CONFIG_VEXPRESS_CONFIG is not set
|
||||
CONFIG_MHI_BUS=m
|
||||
# CONFIG_MHI_BUS_DEBUG is not set
|
||||
# end of Bus devices
|
||||
|
||||
CONFIG_CONNECTOR=m
|
||||
@ -1966,6 +1981,12 @@ CONFIG_MTD_NAND_DISKONCHIP=m
|
||||
CONFIG_MTD_NAND_DISKONCHIP_PROBE_ADDRESS=0
|
||||
# CONFIG_MTD_NAND_DISKONCHIP_BBTWRITE is not set
|
||||
CONFIG_MTD_SPI_NAND=m
|
||||
|
||||
#
|
||||
# ECC engine support
|
||||
#
|
||||
CONFIG_MTD_NAND_ECC=y
|
||||
# end of ECC engine support
|
||||
# end of NAND
|
||||
|
||||
#
|
||||
@ -1988,7 +2009,6 @@ CONFIG_OF_DYNAMIC=y
|
||||
CONFIG_OF_ADDRESS=y
|
||||
CONFIG_OF_IRQ=y
|
||||
CONFIG_OF_NET=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_OF_RESERVED_MEM=y
|
||||
CONFIG_OF_RESOLVE=y
|
||||
CONFIG_OF_OVERLAY=y
|
||||
@ -2041,6 +2061,7 @@ CONFIG_BLK_DEV_RBD=m
|
||||
# CONFIG_SRAM is not set
|
||||
# CONFIG_XILINX_SDFEC is not set
|
||||
CONFIG_PVPANIC=m
|
||||
# CONFIG_HISI_HIKEY_USB is not set
|
||||
# CONFIG_MODEM_POWER is not set
|
||||
# CONFIG_C2PORT is not set
|
||||
|
||||
@ -2066,13 +2087,6 @@ CONFIG_EEPROM_EE1004=m
|
||||
# CONFIG_SENSORS_LIS3_SPI is not set
|
||||
# CONFIG_SENSORS_LIS3_I2C is not set
|
||||
# CONFIG_ALTERA_STAPL is not set
|
||||
|
||||
#
|
||||
# Intel MIC & related support
|
||||
#
|
||||
# CONFIG_VOP_BUS is not set
|
||||
# end of Intel MIC & related support
|
||||
|
||||
# CONFIG_ECHO is not set
|
||||
# CONFIG_MISC_RTSX_USB is not set
|
||||
CONFIG_UACCE=m
|
||||
@ -2243,6 +2257,7 @@ CONFIG_NET_DSA_MICROCHIP_KSZ9477_SPI=m
|
||||
CONFIG_NET_DSA_MICROCHIP_KSZ8795=m
|
||||
CONFIG_NET_DSA_MICROCHIP_KSZ8795_SPI=m
|
||||
# CONFIG_NET_DSA_MV88E6XXX is not set
|
||||
# CONFIG_NET_DSA_MSCC_SEVILLE is not set
|
||||
CONFIG_NET_DSA_AR9331=m
|
||||
CONFIG_NET_DSA_SJA1105=m
|
||||
# CONFIG_NET_DSA_SJA1105_PTP is not set
|
||||
@ -2324,6 +2339,7 @@ CONFIG_DWMAC_DWC_QOS_ETH=m
|
||||
CONFIG_DWMAC_GENERIC=y
|
||||
CONFIG_DWMAC_SUNXI=m
|
||||
CONFIG_DWMAC_SUN8I=m
|
||||
# CONFIG_DWMAC_INTEL_PLAT is not set
|
||||
CONFIG_NET_VENDOR_SYNOPSYS=y
|
||||
# CONFIG_DWC_XLGMAC is not set
|
||||
# CONFIG_NET_VENDOR_VIA is not set
|
||||
@ -2331,57 +2347,34 @@ CONFIG_NET_VENDOR_SYNOPSYS=y
|
||||
CONFIG_NET_VENDOR_XILINX=y
|
||||
CONFIG_XILINX_AXI_EMAC=m
|
||||
CONFIG_XILINX_LL_TEMAC=m
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
# CONFIG_MDIO_BCM_UNIMAC is not set
|
||||
CONFIG_MDIO_BITBANG=y
|
||||
CONFIG_MDIO_BUS_MUX=m
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
|
||||
# CONFIG_MDIO_GPIO is not set
|
||||
# CONFIG_MDIO_HISI_FEMAC is not set
|
||||
# CONFIG_MDIO_IPQ4019 is not set
|
||||
CONFIG_MDIO_IPQ8064=m
|
||||
CONFIG_MDIO_MSCC_MIIM=m
|
||||
CONFIG_MDIO_MVUSB=m
|
||||
# CONFIG_MDIO_OCTEON is not set
|
||||
CONFIG_MDIO_SUN4I=y
|
||||
CONFIG_MDIO_XPCS=y
|
||||
CONFIG_PHYLINK=y
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_SWPHY=y
|
||||
CONFIG_LED_TRIGGER_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
# CONFIG_SFP is not set
|
||||
|
||||
#
|
||||
# MII PHY device drivers
|
||||
#
|
||||
# CONFIG_SFP is not set
|
||||
CONFIG_ADIN_PHY=m
|
||||
CONFIG_AC200_PHY=m
|
||||
CONFIG_AMD_PHY=m
|
||||
CONFIG_ADIN_PHY=m
|
||||
CONFIG_AQUANTIA_PHY=m
|
||||
CONFIG_AX88796B_PHY=m
|
||||
# CONFIG_BCM7XXX_PHY is not set
|
||||
CONFIG_BCM87XX_PHY=m
|
||||
CONFIG_BCM_NET_PHYLIB=m
|
||||
CONFIG_BROADCOM_PHY=m
|
||||
# CONFIG_BCM54140_PHY is not set
|
||||
# CONFIG_BCM7XXX_PHY is not set
|
||||
# CONFIG_BCM84881_PHY is not set
|
||||
CONFIG_BCM87XX_PHY=m
|
||||
CONFIG_BCM_NET_PHYLIB=m
|
||||
CONFIG_CICADA_PHY=m
|
||||
# CONFIG_CORTINA_PHY is not set
|
||||
CONFIG_DAVICOM_PHY=m
|
||||
# CONFIG_DP83822_PHY is not set
|
||||
CONFIG_DP83TC811_PHY=m
|
||||
CONFIG_DP83848_PHY=m
|
||||
# CONFIG_DP83867_PHY is not set
|
||||
CONFIG_DP83869_PHY=m
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_ICPLUS_PHY=m
|
||||
CONFIG_LXT_PHY=m
|
||||
# CONFIG_INTEL_XWAY_PHY is not set
|
||||
CONFIG_LSI_ET1011C_PHY=m
|
||||
CONFIG_LXT_PHY=m
|
||||
CONFIG_MARVELL_PHY=m
|
||||
# CONFIG_MARVELL_10G_PHY is not set
|
||||
CONFIG_MICREL_PHY=m
|
||||
@ -2398,9 +2391,43 @@ CONFIG_REALTEK_PHY=m
|
||||
CONFIG_SMSC_PHY=m
|
||||
CONFIG_STE10XP=m
|
||||
CONFIG_TERANETICS_PHY=m
|
||||
# CONFIG_DP83822_PHY is not set
|
||||
CONFIG_DP83TC811_PHY=m
|
||||
CONFIG_DP83848_PHY=m
|
||||
# CONFIG_DP83867_PHY is not set
|
||||
CONFIG_DP83869_PHY=m
|
||||
CONFIG_VITESSE_PHY=m
|
||||
# CONFIG_XILINX_GMII2RGMII is not set
|
||||
# CONFIG_MICREL_KS8995MA is not set
|
||||
CONFIG_MDIO_DEVICE=y
|
||||
CONFIG_MDIO_BUS=y
|
||||
CONFIG_OF_MDIO=y
|
||||
CONFIG_MDIO_DEVRES=y
|
||||
CONFIG_MDIO_SUN4I=y
|
||||
CONFIG_MDIO_BITBANG=y
|
||||
# CONFIG_MDIO_BCM_UNIMAC is not set
|
||||
# CONFIG_MDIO_GPIO is not set
|
||||
# CONFIG_MDIO_HISI_FEMAC is not set
|
||||
CONFIG_MDIO_MVUSB=m
|
||||
CONFIG_MDIO_MSCC_MIIM=m
|
||||
# CONFIG_MDIO_OCTEON is not set
|
||||
# CONFIG_MDIO_IPQ4019 is not set
|
||||
CONFIG_MDIO_IPQ8064=m
|
||||
|
||||
#
|
||||
# MDIO Multiplexers
|
||||
#
|
||||
CONFIG_MDIO_BUS_MUX=m
|
||||
# CONFIG_MDIO_BUS_MUX_GPIO is not set
|
||||
CONFIG_MDIO_BUS_MUX_MULTIPLEXER=m
|
||||
# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
|
||||
|
||||
#
|
||||
# PCS device drivers
|
||||
#
|
||||
CONFIG_PCS_XPCS=y
|
||||
# end of PCS device drivers
|
||||
|
||||
CONFIG_PPP=m
|
||||
CONFIG_PPP_BSDCOMP=m
|
||||
CONFIG_PPP_DEFLATE=m
|
||||
@ -2488,6 +2515,7 @@ CONFIG_ATH10K_USB=m
|
||||
# CONFIG_ATH10K_DEBUG is not set
|
||||
# CONFIG_ATH10K_DEBUGFS is not set
|
||||
# CONFIG_WCN36XX is not set
|
||||
# CONFIG_ATH11K is not set
|
||||
# CONFIG_WLAN_VENDOR_ATMEL is not set
|
||||
CONFIG_WLAN_VENDOR_BROADCOM=y
|
||||
CONFIG_B43=m
|
||||
@ -2580,7 +2608,6 @@ CONFIG_RTW88=m
|
||||
CONFIG_RTL8723DU=m
|
||||
CONFIG_RTL8723DS=m
|
||||
CONFIG_RTL8822BU=m
|
||||
CONFIG_RTL8188EU=m
|
||||
CONFIG_RTL8821CU=m
|
||||
# CONFIG_WLAN_VENDOR_XRADIO is not set
|
||||
CONFIG_88XXAU=m
|
||||
@ -2685,6 +2712,7 @@ CONFIG_MOUSE_PS2_SMBUS=y
|
||||
CONFIG_INPUT_JOYSTICK=y
|
||||
# CONFIG_JOYSTICK_ANALOG is not set
|
||||
# CONFIG_JOYSTICK_A3D is not set
|
||||
# CONFIG_JOYSTICK_ADC is not set
|
||||
# CONFIG_JOYSTICK_ADI is not set
|
||||
# CONFIG_JOYSTICK_COBRA is not set
|
||||
# CONFIG_JOYSTICK_GF2K is not set
|
||||
@ -2801,6 +2829,7 @@ CONFIG_TOUCHSCREEN_SILEAD=m
|
||||
# CONFIG_TOUCHSCREEN_ZFORCE is not set
|
||||
# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
|
||||
CONFIG_TOUCHSCREEN_IQS5XX=m
|
||||
# CONFIG_TOUCHSCREEN_ZINITIX is not set
|
||||
CONFIG_INPUT_MISC=y
|
||||
# CONFIG_INPUT_AD714X is not set
|
||||
# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
|
||||
@ -2843,6 +2872,7 @@ CONFIG_RMI4_F11=y
|
||||
CONFIG_RMI4_F12=y
|
||||
CONFIG_RMI4_F30=y
|
||||
# CONFIG_RMI4_F34 is not set
|
||||
# CONFIG_RMI4_F3A is not set
|
||||
# CONFIG_RMI4_F54 is not set
|
||||
# CONFIG_RMI4_F55 is not set
|
||||
|
||||
@ -3030,6 +3060,7 @@ CONFIG_I2C_TINY_USB=m
|
||||
CONFIG_I2C_STUB=m
|
||||
CONFIG_I2C_SLAVE=y
|
||||
CONFIG_I2C_SLAVE_EEPROM=m
|
||||
# CONFIG_I2C_SLAVE_TESTUNIT is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
@ -3123,6 +3154,12 @@ CONFIG_PINCTRL_SINGLE=y
|
||||
# CONFIG_PINCTRL_SX150X is not set
|
||||
CONFIG_PINCTRL_STMFX=m
|
||||
# CONFIG_PINCTRL_OCELOT is not set
|
||||
|
||||
#
|
||||
# Renesas pinctrl drivers
|
||||
#
|
||||
# end of Renesas pinctrl drivers
|
||||
|
||||
CONFIG_PINCTRL_SUNXI=y
|
||||
# CONFIG_PINCTRL_SUN4I_A10 is not set
|
||||
# CONFIG_PINCTRL_SUN5I is not set
|
||||
@ -3140,15 +3177,21 @@ CONFIG_PINCTRL_SUN8I_H3_R=y
|
||||
# CONFIG_PINCTRL_SUN9I_A80_R is not set
|
||||
CONFIG_PINCTRL_SUN50I_A64=y
|
||||
CONFIG_PINCTRL_SUN50I_A64_R=y
|
||||
CONFIG_PINCTRL_SUN50I_A100=y
|
||||
CONFIG_PINCTRL_SUN50I_A100_R=y
|
||||
CONFIG_PINCTRL_SUN50I_H5=y
|
||||
CONFIG_PINCTRL_SUN50I_H6=y
|
||||
CONFIG_PINCTRL_SUN50I_H6_R=y
|
||||
CONFIG_PINCTRL_SUN50I_H616=y
|
||||
CONFIG_PINCTRL_SUN50I_H616_R=y
|
||||
CONFIG_PINCTRL_MADERA=m
|
||||
CONFIG_GPIOLIB=y
|
||||
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
|
||||
CONFIG_OF_GPIO=y
|
||||
CONFIG_GPIOLIB_IRQCHIP=y
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
CONFIG_GPIO_CDEV=y
|
||||
CONFIG_GPIO_CDEV_V1=y
|
||||
CONFIG_GPIO_GENERIC=y
|
||||
CONFIG_GPIO_MAX730X=m
|
||||
|
||||
@ -3254,7 +3297,6 @@ CONFIG_W1_SLAVE_DS28E04=m
|
||||
CONFIG_W1_SLAVE_DS28E17=m
|
||||
# end of 1-wire Slaves
|
||||
|
||||
# CONFIG_POWER_AVS is not set
|
||||
CONFIG_POWER_RESET=y
|
||||
# CONFIG_POWER_RESET_BRCMSTB is not set
|
||||
# CONFIG_POWER_RESET_GPIO is not set
|
||||
@ -3278,7 +3320,6 @@ CONFIG_BATTERY_DS2760=m
|
||||
CONFIG_BATTERY_DS2780=m
|
||||
CONFIG_BATTERY_DS2781=m
|
||||
CONFIG_BATTERY_DS2782=m
|
||||
CONFIG_BATTERY_LEGO_EV3=m
|
||||
CONFIG_BATTERY_SBS=m
|
||||
CONFIG_CHARGER_SBS=m
|
||||
CONFIG_MANAGER_SBS=m
|
||||
@ -3307,6 +3348,7 @@ CONFIG_CHARGER_MAX77650=m
|
||||
# CONFIG_CHARGER_BQ24735 is not set
|
||||
# CONFIG_CHARGER_BQ2515X is not set
|
||||
# CONFIG_CHARGER_BQ25890 is not set
|
||||
# CONFIG_CHARGER_BQ25980 is not set
|
||||
# CONFIG_CHARGER_SMB347 is not set
|
||||
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
|
||||
# CONFIG_CHARGER_RT9455 is not set
|
||||
@ -3388,6 +3430,7 @@ CONFIG_SENSORS_MAX6697=m
|
||||
CONFIG_SENSORS_MAX31790=m
|
||||
CONFIG_SENSORS_MCP3021=m
|
||||
CONFIG_SENSORS_TC654=m
|
||||
# CONFIG_SENSORS_MR75203 is not set
|
||||
CONFIG_SENSORS_ADCXX=m
|
||||
CONFIG_SENSORS_LM63=m
|
||||
CONFIG_SENSORS_LM70=m
|
||||
@ -3418,6 +3461,7 @@ CONFIG_SENSORS_OCC=m
|
||||
CONFIG_SENSORS_PCF8591=m
|
||||
CONFIG_PMBUS=m
|
||||
CONFIG_SENSORS_PMBUS=m
|
||||
# CONFIG_SENSORS_ADM1266 is not set
|
||||
CONFIG_SENSORS_ADM1275=m
|
||||
CONFIG_SENSORS_BEL_PFE=m
|
||||
CONFIG_SENSORS_IBM_CFFPS=m
|
||||
@ -3436,6 +3480,7 @@ CONFIG_SENSORS_MAX20751=m
|
||||
CONFIG_SENSORS_MAX31785=m
|
||||
CONFIG_SENSORS_MAX34440=m
|
||||
CONFIG_SENSORS_MAX8688=m
|
||||
# CONFIG_SENSORS_MP2975 is not set
|
||||
# CONFIG_SENSORS_PXE1610 is not set
|
||||
CONFIG_SENSORS_TPS40422=m
|
||||
CONFIG_SENSORS_TPS53679=m
|
||||
@ -3671,6 +3716,7 @@ CONFIG_MFD_ROHM_BD71828=m
|
||||
# CONFIG_MFD_STPMIC1 is not set
|
||||
CONFIG_MFD_STMFX=m
|
||||
CONFIG_RAVE_SP_CORE=m
|
||||
# CONFIG_MFD_INTEL_M10_BMC is not set
|
||||
# end of Multifunction device drivers
|
||||
|
||||
CONFIG_REGULATOR=y
|
||||
@ -3722,7 +3768,10 @@ CONFIG_REGULATOR_MPQ7920=m
|
||||
# CONFIG_REGULATOR_PWM is not set
|
||||
CONFIG_REGULATOR_QCOM_SPMI=y
|
||||
# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
|
||||
# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
|
||||
CONFIG_REGULATOR_ROHM=m
|
||||
# CONFIG_REGULATOR_RT4801 is not set
|
||||
# CONFIG_REGULATOR_RTMV20 is not set
|
||||
# CONFIG_REGULATOR_S2MPA01 is not set
|
||||
CONFIG_REGULATOR_S2MPS11=y
|
||||
# CONFIG_REGULATOR_S5M8767 is not set
|
||||
@ -4109,7 +4158,7 @@ CONFIG_VIDEO_MT9V011=m
|
||||
# CONFIG_VIDEO_RJ54N1 is not set
|
||||
# CONFIG_VIDEO_S5K6AA is not set
|
||||
# CONFIG_VIDEO_S5K6A3 is not set
|
||||
CONFIG_VIDEO_S5K4ECGX=m
|
||||
# CONFIG_VIDEO_S5K4ECGX is not set
|
||||
# CONFIG_VIDEO_S5K5BAF is not set
|
||||
# CONFIG_VIDEO_SMIAPP is not set
|
||||
# CONFIG_VIDEO_ET8EK8 is not set
|
||||
@ -4358,7 +4407,6 @@ CONFIG_DRM_VKMS=m
|
||||
# CONFIG_DRM_UDL is not set
|
||||
# CONFIG_DRM_RCAR_DW_HDMI is not set
|
||||
CONFIG_DRM_RCAR_LVDS=m
|
||||
CONFIG_DRM_RCAR_WRITEBACK=y
|
||||
CONFIG_DRM_SUN4I=y
|
||||
CONFIG_DRM_SUN4I_HDMI=y
|
||||
CONFIG_DRM_SUN4I_HDMI_AUDIO=y
|
||||
@ -4396,6 +4444,7 @@ CONFIG_DRM_PANEL_LG_LB035Q02=m
|
||||
CONFIG_DRM_PANEL_NEC_NL8048HL11=m
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT35510=m
|
||||
CONFIG_DRM_PANEL_NOVATEK_NT39016=m
|
||||
# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
|
||||
CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO=m
|
||||
CONFIG_DRM_PANEL_ORISETECH_OTM8009A=m
|
||||
# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
|
||||
@ -4436,6 +4485,7 @@ CONFIG_DRM_PANEL_BRIDGE=y
|
||||
CONFIG_DRM_CDNS_DSI=m
|
||||
# CONFIG_DRM_CHRONTEL_CH7033 is not set
|
||||
CONFIG_DRM_DISPLAY_CONNECTOR=m
|
||||
# CONFIG_DRM_LONTIUM_LT9611 is not set
|
||||
CONFIG_DRM_LVDS_CODEC=m
|
||||
# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
|
||||
# CONFIG_DRM_NWL_MIPI_DSI is not set
|
||||
@ -4447,9 +4497,11 @@ CONFIG_DRM_PARADE_PS8640=m
|
||||
CONFIG_DRM_SII9234=m
|
||||
CONFIG_DRM_SIMPLE_BRIDGE=m
|
||||
CONFIG_DRM_THINE_THC63LVD1024=m
|
||||
# CONFIG_DRM_TOSHIBA_TC358762 is not set
|
||||
CONFIG_DRM_TOSHIBA_TC358764=m
|
||||
# CONFIG_DRM_TOSHIBA_TC358767 is not set
|
||||
CONFIG_DRM_TOSHIBA_TC358768=m
|
||||
# CONFIG_DRM_TOSHIBA_TC358775 is not set
|
||||
# CONFIG_DRM_TI_TFP410 is not set
|
||||
CONFIG_DRM_TI_SN65DSI86=m
|
||||
CONFIG_DRM_TI_TPD12S015=m
|
||||
@ -4457,6 +4509,7 @@ CONFIG_DRM_ANALOGIX_ANX6345=m
|
||||
CONFIG_DRM_ANALOGIX_ANX78XX=m
|
||||
CONFIG_DRM_ANALOGIX_DP=m
|
||||
# CONFIG_DRM_I2C_ADV7511 is not set
|
||||
# CONFIG_DRM_CDNS_MHDP8546 is not set
|
||||
CONFIG_DRM_DW_HDMI=y
|
||||
CONFIG_DRM_DW_HDMI_AHB_AUDIO=m
|
||||
CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
|
||||
@ -4538,6 +4591,7 @@ CONFIG_LCD_CLASS_DEVICE=m
|
||||
# CONFIG_LCD_HX8357 is not set
|
||||
CONFIG_LCD_OTM3225A=m
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_KTD253 is not set
|
||||
CONFIG_BACKLIGHT_PWM=m
|
||||
CONFIG_BACKLIGHT_QCOM_WLED=m
|
||||
# CONFIG_BACKLIGHT_ADP8860 is not set
|
||||
@ -4655,7 +4709,6 @@ CONFIG_SND_SOC_FSL_MICFIL=m
|
||||
|
||||
# CONFIG_SND_I2S_HI6210_I2S is not set
|
||||
# CONFIG_SND_SOC_IMG is not set
|
||||
# CONFIG_SND_SOC_INTEL_KEEMBAY is not set
|
||||
CONFIG_SND_SOC_MTK_BTCVSD=m
|
||||
# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
|
||||
|
||||
@ -4715,6 +4768,7 @@ CONFIG_SND_SOC_CS35L36=m
|
||||
# CONFIG_SND_SOC_CS42L52 is not set
|
||||
# CONFIG_SND_SOC_CS42L56 is not set
|
||||
# CONFIG_SND_SOC_CS42L73 is not set
|
||||
# CONFIG_SND_SOC_CS4234 is not set
|
||||
# CONFIG_SND_SOC_CS4265 is not set
|
||||
# CONFIG_SND_SOC_CS4270 is not set
|
||||
# CONFIG_SND_SOC_CS4271_I2C is not set
|
||||
@ -4778,6 +4832,7 @@ CONFIG_SND_SOC_SSM2305=m
|
||||
# CONFIG_SND_SOC_STI_SAS is not set
|
||||
# CONFIG_SND_SOC_TAS2552 is not set
|
||||
CONFIG_SND_SOC_TAS2562=m
|
||||
# CONFIG_SND_SOC_TAS2764 is not set
|
||||
CONFIG_SND_SOC_TAS2770=m
|
||||
# CONFIG_SND_SOC_TAS5086 is not set
|
||||
# CONFIG_SND_SOC_TAS571X is not set
|
||||
@ -4882,6 +4937,7 @@ CONFIG_HID_GFRM=m
|
||||
CONFIG_HID_GLORIOUS=m
|
||||
CONFIG_HID_HOLTEK=m
|
||||
CONFIG_HOLTEK_FF=y
|
||||
# CONFIG_HID_VIVALDI is not set
|
||||
CONFIG_HID_GT683R=m
|
||||
CONFIG_HID_KEYTOUCH=m
|
||||
CONFIG_HID_KYE=m
|
||||
@ -4988,6 +5044,7 @@ CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
|
||||
# Miscellaneous USB options
|
||||
#
|
||||
CONFIG_USB_DEFAULT_PERSIST=y
|
||||
# CONFIG_USB_FEW_INIT_RETRIES is not set
|
||||
# CONFIG_USB_DYNAMIC_MINORS is not set
|
||||
CONFIG_USB_OTG=y
|
||||
# CONFIG_USB_OTG_PRODUCTLIST is not set
|
||||
@ -5269,7 +5326,7 @@ CONFIG_USB_CONFIGFS_F_MIDI=y
|
||||
CONFIG_USB_CONFIGFS_F_HID=y
|
||||
CONFIG_USB_CONFIGFS_F_UVC=y
|
||||
CONFIG_USB_CONFIGFS_F_PRINTER=y
|
||||
CONFIG_USB_CONFIGFS_F_TCM=y
|
||||
# CONFIG_USB_CONFIGFS_F_TCM is not set
|
||||
|
||||
#
|
||||
# USB Gadget precomposed configurations
|
||||
@ -5309,6 +5366,7 @@ CONFIG_TYPEC=m
|
||||
CONFIG_TYPEC_ANX7688=m
|
||||
CONFIG_TYPEC_HD3SS3220=m
|
||||
CONFIG_TYPEC_TPS6598X=m
|
||||
# CONFIG_TYPEC_STUSB160X is not set
|
||||
|
||||
#
|
||||
# USB Type-C Multiplexer/DeMultiplexer Switch support
|
||||
@ -5390,6 +5448,7 @@ CONFIG_LEDS_LM3692X=m
|
||||
CONFIG_LEDS_GPIO=y
|
||||
# CONFIG_LEDS_LP3944 is not set
|
||||
# CONFIG_LEDS_LP3952 is not set
|
||||
# CONFIG_LEDS_LP50XX is not set
|
||||
# CONFIG_LEDS_LP55XX_COMMON is not set
|
||||
# CONFIG_LEDS_LP8860 is not set
|
||||
# CONFIG_LEDS_PCA955X is not set
|
||||
@ -5501,6 +5560,7 @@ CONFIG_RTC_DRV_RX8581=m
|
||||
CONFIG_RTC_DRV_RX8025=m
|
||||
CONFIG_RTC_DRV_EM3027=m
|
||||
CONFIG_RTC_DRV_RV3028=m
|
||||
# CONFIG_RTC_DRV_RV3032 is not set
|
||||
CONFIG_RTC_DRV_RV8803=m
|
||||
CONFIG_RTC_DRV_S5M=m
|
||||
CONFIG_RTC_DRV_SD3078=m
|
||||
@ -5707,7 +5767,6 @@ CONFIG_AD9834=m
|
||||
CONFIG_STAGING_MEDIA=y
|
||||
CONFIG_VIDEO_SUNXI=y
|
||||
CONFIG_VIDEO_SUNXI_CEDRUS=m
|
||||
CONFIG_VIDEO_USBVISION=m
|
||||
|
||||
#
|
||||
# Android
|
||||
@ -5752,7 +5811,6 @@ CONFIG_FB_TFT_UC1701=m
|
||||
CONFIG_FB_TFT_UPD161704=m
|
||||
CONFIG_FB_TFT_WATTEROTT=m
|
||||
CONFIG_MOST_COMPONENTS=m
|
||||
# CONFIG_MOST_CDEV is not set
|
||||
# CONFIG_MOST_NET is not set
|
||||
# CONFIG_MOST_SOUND is not set
|
||||
# CONFIG_MOST_VIDEO is not set
|
||||
@ -5769,16 +5827,15 @@ CONFIG_MOST_COMPONENTS=m
|
||||
CONFIG_XIL_AXIS_FIFO=m
|
||||
# CONFIG_FIELDBUS_DEV is not set
|
||||
CONFIG_WFX=m
|
||||
CONFIG_RTL8723CS_NEW=m
|
||||
# CONFIG_SPMI_HISI3670 is not set
|
||||
# CONFIG_MFD_HI6421_SPMI is not set
|
||||
# CONFIG_GOLDFISH is not set
|
||||
# CONFIG_MFD_CROS_EC is not set
|
||||
# CONFIG_CHROME_PLATFORMS is not set
|
||||
# CONFIG_MELLANOX_PLATFORM is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_CLKDEV_LOOKUP=y
|
||||
CONFIG_HAVE_CLK_PREPARE=y
|
||||
CONFIG_COMMON_CLK=y
|
||||
# CONFIG_CLK_HSDK is not set
|
||||
CONFIG_COMMON_CLK_MAX9485=m
|
||||
# CONFIG_COMMON_CLK_SCMI is not set
|
||||
CONFIG_COMMON_CLK_SCPI=y
|
||||
@ -5804,7 +5861,10 @@ CONFIG_CLK_SUNXI_PRCM_SUN8I=y
|
||||
CONFIG_CLK_SUNXI_PRCM_SUN9I=y
|
||||
CONFIG_SUNXI_CCU=y
|
||||
CONFIG_SUN50I_A64_CCU=y
|
||||
CONFIG_SUN50I_A100_CCU=y
|
||||
CONFIG_SUN50I_A100_R_CCU=y
|
||||
CONFIG_SUN50I_H6_CCU=y
|
||||
CONFIG_SUN50I_H616_CCU=y
|
||||
CONFIG_SUN50I_H6_R_CCU=y
|
||||
CONFIG_SUN8I_A83T_CCU=y
|
||||
CONFIG_SUN8I_H3_CCU=y
|
||||
@ -5952,6 +6012,8 @@ CONFIG_EXTCON_USB_GPIO=y
|
||||
CONFIG_IIO=m
|
||||
CONFIG_IIO_BUFFER=y
|
||||
CONFIG_IIO_BUFFER_CB=m
|
||||
# CONFIG_IIO_BUFFER_DMA is not set
|
||||
# CONFIG_IIO_BUFFER_DMAENGINE is not set
|
||||
# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
|
||||
CONFIG_IIO_KFIFO_BUF=m
|
||||
CONFIG_IIO_TRIGGERED_BUFFER=m
|
||||
@ -6202,6 +6264,7 @@ CONFIG_ADIS16080=m
|
||||
CONFIG_ADIS16130=m
|
||||
CONFIG_ADIS16136=m
|
||||
CONFIG_ADIS16260=m
|
||||
# CONFIG_ADXRS290 is not set
|
||||
CONFIG_ADXRS450=m
|
||||
CONFIG_BMG160=m
|
||||
CONFIG_BMG160_I2C=m
|
||||
@ -6238,6 +6301,7 @@ CONFIG_ITG3200=m
|
||||
CONFIG_AM2315=m
|
||||
CONFIG_DHT11=m
|
||||
CONFIG_HDC100X=m
|
||||
# CONFIG_HDC2010 is not set
|
||||
CONFIG_HID_SENSOR_HUMIDITY=m
|
||||
CONFIG_HTS221=m
|
||||
CONFIG_HTS221_I2C=m
|
||||
@ -6279,6 +6343,7 @@ CONFIG_AL3010=m
|
||||
CONFIG_AL3320A=m
|
||||
CONFIG_APDS9300=m
|
||||
CONFIG_APDS9960=m
|
||||
# CONFIG_AS73211 is not set
|
||||
CONFIG_BH1750=m
|
||||
CONFIG_BH1780=m
|
||||
CONFIG_CM32181=m
|
||||
@ -6500,6 +6565,7 @@ CONFIG_RESET_SUNXI=y
|
||||
CONFIG_GENERIC_PHY=y
|
||||
CONFIG_GENERIC_PHY_MIPI_DPHY=y
|
||||
# CONFIG_PHY_XGENE is not set
|
||||
# CONFIG_USB_LGM_PHY is not set
|
||||
CONFIG_PHY_SUN4I_USB=y
|
||||
CONFIG_PHY_SUN6I_MIPI_DPHY=y
|
||||
CONFIG_PHY_SUN9I_USB=y
|
||||
@ -6529,6 +6595,7 @@ CONFIG_ARM_CCI_PMU=m
|
||||
# CONFIG_ARM_CCI400_PMU is not set
|
||||
# CONFIG_ARM_CCI5xx_PMU is not set
|
||||
# CONFIG_ARM_CCN is not set
|
||||
# CONFIG_ARM_CMN is not set
|
||||
CONFIG_ARM_PMU=y
|
||||
CONFIG_ARM_DSU_PMU=m
|
||||
CONFIG_ARM_SPE_PMU=m
|
||||
@ -6580,6 +6647,7 @@ CONFIG_FTM_QUADDEC=m
|
||||
# CONFIG_MICROCHIP_TCB_CAPTURE is not set
|
||||
CONFIG_MOST=m
|
||||
# CONFIG_MOST_USB_HDM is not set
|
||||
# CONFIG_MOST_CDEV is not set
|
||||
# end of Device Drivers
|
||||
|
||||
#
|
||||
@ -6605,6 +6673,7 @@ CONFIG_FS_MBCACHE=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_XFS_FS=m
|
||||
CONFIG_XFS_SUPPORT_V4=y
|
||||
# CONFIG_XFS_QUOTA is not set
|
||||
CONFIG_XFS_POSIX_ACL=y
|
||||
CONFIG_XFS_RT=y
|
||||
@ -6831,6 +6900,7 @@ CONFIG_NFS_FSCACHE=y
|
||||
CONFIG_NFS_USE_KERNEL_DNS=y
|
||||
CONFIG_NFS_DEBUG=y
|
||||
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
|
||||
# CONFIG_NFS_V4_2_READ_PLUS is not set
|
||||
CONFIG_NFSD=y
|
||||
CONFIG_NFSD_V2_ACL=y
|
||||
CONFIG_NFSD_V3=y
|
||||
@ -7094,6 +7164,7 @@ CONFIG_CRYPTO_DH=y
|
||||
CONFIG_CRYPTO_ECC=m
|
||||
CONFIG_CRYPTO_ECDH=m
|
||||
CONFIG_CRYPTO_ECRDSA=m
|
||||
# CONFIG_CRYPTO_SM2 is not set
|
||||
CONFIG_CRYPTO_CURVE25519=m
|
||||
|
||||
#
|
||||
@ -7192,7 +7263,7 @@ CONFIG_CRYPTO_LZO=y
|
||||
CONFIG_CRYPTO_842=m
|
||||
CONFIG_CRYPTO_LZ4=m
|
||||
CONFIG_CRYPTO_LZ4HC=m
|
||||
CONFIG_CRYPTO_ZSTD=m
|
||||
CONFIG_CRYPTO_ZSTD=y
|
||||
|
||||
#
|
||||
# Random Number Generation
|
||||
@ -7208,7 +7279,9 @@ CONFIG_CRYPTO_USER_API=m
|
||||
CONFIG_CRYPTO_USER_API_HASH=m
|
||||
CONFIG_CRYPTO_USER_API_SKCIPHER=m
|
||||
CONFIG_CRYPTO_USER_API_RNG=m
|
||||
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
|
||||
CONFIG_CRYPTO_USER_API_AEAD=m
|
||||
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
|
||||
# CONFIG_CRYPTO_STATS is not set
|
||||
CONFIG_CRYPTO_HASH_INFO=y
|
||||
|
||||
@ -7237,8 +7310,13 @@ CONFIG_CRYPTO_DEV_SUN4I_SS=m
|
||||
# CONFIG_CRYPTO_DEV_SUN4I_SS_PRNG is not set
|
||||
CONFIG_CRYPTO_DEV_SUN8I_CE=m
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_DEBUG is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_HASH is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_PRNG is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_CE_TRNG is not set
|
||||
CONFIG_CRYPTO_DEV_SUN8I_SS=m
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_SS_DEBUG is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG is not set
|
||||
# CONFIG_CRYPTO_DEV_SUN8I_SS_HASH is not set
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
|
||||
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
|
||||
# CONFIG_CRYPTO_DEV_CCP is not set
|
||||
@ -7367,6 +7445,7 @@ CONFIG_DMA_COHERENT_POOL=y
|
||||
CONFIG_DMA_REMAP=y
|
||||
CONFIG_DMA_DIRECT_REMAP=y
|
||||
CONFIG_DMA_CMA=y
|
||||
CONFIG_DMA_PERNUMA_CMA=y
|
||||
|
||||
#
|
||||
# Default contiguous memory area size:
|
||||
@ -7408,7 +7487,9 @@ CONFIG_FONT_6x10=y
|
||||
# CONFIG_FONT_SUN8x16 is not set
|
||||
# CONFIG_FONT_SUN12x22 is not set
|
||||
CONFIG_FONT_TER16x32=y
|
||||
# CONFIG_FONT_6x8 is not set
|
||||
CONFIG_SG_POOL=y
|
||||
CONFIG_ARCH_STACKWALK=y
|
||||
CONFIG_SBITMAP=y
|
||||
# CONFIG_STRING_SELFTEST is not set
|
||||
# end of Library routines
|
||||
@ -7567,7 +7648,6 @@ CONFIG_TEST_STRSCPY=m
|
||||
# CONFIG_TEST_KSTRTOX is not set
|
||||
# CONFIG_TEST_PRINTF is not set
|
||||
# CONFIG_TEST_BITMAP is not set
|
||||
# CONFIG_TEST_BITFIELD is not set
|
||||
# CONFIG_TEST_UUID is not set
|
||||
CONFIG_TEST_XARRAY=m
|
||||
# CONFIG_TEST_OVERFLOW is not set
|
||||
|
||||
@ -20,7 +20,7 @@ case $BRANCH in
|
||||
current)
|
||||
|
||||
KERNELSOURCE="https://github.com/megous/linux"
|
||||
KERNELBRANCH="branch:orange-pi-5.9"
|
||||
KERNELBRANCH="branch:orange-pi-5.10"
|
||||
KERNELPATCHDIR='sunxi-'$BRANCH
|
||||
|
||||
;;
|
||||
|
||||
@ -22,7 +22,7 @@ case $BRANCH in
|
||||
current)
|
||||
|
||||
KERNELSOURCE="https://github.com/megous/linux"
|
||||
KERNELBRANCH="branch:orange-pi-5.9"
|
||||
KERNELBRANCH="branch:orange-pi-5.10"
|
||||
KERNELPATCHDIR='sunxi-'$BRANCH
|
||||
|
||||
;;
|
||||
|
||||
@ -1,64 +0,0 @@
|
||||
From eca91d4d36d78c3176480742532b247fd3d72fe0 Mon Sep 17 00:00:00 2001
|
||||
From: Simon Shields <simon@lineageos.org>
|
||||
Date: Sat, 13 Jan 2018 14:17:26 +1100
|
||||
Subject: [PATCH 038/146] ARM: dts: add gpu node to exynos4
|
||||
|
||||
v2 (Qiang Yu):
|
||||
add vender string to exynos4 mali gpu
|
||||
|
||||
Based off a similar commit for the Samsung Mali driver by
|
||||
Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
|
||||
|
||||
Signed-off-by: Simon Shields <simon@lineageos.org>
|
||||
Signed-off-by: Qiang Yu <yuq825@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/exynos4.dtsi | 33 +++++++++++++++++++++++++++++++++
|
||||
1 file changed, 33 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/exynos4.dtsi b/arch/arm/boot/dts/exynos4.dtsi
|
||||
index 6085e92ac2d7..362461657136 100644
|
||||
--- a/arch/arm/boot/dts/exynos4.dtsi
|
||||
+++ b/arch/arm/boot/dts/exynos4.dtsi
|
||||
@@ -730,6 +730,39 @@
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
+ gpu: gpu@13000000 {
|
||||
+ compatible = "samsung,exynos4-mali", "arm,mali-400";
|
||||
+ reg = <0x13000000 0x30000>;
|
||||
+ power-domains = <&pd_g3d>;
|
||||
+
|
||||
+ /*
|
||||
+ * Propagate VPLL output clock to SCLK_G3D and
|
||||
+ * ensure that the DIV_G3D divider is 1.
|
||||
+ */
|
||||
+ assigned-clocks = <&clock CLK_MOUT_G3D1>, <&clock CLK_MOUT_G3D>,
|
||||
+ <&clock CLK_FOUT_VPLL>, <&clock CLK_SCLK_G3D>;
|
||||
+ assigned-clock-parents = <&clock CLK_SCLK_VPLL>,
|
||||
+ <&clock CLK_MOUT_G3D1>;
|
||||
+ assigned-clock-rates = <0>, <0>, <160000000>, <160000000>;
|
||||
+
|
||||
+ clocks = <&clock CLK_SCLK_G3D>, <&clock CLK_G3D>;
|
||||
+ clock-names = "bus", "core";
|
||||
+
|
||||
+ interrupts = <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "ppmmu0", "ppmmu1", "ppmmu2", "ppmmu3",
|
||||
+ "gpmmu", "pp0", "pp1", "pp2", "pp3", "gp";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
tmu: tmu@100c0000 {
|
||||
interrupt-parent = <&combiner>;
|
||||
reg = <0x100C0000 0x100>;
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@ -152,7 +152,7 @@ index 000000000..731c705a4
|
||||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+
|
||||
+ status = "okay";
|
||||
+};
|
||||
|
||||
13
patch/kernel/sunxi-current/board-h3-zeropi-phymode.patch
Normal file
13
patch/kernel/sunxi-current/board-h3-zeropi-phymode.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/arch/arm/boot/dts/sun8i-h3-zeropi.dts b/arch/arm/boot/dts/sun8i-h3-zeropi.dts
|
||||
index c8be3a7a1..9b14e930a 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-h3-zeropi.dts
|
||||
+++ b/arch/arm/boot/dts/sun8i-h3-zeropi.dts
|
||||
@@ -88,7 +88,7 @@ &emac {
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
|
||||
allwinner,leds-active-low;
|
||||
status = "okay";
|
||||
@ -146,7 +146,7 @@ index 000000000..b3035ddd7
|
||||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
|
||||
@ -153,7 +153,7 @@ index 00000000..cab3c73b
|
||||
+ pinctrl-0 = <&emac_rgmii_pins>;
|
||||
+ phy-supply = <®_gmac_3v3>;
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
index cc268a697..c839b4c0b 100644
|
||||
index ea417eb01..fcf5a1a04 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-nanopi-neo2.dts
|
||||
@@ -64,12 +64,13 @@
|
||||
@@ -26,12 +26,13 @@ leds {
|
||||
pwr {
|
||||
label = "nanopi:green:pwr";
|
||||
gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>;
|
||||
@ -17,7 +17,7 @@ index cc268a697..c839b4c0b 100644
|
||||
};
|
||||
};
|
||||
|
||||
@@ -90,6 +91,21 @@
|
||||
@@ -52,6 +53,22 @@ reg_vcc3v3: vcc3v3 {
|
||||
regulator-max-microvolt = <3300000>;
|
||||
};
|
||||
|
||||
@ -36,10 +36,11 @@ index cc268a697..c839b4c0b 100644
|
||||
+ states = <1100000 0x0
|
||||
+ 1100000 0x1>;
|
||||
+ };
|
||||
+
|
||||
reg_usb0_vbus: usb0-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb0-vbus";
|
||||
@@ -101,6 +117,10 @@
|
||||
@@ -63,6 +80,10 @@ reg_usb0_vbus: usb0-vbus {
|
||||
};
|
||||
};
|
||||
|
||||
@ -50,3 +51,12 @@ index cc268a697..c839b4c0b 100644
|
||||
&ehci0 {
|
||||
status = "okay";
|
||||
};
|
||||
@@ -76,7 +97,7 @@ &emac {
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
index ef5ca6444..17ca885b4 100644
|
||||
index ef5ca6444..a3359924f 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h5-orangepi-zero-plus.dts
|
||||
@@ -4,6 +4,7 @@
|
||||
@ -53,3 +53,12 @@ index ef5ca6444..17ca885b4 100644
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
@@ -69,7 +92,7 @@ &emac {
|
||||
pinctrl-0 = <&emac_rgmii_pins>;
|
||||
phy-supply = <®_gmac_3v3>;
|
||||
phy-handle = <&ext_rgmii_phy>;
|
||||
- phy-mode = "rgmii";
|
||||
+ phy-mode = "rgmii-id";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
||||
@ -1,594 +0,0 @@
|
||||
From 423a3b5419f573f8a27cedb9767c7a1dbc5ca9eb Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Fri, 18 Jan 2019 20:46:40 +0800
|
||||
Subject: [PATCH 1/7] ARM: dts: sun8i: V3/V3s/S3/S3L: add Ethernet support
|
||||
|
||||
The Allwinner V3/V3s/S3L/SoChip S3 Ethernet MAC and internal PHY is quite
|
||||
similar to the ones on Allwinner H3, except for V3s the external MII is
|
||||
not wired out.
|
||||
|
||||
Add ethernet support to V3/V3s/S3/S3L.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-v3.dtsi | 13 ++++++++
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 52 ++++++++++++++++++++++++++++++++
|
||||
2 files changed, 65 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3.dtsi b/arch/arm/boot/dts/sun8i-v3.dtsi
|
||||
index 6ae8645ade50..ca4672ed2e02 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3.dtsi
|
||||
@@ -9,6 +9,19 @@ &ccu {
|
||||
compatible = "allwinner,sun8i-v3-ccu";
|
||||
};
|
||||
|
||||
+&emac {
|
||||
+ /delete-property/ phy-handle;
|
||||
+ /delete-property/ phy-mode;
|
||||
+};
|
||||
+
|
||||
+&mdio_mux {
|
||||
+ external_mdio: mdio@2 {
|
||||
+ reg = <2>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
&pio {
|
||||
compatible = "allwinner,sun8i-v3-pinctrl";
|
||||
};
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index 6eb9c39aa93f..7d40897dab09 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -138,6 +138,15 @@ mixer0_out_tcon0: endpoint {
|
||||
};
|
||||
};
|
||||
|
||||
+ syscon: system-control@1c00000 {
|
||||
+ compatible = "allwinner,sun8i-v3s-system-control",
|
||||
+ "allwinner,sun8i-h3-system-control";
|
||||
+ reg = <0x01c00000 0x1000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges;
|
||||
+ };
|
||||
+
|
||||
tcon0: lcd-controller@1c0c000 {
|
||||
compatible = "allwinner,sun8i-v3s-tcon";
|
||||
reg = <0x01c0c000 0x1000>;
|
||||
@@ -415,6 +424,49 @@ i2c1: i2c@1c2b000 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
+ emac: ethernet@1c30000 {
|
||||
+ compatible = "allwinner,sun8i-v3s-emac";
|
||||
+ syscon = <&syscon>;
|
||||
+ reg = <0x01c30000 0x10000>;
|
||||
+ interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "macirq";
|
||||
+ resets = <&ccu RST_BUS_EMAC>;
|
||||
+ reset-names = "stmmaceth";
|
||||
+ clocks = <&ccu CLK_BUS_EMAC>;
|
||||
+ clock-names = "stmmaceth";
|
||||
+ phy-handle = <&int_mii_phy>;
|
||||
+ phy-mode = "mii";
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ mdio: mdio {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ compatible = "snps,dwmac-mdio";
|
||||
+ };
|
||||
+
|
||||
+ mdio_mux: mdio-mux {
|
||||
+ compatible = "allwinner,sun8i-h3-mdio-mux";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ mdio-parent-bus = <&mdio>;
|
||||
+ /* Only one MDIO is usable at the time */
|
||||
+ internal_mdio: mdio@1 {
|
||||
+ compatible = "allwinner,sun8i-h3-mdio-internal";
|
||||
+ reg = <1>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ int_mii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+ clocks = <&ccu CLK_BUS_EPHY>;
|
||||
+ resets = <&ccu RST_BUS_EPHY>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
spi0: spi@1c68000 {
|
||||
compatible = "allwinner,sun8i-h3-spi";
|
||||
reg = <0x01c68000 0x1000>;
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 9df0135e2d7acc8797583de05a9879233a892557 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Fri, 18 Jan 2019 20:08:35 +0800
|
||||
Subject: [PATCH 2/7] ARM: dts: sun8i: V3/V3s/S3/S3L: add pinctrl for UART2
|
||||
RX/TX
|
||||
|
||||
The UART2 RX/TX pins on Allwinner V3 series is at PB0/1, which is used
|
||||
as debugging UART on some boards.
|
||||
|
||||
Add pinctrl node for them.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index 7d40897dab09..4cfdf193cf88 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -322,6 +322,11 @@ uart0_pb_pins: uart0-pb-pins {
|
||||
function = "uart0";
|
||||
};
|
||||
|
||||
+ uart2_pins: uart2-pins {
|
||||
+ pins = "PB0", "PB1";
|
||||
+ function = "uart2";
|
||||
+ };
|
||||
+
|
||||
mmc0_pins: mmc0-pins {
|
||||
pins = "PF0", "PF1", "PF2", "PF3",
|
||||
"PF4", "PF5";
|
||||
@@ -397,6 +402,8 @@ uart2: serial@1c28800 {
|
||||
reg-io-width = <4>;
|
||||
clocks = <&ccu CLK_BUS_UART2>;
|
||||
resets = <&ccu RST_BUS_UART2>;
|
||||
+ pinctrl-0 = <&uart2_pins>;
|
||||
+ pinctrl-names = "default";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 1267d38cfc295c8222d60f53e05e61f594a2309a Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Wed, 21 Aug 2019 11:01:58 +0800
|
||||
Subject: [PATCH 3/7] ARM: dts: sun8i: V3/V3s/S3/S3L: add CSI1 device node
|
||||
|
||||
The CSI1 controller of V3/V3s/S3/S3L chips is used for parallel CSI.
|
||||
|
||||
Add the device tree node of it.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index 4cfdf193cf88..3e079973672d 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -488,6 +488,18 @@ spi0: spi@1c68000 {
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
+ csi1: camera@1cb4000 {
|
||||
+ compatible = "allwinner,sun8i-v3s-csi";
|
||||
+ reg = <0x01cb4000 0x3000>;
|
||||
+ interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_CSI>,
|
||||
+ <&ccu CLK_CSI1_SCLK>,
|
||||
+ <&ccu CLK_DRAM_CSI>;
|
||||
+ clock-names = "bus", "mod", "ram";
|
||||
+ resets = <&ccu RST_BUS_CSI>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
gic: interrupt-controller@1c81000 {
|
||||
compatible = "arm,gic-400";
|
||||
reg = <0x01c81000 0x1000>,
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 6e7f7ff8369e7b514906fcb2c04990bd91b2152e Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Wed, 21 Aug 2019 11:02:46 +0800
|
||||
Subject: [PATCH 4/7] ARM: dts: sun8i: V3/V3s/S3/S3L: add pinctrl for 8-bit
|
||||
parallel CSI
|
||||
|
||||
The CSI1 controller of V3/V3s/S3/S3L SoCs is used for parallel CSI.
|
||||
|
||||
As we're going to add support for Pine64 SCC board, which uses 8-bit
|
||||
parallel CSI (and the MCLK output), add the pinctrl node of 8-bit
|
||||
CSI and MCLK to the DTSI file.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index 3e079973672d..19fba1a9115b 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -312,6 +312,20 @@ pio: pinctrl@1c20800 {
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
|
||||
+ /omit-if-no-ref/
|
||||
+ csi1_8bit_pins: csi1-8bit-pins {
|
||||
+ pins = "PE0", "PE2", "PE3", "PE8", "PE9",
|
||||
+ "PE10", "PE11", "PE12", "PE13", "PE14",
|
||||
+ "PE15";
|
||||
+ function = "csi";
|
||||
+ };
|
||||
+
|
||||
+ /omit-if-no-ref/
|
||||
+ csi1_mclk_pin: csi1-mclk-pin {
|
||||
+ pins = "PE1";
|
||||
+ function = "csi";
|
||||
+ };
|
||||
+
|
||||
i2c0_pins: i2c0-pins {
|
||||
pins = "PB6", "PB7";
|
||||
function = "i2c0";
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 3856f5d0e56af789ef891cfce53ca13cd695fdb6 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Wed, 23 Sep 2020 03:01:26 +0800
|
||||
Subject: [PATCH 5/7] ARM: dts: sun8i: V3/V3s/S3/S3L: add pinctrl for I2C1 at
|
||||
PE bank
|
||||
|
||||
I2C1 controller is available at PE bank, usually used for
|
||||
connecting an I2C-controlled camera sensor.
|
||||
|
||||
Add pinctrl node for it.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/sun8i-v3s.dtsi | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/sun8i-v3s.dtsi b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
index 19fba1a9115b..bae8fa9e356a 100644
|
||||
--- a/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
+++ b/arch/arm/boot/dts/sun8i-v3s.dtsi
|
||||
@@ -331,6 +331,12 @@ i2c0_pins: i2c0-pins {
|
||||
function = "i2c0";
|
||||
};
|
||||
|
||||
+ /omit-if-no-ref/
|
||||
+ i2c1_pe_pins: i2c1-pe-pins {
|
||||
+ pins = "PE21", "PE22";
|
||||
+ function = "i2c1";
|
||||
+ };
|
||||
+
|
||||
uart0_pb_pins: uart0-pb-pins {
|
||||
pins = "PB8", "PB9";
|
||||
function = "uart0";
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 32902be6608b71e466cc24914b8c808f4db0f5a6 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Wed, 23 Sep 2020 08:44:29 +0800
|
||||
Subject: [PATCH 6/7] dt-bindings: arm: sunxi: add Pine64 PineCube binding
|
||||
|
||||
Document board compatible names for Pine64 PineCube IP camera.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
Documentation/devicetree/bindings/arm/sunxi.yaml | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
index 5957a22c2e95..584b3fbf6e08 100644
|
||||
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
|
||||
@@ -631,6 +631,11 @@ properties:
|
||||
- const: pine64,pine64-plus
|
||||
- const: allwinner,sun50i-a64
|
||||
|
||||
+ - description: Pine64 PineCube
|
||||
+ items:
|
||||
+ - const: pine64,pinecube
|
||||
+ - const: allwinner,sun8i-v3
|
||||
+
|
||||
- description: Pine64 PineH64 model A
|
||||
items:
|
||||
- const: pine64,pine-h64
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From c7fe26176bde4cc07dc07ac02c799d23026f4752 Mon Sep 17 00:00:00 2001
|
||||
From: Icenowy Zheng <icenowy@aosc.io>
|
||||
Date: Fri, 18 Jan 2019 21:21:48 +0800
|
||||
Subject: [PATCH 7/7] ARM: dts: sun8i: s3l: add support for Pine64 PineCube IP
|
||||
camera
|
||||
|
||||
The Pine64 PineCube IP camera is an IP camera with SoChip S3 SoC.
|
||||
|
||||
It comes with a main board, an expansion board and a camera.
|
||||
|
||||
The main board features a Micro-USB power-only jack, a USB Type-A port,
|
||||
an Ethernet port connected to the internal PHY of the SoC and a Realtek
|
||||
RTL8189ES SDIO Wi-Fi module. A RGB LCD connector is reserved on the
|
||||
board.
|
||||
|
||||
The expansion board features a TF slot, a microphone, a speaker
|
||||
connector with on-board amplifier and a few IR LEDs.
|
||||
|
||||
Add support for the kit, with features on the main board and the
|
||||
expansion board now.
|
||||
|
||||
Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
|
||||
---
|
||||
arch/arm/boot/dts/Makefile | 1 +
|
||||
arch/arm/boot/dts/sun8i-s3-pinecube.dts | 235 ++++++++++++++++++++++++
|
||||
2 files changed, 236 insertions(+)
|
||||
create mode 100644 arch/arm/boot/dts/sun8i-s3-pinecube.dts
|
||||
|
||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
||||
index e7c59d0c8598..b163c8f1cefc 100644
|
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -1198,6 +1198,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-r16-parrot.dtb \
|
||||
sun8i-r40-bananapi-m2-ultra.dtb \
|
||||
sun8i-s3-lichee-zero-plus.dtb \
|
||||
+ sun8i-s3-pinecube.dtb \
|
||||
sun8i-t3-cqa3t-bv3.dtb \
|
||||
sun8i-v3s-licheepi-zero.dtb \
|
||||
sun8i-v3s-licheepi-zero-dock.dtb \
|
||||
diff --git a/arch/arm/boot/dts/sun8i-s3-pinecube.dts b/arch/arm/boot/dts/sun8i-s3-pinecube.dts
|
||||
new file mode 100644
|
||||
index 000000000000..9bab6b7f4014
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/boot/dts/sun8i-s3-pinecube.dts
|
||||
@@ -0,0 +1,235 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR X11)
|
||||
+/*
|
||||
+ * Copyright 2019 Icenowy Zheng <icenowy@aosc.io>
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+#include "sun8i-v3.dtsi"
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/input/input.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "PineCube IP Camera";
|
||||
+ compatible = "pine64,pinecube", "allwinner,sun8i-s3";
|
||||
+
|
||||
+ aliases {
|
||||
+ serial0 = &uart2;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ led1 {
|
||||
+ label = "pine64:ir:led1";
|
||||
+ gpios = <&pio 1 10 GPIO_ACTIVE_LOW>; /* PB10 */
|
||||
+ };
|
||||
+
|
||||
+ led2 {
|
||||
+ label = "pine64:ir:led2";
|
||||
+ gpios = <&pio 1 12 GPIO_ACTIVE_LOW>; /* PB12 */
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc5v0: vcc5v0 {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc5v0";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc_wifi: vcc-wifi {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-wifi";
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ gpio = <&pio 1 2 GPIO_ACTIVE_LOW>; /* PB2 WIFI-EN */
|
||||
+ vin-supply = <®_dcdc3>;
|
||||
+ startup-delay-us = <200000>;
|
||||
+ };
|
||||
+
|
||||
+ wifi_pwrseq: wifi_pwrseq {
|
||||
+ compatible = "mmc-pwrseq-simple";
|
||||
+ reset-gpios = <&pio 1 3 GPIO_ACTIVE_LOW>; /* PB3 WIFI-RST */
|
||||
+ post-power-on-delay-ms = <200>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&csi1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&csi1_8bit_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ port {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ csi1_ep: endpoint {
|
||||
+ remote-endpoint = <&ov5640_ep>;
|
||||
+ bus-width = <8>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&emac {
|
||||
+ phy-handle = <&int_mii_phy>;
|
||||
+ phy-mode = "mii";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&i2c0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp209: pmic@34 {
|
||||
+ compatible = "x-powers,axp203",
|
||||
+ "x-powers,axp209";
|
||||
+ reg = <0x34>;
|
||||
+ interrupt-parent = <&gic>;
|
||||
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&i2c1 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c1_pe_pins>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ ov5640: camera@3c {
|
||||
+ compatible = "ovti,ov5640";
|
||||
+ reg = <0x3c>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&csi1_mclk_pin>;
|
||||
+ clocks = <&ccu CLK_CSI1_MCLK>;
|
||||
+ clock-names = "xclk";
|
||||
+
|
||||
+ AVDD-supply = <®_ldo3>;
|
||||
+ DOVDD-supply = <®_ldo3>;
|
||||
+ DVDD-supply = <®_ldo4>;
|
||||
+ reset-gpios = <&pio 4 23 GPIO_ACTIVE_LOW>; /* PE23 */
|
||||
+ powerdown-gpios = <&pio 4 24 GPIO_ACTIVE_HIGH>; /* PE24 */
|
||||
+
|
||||
+ port {
|
||||
+ ov5640_ep: endpoint {
|
||||
+ remote-endpoint = <&csi1_ep>;
|
||||
+ bus-width = <8>;
|
||||
+ hsync-active = <1>; /* Active high */
|
||||
+ vsync-active = <0>; /* Active low */
|
||||
+ data-active = <1>; /* Active high */
|
||||
+ pclk-sample = <1>; /* Rising */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&lradc {
|
||||
+ vref-supply = <®_ldo2>;
|
||||
+ status = "okay";
|
||||
+
|
||||
+ button-200 {
|
||||
+ label = "Setup";
|
||||
+ linux,code = <KEY_SETUP>;
|
||||
+ channel = <0>;
|
||||
+ voltage = <190000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_dcdc3>;
|
||||
+ bus-width = <4>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mmc1 {
|
||||
+ vmmc-supply = <®_vcc_wifi>;
|
||||
+ vqmmc-supply = <®_dcdc3>;
|
||||
+ mmc-pwrseq = <&wifi_pwrseq>;
|
||||
+ bus-width = <4>;
|
||||
+ non-removable;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&pio {
|
||||
+ vcc-pd-supply = <®_dcdc3>;
|
||||
+ vcc-pe-supply = <®_ldo3>;
|
||||
+};
|
||||
+
|
||||
+#include "axp209.dtsi"
|
||||
+
|
||||
+&ac_power_supply {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+®_dcdc2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1250000>;
|
||||
+ regulator-max-microvolt = <1250000>;
|
||||
+ regulator-name = "vdd-sys-cpu-ephy";
|
||||
+};
|
||||
+
|
||||
+®_dcdc3 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-3v3";
|
||||
+};
|
||||
+
|
||||
+®_ldo1 {
|
||||
+ regulator-name = "vdd-rtc";
|
||||
+};
|
||||
+
|
||||
+®_ldo2 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3000000>;
|
||||
+ regulator-max-microvolt = <3000000>;
|
||||
+ regulator-name = "avcc";
|
||||
+};
|
||||
+
|
||||
+®_ldo3 {
|
||||
+ regulator-min-microvolt = <2800000>;
|
||||
+ regulator-max-microvolt = <2800000>;
|
||||
+ regulator-name = "avdd-dovdd-2v8-csi";
|
||||
+ regulator-soft-start;
|
||||
+ regulator-ramp-delay = <1600>;
|
||||
+};
|
||||
+
|
||||
+®_ldo4 {
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "dvdd-1v8-csi";
|
||||
+};
|
||||
+
|
||||
+&spi0 {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ flash@0 {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ compatible = "winbond,w25q128", "jedec,spi-nor";
|
||||
+ reg = <0>;
|
||||
+ spi-max-frequency = <40000000>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart2 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usb_otg {
|
||||
+ dr_mode = "host";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ usb0_vbus-supply = <®_vcc5v0>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
--
|
||||
2.28.0
|
||||
|
||||
@ -1,43 +0,0 @@
|
||||
vfp: force non-conditional encoding for external Thumb2
|
||||
|
||||
Nick reports that the following error is produced in some cases when
|
||||
using GCC+ld.bfd to build the ARM defconfig with Thumb2 enabled:
|
||||
|
||||
arch/arm/vfp/vfphw.o: in function `vfp_support_entry':
|
||||
(.text+0xa): relocation truncated to fit: R_ARM_THM_JUMP19 against
|
||||
symbol `vfp_kmode_exception' defined in .text.unlikely section in
|
||||
arch/arm/vfp/vfpmodule.o
|
||||
|
||||
$ arm-linux-gnueabihf-ld --version
|
||||
GNU ld (GNU Binutils for Debian) 2.34
|
||||
|
||||
Generally, the linker should be able to fix up out of range branches by
|
||||
emitting veneers, but apparently, it fails to do so in this particular
|
||||
case, i.e., a conditional 'tail call' to vfp_kmode_exception(), which
|
||||
is not defined in the same object file.
|
||||
|
||||
So let's force the use of a non-conditional encoding of the B instruction,
|
||||
which has more space for an immediate offset. To compensate for the
|
||||
additional 2 byte IT opcode, switch the preceding TEQ to CMP, which can
|
||||
be emitted in 2 bytes instead of 4 bytes as well.
|
||||
|
||||
Fixes: eff8728fe698 ("vmlinux.lds.h: Add PGO and AutoFDO input sections")
|
||||
Reported-by: Nick Desaulniers <(address hidden)>
|
||||
Tested-by: Nick Desaulniers <(address hidden)>
|
||||
Signed-off-by: Ard Biesheuvel <(address hidden)>
|
||||
---
|
||||
|
||||
diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S
|
||||
index 4fcff9f59947..06ff091c0932 100644
|
||||
--- a/arch/arm/vfp/vfphw.S
|
||||
+++ b/arch/arm/vfp/vfphw.S
|
||||
@@ -81,7 +81,8 @@ ENTRY(vfp_support_entry)
|
||||
.fpu vfpv2
|
||||
ldr r3, [sp, #S_PSR] @ Neither lazy restore nor FP exceptions
|
||||
and r3, r3, #MODE_MASK @ are supported in kernel mode
|
||||
- teq r3, #USR_MODE
|
||||
+ cmp r3, #USR_MODE
|
||||
+THUMB( it ne )
|
||||
bne vfp_kmode_exception @ Returns through lr
|
||||
|
||||
VFPFMRX r1, FPEXC @ Is the VFP enabled?
|
||||
@ -0,0 +1,36 @@
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c
|
||||
index f2497d0a4683..d0565d378ea2 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-h6.c
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6.c
|
||||
@@ -237,7 +237,7 @@ static const char * const psi_ahb1_ahb2_parents[] = { "osc24M", "osc32k",
|
||||
static SUNXI_CCU_MP_WITH_MUX(psi_ahb1_ahb2_clk, "psi-ahb1-ahb2",
|
||||
psi_ahb1_ahb2_parents,
|
||||
0x510,
|
||||
- 0, 5, /* M */
|
||||
+ 0, 2, /* M */
|
||||
8, 2, /* P */
|
||||
24, 2, /* mux */
|
||||
0);
|
||||
@@ -246,19 +246,19 @@ static const char * const ahb3_apb1_apb2_parents[] = { "osc24M", "osc32k",
|
||||
"psi-ahb1-ahb2",
|
||||
"pll-periph0" };
|
||||
static SUNXI_CCU_MP_WITH_MUX(ahb3_clk, "ahb3", ahb3_apb1_apb2_parents, 0x51c,
|
||||
- 0, 5, /* M */
|
||||
+ 0, 2, /* M */
|
||||
8, 2, /* P */
|
||||
24, 2, /* mux */
|
||||
0);
|
||||
|
||||
static SUNXI_CCU_MP_WITH_MUX(apb1_clk, "apb1", ahb3_apb1_apb2_parents, 0x520,
|
||||
- 0, 5, /* M */
|
||||
+ 0, 2, /* M */
|
||||
8, 2, /* P */
|
||||
24, 2, /* mux */
|
||||
0);
|
||||
|
||||
static SUNXI_CCU_MP_WITH_MUX(apb2_clk, "apb2", ahb3_apb1_apb2_parents, 0x524,
|
||||
- 0, 5, /* M */
|
||||
+ 0, 2, /* M */
|
||||
8, 2, /* P */
|
||||
24, 2, /* mux */
|
||||
0);
|
||||
@ -0,0 +1,580 @@
|
||||
diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig
|
||||
index 593293584ecc..73e88ce71a48 100644
|
||||
--- a/drivers/pinctrl/sunxi/Kconfig
|
||||
+++ b/drivers/pinctrl/sunxi/Kconfig
|
||||
@@ -119,4 +119,9 @@ config PINCTRL_SUN50I_H6_R
|
||||
default ARM64 && ARCH_SUNXI
|
||||
select PINCTRL_SUNXI
|
||||
|
||||
+config PINCTRL_SUN50I_H616
|
||||
+ bool "Support for the Allwinner H616 PIO"
|
||||
+ default ARM64 && ARCH_SUNXI
|
||||
+ select PINCTRL_SUNXI
|
||||
+
|
||||
endif
|
||||
diff --git a/drivers/pinctrl/sunxi/Makefile b/drivers/pinctrl/sunxi/Makefile
|
||||
index 8b7ff0dc3bdf..5359327a3c8f 100644
|
||||
--- a/drivers/pinctrl/sunxi/Makefile
|
||||
+++ b/drivers/pinctrl/sunxi/Makefile
|
||||
@@ -23,5 +23,6 @@ obj-$(CONFIG_PINCTRL_SUN8I_V3S) += pinctrl-sun8i-v3s.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H5) += pinctrl-sun50i-h5.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H6) += pinctrl-sun50i-h6.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H6_R) += pinctrl-sun50i-h6-r.o
|
||||
+obj-$(CONFIG_PINCTRL_SUN50I_H616) += pinctrl-sun50i-h616.o
|
||||
obj-$(CONFIG_PINCTRL_SUN9I_A80) += pinctrl-sun9i-a80.o
|
||||
obj-$(CONFIG_PINCTRL_SUN9I_A80_R) += pinctrl-sun9i-a80-r.o
|
||||
diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-h616.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616.c
|
||||
new file mode 100644
|
||||
index 000000000000..734f63eb08dd
|
||||
--- /dev/null
|
||||
+++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616.c
|
||||
@@ -0,0 +1,549 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/*
|
||||
+ * Allwinner H616 SoC pinctrl driver.
|
||||
+ *
|
||||
+ * Copyright (C) 2020 Arm Ltd.
|
||||
+ * based on the H6 pinctrl driver
|
||||
+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
+ */
|
||||
+
|
||||
+#include <linux/module.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/of.h>
|
||||
+#include <linux/of_device.h>
|
||||
+#include <linux/pinctrl/pinctrl.h>
|
||||
+
|
||||
+#include "pinctrl-sunxi.h"
|
||||
+
|
||||
+static const struct sunxi_desc_pin h616_pins[] = {
|
||||
+ /* Internal connection to the AC200 part */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 0),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ERXD1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 1),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ERXD0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 2),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ECRS_DV */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 3),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ERXERR */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 4),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ETXD1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 5),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ETXD0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 6),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ETXCK */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 7),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* ETXEN */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 8),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* EMDC */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 9),
|
||||
+ SUNXI_FUNCTION(0x2, "emac1")), /* EMDIO */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 10),
|
||||
+ SUNXI_FUNCTION(0x2, "i2c3")), /* SCK */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 11),
|
||||
+ SUNXI_FUNCTION(0x2, "i2c3")), /* SDA */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 12),
|
||||
+ SUNXI_FUNCTION(0x2, "pwm5")),
|
||||
+ /* Hole */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* WE */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* DS */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* CLK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 0)), /* PC_EINT0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* ALE */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* RST */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 1)), /* PC_EINT1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 2),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* CLE */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* MOSI */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 2)), /* PC_EINT2 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 3),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* CE1 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* CS0 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 3)), /* PC_EINT3 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 4),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* CE0 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* MISO */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 4)), /* PC_EINT4 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 5),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* RE */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* CLK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 5)), /* PC_EINT5 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 6),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* RB0 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* CMD */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 6)), /* PC_EINT6 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 7),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* RB1 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* CS1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 7)), /* PC_EINT7 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 8),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ7 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D3 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 8)), /* PC_EINT8 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 9),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ6 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D4 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 9)), /* PC_EINT9 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 10),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ5 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D0 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 10)), /* PC_EINT10 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 11),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ4 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D5 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 11)), /* PC_EINT11 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 12),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQS */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 12)), /* PC_EINT12 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 13),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ3 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 13)), /* PC_EINT13 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 14),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ2 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D6 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 14)), /* PC_EINT14 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 15),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ1 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D2 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* WP */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 15)), /* PC_EINT15 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 16),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "nand0"), /* DQ0 */
|
||||
+ SUNXI_FUNCTION(0x3, "mmc2"), /* D7 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi0"), /* HOLD */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 16)), /* PC_EINT16 */
|
||||
+ /* Hole */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* D1 */
|
||||
+ SUNXI_FUNCTION(0x3, "jtag"), /* MS */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 0)), /* PF_EINT0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* D0 */
|
||||
+ SUNXI_FUNCTION(0x3, "jtag"), /* DI */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 1)), /* PF_EINT1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 2),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* CLK */
|
||||
+ SUNXI_FUNCTION(0x3, "uart0"), /* TX */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 2)), /* PF_EINT2 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 3),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* CMD */
|
||||
+ SUNXI_FUNCTION(0x3, "jtag"), /* DO */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 3)), /* PF_EINT3 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 4),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* D3 */
|
||||
+ SUNXI_FUNCTION(0x3, "uart0"), /* RX */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 4)), /* PF_EINT4 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 5),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc0"), /* D2 */
|
||||
+ SUNXI_FUNCTION(0x3, "jtag"), /* CK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 5)), /* PF_EINT5 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 6),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 6)), /* PF_EINT6 */
|
||||
+ /* Hole */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* CLK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 0)), /* PG_EINT0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* CMD */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 1)), /* PG_EINT1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 2),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* D0 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 2)), /* PG_EINT2 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 3),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* D1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 3)), /* PG_EINT3 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 4),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* D2 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 4)), /* PG_EINT4 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 5),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "mmc1"), /* D3 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 5)), /* PG_EINT5 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 6),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart1"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x4, "jtag"), /* MS */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 6)), /* PG_EINT6 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 7),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart1"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "jtag"), /* CK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 7)), /* PG_EINT7 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 8),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart1"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x3, "clock"), /* PLL_LOCK_DEBUG */
|
||||
+ SUNXI_FUNCTION(0x4, "jtag"), /* DO */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 8)), /* PG_EINT8 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 9),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart1"), /* CTS */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 9)), /* PG_EINT9 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 10),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "h_i2s2"), /* MCLK */
|
||||
+ SUNXI_FUNCTION(0x3, "clock"), /* X32KFOUT */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 10)), /* PG_EINT10 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 11),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "h_i2s2"), /* BCLK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 11)), /* PG_EINT11 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 12),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "h_i2s2"), /* SYNC */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 12)), /* PG_EINT12 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 13),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "h_i2s2"), /* DOUT */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 13)), /* PG_EINT13 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 14),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "h_i2s2"), /* DIN */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 14)), /* PG_EINT14 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 15),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c4"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 15)), /* PG_EINT15 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 16),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c4"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 16)), /* PG_EINT16 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 17),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c3"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 17)), /* PG_EINT17 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 18),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* CTS */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c3"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 18)), /* PG_EINT18 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(G, 19),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x4, "pwm1"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 19)), /* PG_EINT19 */
|
||||
+ /* Hole */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart0"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x4, "pwm3"),
|
||||
+ SUNXI_FUNCTION(0x5, "i2c1"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 0)), /* PH_EINT0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart0"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "pwm4"),
|
||||
+ SUNXI_FUNCTION(0x5, "i2c1"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 1)), /* PH_EINT1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 2),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart5"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x3, "spdif"), /* MCLK */
|
||||
+ SUNXI_FUNCTION(0x4, "pwm2"),
|
||||
+ SUNXI_FUNCTION(0x5, "i2c2"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 2)), /* PH_EINT2 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 3),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart5"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "pwm1"),
|
||||
+ SUNXI_FUNCTION(0x5, "i2c2"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 3)), /* PH_EINT3 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 4),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x3, "spdif"), /* OUT */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c3"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 4)), /* PH_EINT4 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 5),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* MCLK */
|
||||
+ SUNXI_FUNCTION(0x4, "spi1"), /* CS0 */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c3"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 5)), /* PH_EINT5 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 6),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* BCLK */
|
||||
+ SUNXI_FUNCTION(0x4, "spi1"), /* CLK */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c4"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 6)), /* PH_EINT6 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 7),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* SYNC */
|
||||
+ SUNXI_FUNCTION(0x4, "spi1"), /* MOSI */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c4"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 7)), /* PH_EINT7 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 8),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "uart2"), /* CTS */
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* DO0 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi1"), /* MISO */
|
||||
+ SUNXI_FUNCTION(0x5, "h_i2s3"), /* DI1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 8)), /* PH_EINT8 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 9),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* DI0 */
|
||||
+ SUNXI_FUNCTION(0x4, "spi1"), /* CS1 */
|
||||
+ SUNXI_FUNCTION(0x3, "h_i2s3"), /* DO1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 9)), /* PH_EINT9 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(H, 10),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x3, "ir_rx"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 3, 10)), /* PH_EINT10 */
|
||||
+ /* Hole */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXD3 */
|
||||
+ SUNXI_FUNCTION(0x3, "dmic"), /* CLK */
|
||||
+ SUNXI_FUNCTION(0x4, "h_i2s0"), /* MCLK */
|
||||
+ SUNXI_FUNCTION(0x5, "hdmi"), /* HSCL */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 0)), /* PI_EINT0 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXD2 */
|
||||
+ SUNXI_FUNCTION(0x3, "dmic"), /* DATA0 */
|
||||
+ SUNXI_FUNCTION(0x4, "h_i2s0"), /* BCLK */
|
||||
+ SUNXI_FUNCTION(0x5, "hdmi"), /* HSDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 1)), /* PI_EINT1 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 2),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXD1 */
|
||||
+ SUNXI_FUNCTION(0x3, "dmic"), /* DATA1 */
|
||||
+ SUNXI_FUNCTION(0x4, "h_i2s0"), /* SYNC */
|
||||
+ SUNXI_FUNCTION(0x5, "hdmi"), /* HCEC */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 2)), /* PI_EINT2 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 3),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXD0 */
|
||||
+ SUNXI_FUNCTION(0x3, "dmic"), /* DATA2 */
|
||||
+ SUNXI_FUNCTION(0x4, "h_i2s0"), /* DO0 */
|
||||
+ SUNXI_FUNCTION(0x5, "h_i2s0"), /* DI1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 3)), /* PI_EINT3 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 4),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXCK */
|
||||
+ SUNXI_FUNCTION(0x3, "dmic"), /* DATA3 */
|
||||
+ SUNXI_FUNCTION(0x4, "h_i2s0"), /* DI0 */
|
||||
+ SUNXI_FUNCTION(0x5, "h_i2s0"), /* DO1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 4)), /* PI_EINT4 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 5),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ERXCTL */
|
||||
+ SUNXI_FUNCTION(0x3, "uart2"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* CLK */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c0"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 5)), /* PI_EINT5 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 6),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ENULL */
|
||||
+ SUNXI_FUNCTION(0x3, "uart2"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* ERR */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c0"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 6)), /* PI_EINT6 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 7),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXD3 */
|
||||
+ SUNXI_FUNCTION(0x3, "uart2"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* SYNC */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c1"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 7)), /* PI_EINT7 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 8),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXD2 */
|
||||
+ SUNXI_FUNCTION(0x3, "uart2"), /* CTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* DVLD */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c1"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 8)), /* PI_EINT8 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 9),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXD1 */
|
||||
+ SUNXI_FUNCTION(0x3, "uart3"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D0 */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c2"), /* SCK */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 9)), /* PI_EINT9 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 10),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXD0 */
|
||||
+ SUNXI_FUNCTION(0x3, "uart3"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D1 */
|
||||
+ SUNXI_FUNCTION(0x5, "i2c2"), /* SDA */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 10)), /* PI_EINT10 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 11),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXCK */
|
||||
+ SUNXI_FUNCTION(0x3, "uart3"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D2 */
|
||||
+ SUNXI_FUNCTION(0x5, "pwm1"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 11)), /* PI_EINT11 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 12),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ETXCTL */
|
||||
+ SUNXI_FUNCTION(0x3, "uart3"), /* CTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D3 */
|
||||
+ SUNXI_FUNCTION(0x5, "pwm2"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 12)), /* PI_EINT12 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 13),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* ECLKIN */
|
||||
+ SUNXI_FUNCTION(0x3, "uart4"), /* TX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D4 */
|
||||
+ SUNXI_FUNCTION(0x5, "pwm3"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 13)), /* PI_EINT13 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 14),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* MDC */
|
||||
+ SUNXI_FUNCTION(0x3, "uart4"), /* RX */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D5 */
|
||||
+ SUNXI_FUNCTION(0x5, "pwm4"),
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 14)), /* PI_EINT14 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 15),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* MDIO */
|
||||
+ SUNXI_FUNCTION(0x3, "uart4"), /* RTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D6 */
|
||||
+ SUNXI_FUNCTION(0x5, "clock"), /* CLK_FANOUT0 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 15)), /* PI_EINT15 */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(I, 16),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x2, "emac0"), /* EPHY_CLK */
|
||||
+ SUNXI_FUNCTION(0x3, "uart4"), /* CTS */
|
||||
+ SUNXI_FUNCTION(0x4, "ts0"), /* D7 */
|
||||
+ SUNXI_FUNCTION(0x5, "clock"), /* CLK_FANOUT1 */
|
||||
+ SUNXI_FUNCTION_IRQ_BANK(0x6, 4, 16)), /* PI_EINT16 */
|
||||
+};
|
||||
+static const unsigned int h616_irq_bank_map[] = { 2, 5, 6, 7, 8 };
|
||||
+
|
||||
+static const struct sunxi_pinctrl_desc h616_pinctrl_data = {
|
||||
+ .pins = h616_pins,
|
||||
+ .npins = ARRAY_SIZE(h616_pins),
|
||||
+ .irq_banks = 5,
|
||||
+ .irq_bank_map = h616_irq_bank_map,
|
||||
+ .irq_read_needs_mux = true,
|
||||
+ .io_bias_cfg_variant = BIAS_VOLTAGE_PIO_POW_MODE_SEL,
|
||||
+};
|
||||
+
|
||||
+static int h616_pinctrl_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ return sunxi_pinctrl_init(pdev,
|
||||
+ &h616_pinctrl_data);
|
||||
+}
|
||||
+
|
||||
+static const struct of_device_id h616_pinctrl_match[] = {
|
||||
+ { .compatible = "allwinner,sun50i-h616-pinctrl", },
|
||||
+ {}
|
||||
+};
|
||||
+
|
||||
+static struct platform_driver h616_pinctrl_driver = {
|
||||
+ .probe = h616_pinctrl_probe,
|
||||
+ .driver = {
|
||||
+ .name = "sun50i-h616-pinctrl",
|
||||
+ .of_match_table = h616_pinctrl_match,
|
||||
+ },
|
||||
+};
|
||||
+builtin_platform_driver(h616_pinctrl_driver);
|
||||
@ -0,0 +1,89 @@
|
||||
diff --git a/drivers/pinctrl/sunxi/Kconfig b/drivers/pinctrl/sunxi/Kconfig
|
||||
index 73e88ce71a48..33751a6a0757 100644
|
||||
--- a/drivers/pinctrl/sunxi/Kconfig
|
||||
+++ b/drivers/pinctrl/sunxi/Kconfig
|
||||
@@ -124,4 +124,9 @@ config PINCTRL_SUN50I_H616
|
||||
default ARM64 && ARCH_SUNXI
|
||||
select PINCTRL_SUNXI
|
||||
|
||||
+config PINCTRL_SUN50I_H616_R
|
||||
+ bool "Support for the Allwinner H616 R-PIO"
|
||||
+ default ARM64 && ARCH_SUNXI
|
||||
+ select PINCTRL_SUNXI
|
||||
+
|
||||
endif
|
||||
diff --git a/drivers/pinctrl/sunxi/Makefile b/drivers/pinctrl/sunxi/Makefile
|
||||
index 5359327a3c8f..d3440c42b9d6 100644
|
||||
--- a/drivers/pinctrl/sunxi/Makefile
|
||||
+++ b/drivers/pinctrl/sunxi/Makefile
|
||||
@@ -24,5 +24,6 @@ obj-$(CONFIG_PINCTRL_SUN50I_H5) += pinctrl-sun50i-h5.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H6) += pinctrl-sun50i-h6.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H6_R) += pinctrl-sun50i-h6-r.o
|
||||
obj-$(CONFIG_PINCTRL_SUN50I_H616) += pinctrl-sun50i-h616.o
|
||||
+obj-$(CONFIG_PINCTRL_SUN50I_H616_R) += pinctrl-sun50i-h616-r.o
|
||||
obj-$(CONFIG_PINCTRL_SUN9I_A80) += pinctrl-sun9i-a80.o
|
||||
obj-$(CONFIG_PINCTRL_SUN9I_A80_R) += pinctrl-sun9i-a80-r.o
|
||||
diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
|
||||
new file mode 100644
|
||||
index 000000000000..eb76c009bf24
|
||||
--- /dev/null
|
||||
+++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-h616-r.c
|
||||
@@ -0,0 +1,58 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0
|
||||
+/*
|
||||
+ * Allwinner H616 R_PIO pin controller driver
|
||||
+ *
|
||||
+ * Copyright (C) 2020 Arm Ltd.
|
||||
+ * Based on former work, which is:
|
||||
+ * Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
+ * Copyright (C) 2014 Boris Brezillon
|
||||
+ * Boris Brezillon <boris.brezillon@free-electrons.com>
|
||||
+ * Copyright (C) 2014 Maxime Ripard
|
||||
+ * Maxime Ripard <maxime.ripard@free-electrons.com>
|
||||
+ */
|
||||
+
|
||||
+#include <linux/init.h>
|
||||
+#include <linux/platform_device.h>
|
||||
+#include <linux/of.h>
|
||||
+#include <linux/of_device.h>
|
||||
+#include <linux/pinctrl/pinctrl.h>
|
||||
+#include <linux/reset.h>
|
||||
+
|
||||
+#include "pinctrl-sunxi.h"
|
||||
+
|
||||
+static const struct sunxi_desc_pin sun50i_h616_r_pins[] = {
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(L, 0),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x3, "s_i2c")), /* SCK */
|
||||
+ SUNXI_PIN(SUNXI_PINCTRL_PIN(L, 1),
|
||||
+ SUNXI_FUNCTION(0x0, "gpio_in"),
|
||||
+ SUNXI_FUNCTION(0x1, "gpio_out"),
|
||||
+ SUNXI_FUNCTION(0x3, "s_i2c")), /* SDA */
|
||||
+};
|
||||
+
|
||||
+static const struct sunxi_pinctrl_desc sun50i_h616_r_pinctrl_data = {
|
||||
+ .pins = sun50i_h616_r_pins,
|
||||
+ .npins = ARRAY_SIZE(sun50i_h616_r_pins),
|
||||
+ .pin_base = PL_BASE,
|
||||
+};
|
||||
+
|
||||
+static int sun50i_h616_r_pinctrl_probe(struct platform_device *pdev)
|
||||
+{
|
||||
+ return sunxi_pinctrl_init(pdev,
|
||||
+ &sun50i_h616_r_pinctrl_data);
|
||||
+}
|
||||
+
|
||||
+static const struct of_device_id sun50i_h616_r_pinctrl_match[] = {
|
||||
+ { .compatible = "allwinner,sun50i-h616-r-pinctrl", },
|
||||
+ {}
|
||||
+};
|
||||
+
|
||||
+static struct platform_driver sun50i_h616_r_pinctrl_driver = {
|
||||
+ .probe = sun50i_h616_r_pinctrl_probe,
|
||||
+ .driver = {
|
||||
+ .name = "sun50i-h616-r-pinctrl",
|
||||
+ .of_match_table = sun50i_h616_r_pinctrl_match,
|
||||
+ },
|
||||
+};
|
||||
+builtin_platform_driver(sun50i_h616_r_pinctrl_driver);
|
||||
@ -0,0 +1,96 @@
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c b/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
|
||||
index 50f8d1bc7046..119d1797f501 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.c
|
||||
@@ -136,6 +136,15 @@ static struct ccu_common *sun50i_h6_r_ccu_clks[] = {
|
||||
&w1_clk.common,
|
||||
};
|
||||
|
||||
+static struct ccu_common *sun50i_h616_r_ccu_clks[] = {
|
||||
+ &r_apb1_clk.common,
|
||||
+ &r_apb2_clk.common,
|
||||
+ &r_apb1_twd_clk.common,
|
||||
+ &r_apb2_i2c_clk.common,
|
||||
+ &r_apb1_ir_clk.common,
|
||||
+ &ir_clk.common,
|
||||
+};
|
||||
+
|
||||
static struct clk_hw_onecell_data sun50i_h6_r_hw_clks = {
|
||||
.hws = {
|
||||
[CLK_AR100] = &ar100_clk.common.hw,
|
||||
@@ -152,7 +161,20 @@ static struct clk_hw_onecell_data sun50i_h6_r_hw_clks = {
|
||||
[CLK_IR] = &ir_clk.common.hw,
|
||||
[CLK_W1] = &w1_clk.common.hw,
|
||||
},
|
||||
- .num = CLK_NUMBER,
|
||||
+ .num = CLK_NUMBER_H616,
|
||||
+};
|
||||
+
|
||||
+static struct clk_hw_onecell_data sun50i_h616_r_hw_clks = {
|
||||
+ .hws = {
|
||||
+ [CLK_R_AHB] = &r_ahb_clk.hw,
|
||||
+ [CLK_R_APB1] = &r_apb1_clk.common.hw,
|
||||
+ [CLK_R_APB2] = &r_apb2_clk.common.hw,
|
||||
+ [CLK_R_APB1_TWD] = &r_apb1_twd_clk.common.hw,
|
||||
+ [CLK_R_APB2_I2C] = &r_apb2_i2c_clk.common.hw,
|
||||
+ [CLK_R_APB1_IR] = &r_apb1_ir_clk.common.hw,
|
||||
+ [CLK_IR] = &ir_clk.common.hw,
|
||||
+ },
|
||||
+ .num = CLK_NUMBER_H616,
|
||||
};
|
||||
|
||||
static struct ccu_reset_map sun50i_h6_r_ccu_resets[] = {
|
||||
@@ -165,6 +187,12 @@ static struct ccu_reset_map sun50i_h6_r_ccu_resets[] = {
|
||||
[RST_R_APB1_W1] = { 0x1ec, BIT(16) },
|
||||
};
|
||||
|
||||
+static struct ccu_reset_map sun50i_h616_r_ccu_resets[] = {
|
||||
+ [RST_R_APB1_TWD] = { 0x12c, BIT(16) },
|
||||
+ [RST_R_APB2_I2C] = { 0x19c, BIT(16) },
|
||||
+ [RST_R_APB1_IR] = { 0x1cc, BIT(16) },
|
||||
+};
|
||||
+
|
||||
static const struct sunxi_ccu_desc sun50i_h6_r_ccu_desc = {
|
||||
.ccu_clks = sun50i_h6_r_ccu_clks,
|
||||
.num_ccu_clks = ARRAY_SIZE(sun50i_h6_r_ccu_clks),
|
||||
@@ -175,6 +203,16 @@ static const struct sunxi_ccu_desc sun50i_h6_r_ccu_desc = {
|
||||
.num_resets = ARRAY_SIZE(sun50i_h6_r_ccu_resets),
|
||||
};
|
||||
|
||||
+static const struct sunxi_ccu_desc sun50i_h616_r_ccu_desc = {
|
||||
+ .ccu_clks = sun50i_h616_r_ccu_clks,
|
||||
+ .num_ccu_clks = ARRAY_SIZE(sun50i_h616_r_ccu_clks),
|
||||
+
|
||||
+ .hw_clks = &sun50i_h616_r_hw_clks,
|
||||
+
|
||||
+ .resets = sun50i_h616_r_ccu_resets,
|
||||
+ .num_resets = ARRAY_SIZE(sun50i_h616_r_ccu_resets),
|
||||
+};
|
||||
+
|
||||
static void __init sunxi_r_ccu_init(struct device_node *node,
|
||||
const struct sunxi_ccu_desc *desc)
|
||||
{
|
||||
@@ -195,3 +233,10 @@ static void __init sun50i_h6_r_ccu_setup(struct device_node *node)
|
||||
}
|
||||
CLK_OF_DECLARE(sun50i_h6_r_ccu, "allwinner,sun50i-h6-r-ccu",
|
||||
sun50i_h6_r_ccu_setup);
|
||||
+
|
||||
+static void __init sun50i_h616_r_ccu_setup(struct device_node *node)
|
||||
+{
|
||||
+ sunxi_r_ccu_init(node, &sun50i_h616_r_ccu_desc);
|
||||
+}
|
||||
+CLK_OF_DECLARE(sun50i_h616_r_ccu, "allwinner,sun50i-h616-r-ccu",
|
||||
+ sun50i_h616_r_ccu_setup);
|
||||
diff --git a/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.h b/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.h
|
||||
index 782117dc0b28..128302696ca1 100644
|
||||
--- a/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.h
|
||||
+++ b/drivers/clk/sunxi-ng/ccu-sun50i-h6-r.h
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#define CLK_R_APB2 3
|
||||
|
||||
-#define CLK_NUMBER (CLK_W1 + 1)
|
||||
+#define CLK_NUMBER_H6 (CLK_W1 + 1)
|
||||
+#define CLK_NUMBER_H616 (CLK_IR + 1)
|
||||
|
||||
#endif /* _CCU_SUN50I_H6_R_H */
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,74 @@
|
||||
diff --git a/drivers/mmc/host/sunxi-mmc.c b/drivers/mmc/host/sunxi-mmc.c
|
||||
index fc62773602ec..1518b64112b7 100644
|
||||
--- a/drivers/mmc/host/sunxi-mmc.c
|
||||
+++ b/drivers/mmc/host/sunxi-mmc.c
|
||||
@@ -244,6 +244,7 @@ struct sunxi_idma_des {
|
||||
|
||||
struct sunxi_mmc_cfg {
|
||||
u32 idma_des_size_bits;
|
||||
+ u32 idma_des_shift;
|
||||
const struct sunxi_mmc_clk_delay *clk_delays;
|
||||
|
||||
/* does the IP block support autocalibration? */
|
||||
@@ -343,7 +344,7 @@ static int sunxi_mmc_init_host(struct sunxi_mmc_host *host)
|
||||
/* Enable CEATA support */
|
||||
mmc_writel(host, REG_FUNS, SDXC_CEATA_ON);
|
||||
/* Set DMA descriptor list base address */
|
||||
- mmc_writel(host, REG_DLBA, host->sg_dma);
|
||||
+ mmc_writel(host, REG_DLBA, host->sg_dma >> host->cfg->idma_des_shift);
|
||||
|
||||
rval = mmc_readl(host, REG_GCTRL);
|
||||
rval |= SDXC_INTERRUPT_ENABLE_BIT;
|
||||
@@ -373,8 +374,10 @@ static void sunxi_mmc_init_idma_des(struct sunxi_mmc_host *host,
|
||||
|
||||
next_desc += sizeof(struct sunxi_idma_des);
|
||||
pdes[i].buf_addr_ptr1 =
|
||||
- cpu_to_le32(sg_dma_address(&data->sg[i]));
|
||||
- pdes[i].buf_addr_ptr2 = cpu_to_le32((u32)next_desc);
|
||||
+ cpu_to_le32(sg_dma_address(&data->sg[i]) >>
|
||||
+ host->cfg->idma_des_shift);
|
||||
+ pdes[i].buf_addr_ptr2 = cpu_to_le32((u32)next_desc >>
|
||||
+ host->cfg->idma_des_shift);
|
||||
}
|
||||
|
||||
pdes[0].config |= cpu_to_le32(SDXC_IDMAC_DES0_FD);
|
||||
@@ -1178,6 +1181,23 @@ static const struct sunxi_mmc_cfg sun50i_a64_emmc_cfg = {
|
||||
.needs_new_timings = true,
|
||||
};
|
||||
|
||||
+static const struct sunxi_mmc_cfg sun50i_a100_cfg = {
|
||||
+ .idma_des_size_bits = 16,
|
||||
+ .idma_des_shift = 2,
|
||||
+ .clk_delays = NULL,
|
||||
+ .can_calibrate = true,
|
||||
+ .mask_data0 = true,
|
||||
+ .needs_new_timings = true,
|
||||
+};
|
||||
+
|
||||
+static const struct sunxi_mmc_cfg sun50i_a100_emmc_cfg = {
|
||||
+ .idma_des_size_bits = 13,
|
||||
+ .idma_des_shift = 2,
|
||||
+ .clk_delays = NULL,
|
||||
+ .can_calibrate = true,
|
||||
+ .needs_new_timings = true,
|
||||
+};
|
||||
+
|
||||
static const struct of_device_id sunxi_mmc_of_match[] = {
|
||||
{ .compatible = "allwinner,sun4i-a10-mmc", .data = &sun4i_a10_cfg },
|
||||
{ .compatible = "allwinner,sun5i-a13-mmc", .data = &sun5i_a13_cfg },
|
||||
@@ -1186,6 +1207,8 @@ static const struct of_device_id sunxi_mmc_of_match[] = {
|
||||
{ .compatible = "allwinner,sun9i-a80-mmc", .data = &sun9i_a80_cfg },
|
||||
{ .compatible = "allwinner,sun50i-a64-mmc", .data = &sun50i_a64_cfg },
|
||||
{ .compatible = "allwinner,sun50i-a64-emmc", .data = &sun50i_a64_emmc_cfg },
|
||||
{ .compatible = "allwinner,sun50i-h5-emmc", .data = &sun50i_h5_emmc_cfg },
|
||||
+ { .compatible = "allwinner,sun50i-a100-mmc", .data = &sun50i_a100_cfg },
|
||||
+ { .compatible = "allwinner,sun50i-a100-emmc", .data = &sun50i_a100_emmc_cfg },
|
||||
{ /* sentinel */ }
|
||||
};
|
||||
--
|
||||
|
||||
# Note
|
||||
# This patch has been modified to allow proper applying.
|
||||
# The line
|
||||
# { .compatible = "allwinner,sun50i-h5-emmc", .data = &sun50i_h5_emmc_cfg },
|
||||
# as been added to compensate for another patch applied before this one.
|
||||
@ -0,0 +1,710 @@
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
new file mode 100644
|
||||
index 000000000000..dcffbfdcd26b
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
|
||||
@@ -0,0 +1,704 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
+// Copyright (C) 2020 Arm Ltd.
|
||||
+// based on the H6 dtsi, which is:
|
||||
+// Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.io>
|
||||
+
|
||||
+#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
+#include <dt-bindings/clock/sun50i-h616-ccu.h>
|
||||
+#include <dt-bindings/clock/sun50i-h6-r-ccu.h>
|
||||
+#include <dt-bindings/reset/sun50i-h616-ccu.h>
|
||||
+#include <dt-bindings/reset/sun50i-h6-r-ccu.h>
|
||||
+
|
||||
+/ {
|
||||
+ interrupt-parent = <&gic>;
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+
|
||||
+ cpus {
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+
|
||||
+ cpu0: cpu@0 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <0>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+
|
||||
+ cpu1: cpu@1 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <1>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+
|
||||
+ cpu2: cpu@2 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <2>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+
|
||||
+ cpu3: cpu@3 {
|
||||
+ compatible = "arm,cortex-a53";
|
||||
+ device_type = "cpu";
|
||||
+ reg = <3>;
|
||||
+ enable-method = "psci";
|
||||
+ clocks = <&ccu CLK_CPUX>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reserved-memory {
|
||||
+ #address-cells = <2>;
|
||||
+ #size-cells = <2>;
|
||||
+ ranges;
|
||||
+
|
||||
+ /* 512KiB reserved for ARM Trusted Firmware (BL31) */
|
||||
+ secmon_reserved: secmon@40000000 {
|
||||
+ reg = <0x0 0x40000000 0x0 0x80000>;
|
||||
+ no-map;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ osc24M: osc24M_clk {
|
||||
+ #clock-cells = <0>;
|
||||
+ compatible = "fixed-clock";
|
||||
+ clock-frequency = <24000000>;
|
||||
+ clock-output-names = "osc24M";
|
||||
+ };
|
||||
+
|
||||
+ pmu {
|
||||
+ compatible = "arm,cortex-a53-pmu";
|
||||
+ interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
||||
+ };
|
||||
+
|
||||
+ psci {
|
||||
+ compatible = "arm,psci-0.2";
|
||||
+ method = "smc";
|
||||
+ };
|
||||
+
|
||||
+ timer {
|
||||
+ compatible = "arm,armv8-timer";
|
||||
+ arm,no-tick-in-suspend;
|
||||
+ interrupts = <GIC_PPI 13
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
|
||||
+ <GIC_PPI 14
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
|
||||
+ <GIC_PPI 11
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>,
|
||||
+ <GIC_PPI 10
|
||||
+ (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
+ };
|
||||
+
|
||||
+ soc {
|
||||
+ compatible = "simple-bus";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges = <0x0 0x0 0x0 0x40000000>;
|
||||
+
|
||||
+ syscon: syscon@3000000 {
|
||||
+ compatible = "allwinner,sun50i-h616-system-control",
|
||||
+ "allwinner,sun50i-a64-system-control";
|
||||
+ reg = <0x03000000 0x1000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges;
|
||||
+
|
||||
+ sram_c: sram@28000 {
|
||||
+ compatible = "mmio-sram";
|
||||
+ reg = <0x00028000 0x30000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges = <0 0x00028000 0x30000>;
|
||||
+ };
|
||||
+
|
||||
+ sram_c1: sram@1a00000 {
|
||||
+ compatible = "mmio-sram";
|
||||
+ reg = <0x01a00000 0x200000>;
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <1>;
|
||||
+ ranges = <0 0x01a00000 0x200000>;
|
||||
+
|
||||
+ ve_sram: sram-section@0 {
|
||||
+ compatible = "allwinner,sun50i-h616-sram-c1",
|
||||
+ "allwinner,sun4i-a10-sram-c1";
|
||||
+ reg = <0x000000 0x200000>;
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ccu: clock@3001000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ccu";
|
||||
+ reg = <0x03001000 0x1000>;
|
||||
+ clocks = <&osc24M>, <&rtc 0>, <&rtc 2>;
|
||||
+ clock-names = "hosc", "losc", "iosc";
|
||||
+ #clock-cells = <1>;
|
||||
+ #reset-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ watchdog: watchdog@30090a0 {
|
||||
+ compatible = "allwinner,sun50i-h616-wdt",
|
||||
+ "allwinner,sun6i-a31-wdt";
|
||||
+ reg = <0x030090a0 0x20>;
|
||||
+ interrupts = <GIC_SPI 50 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&osc24M>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ pio: pinctrl@300b000 {
|
||||
+ compatible = "allwinner,sun50i-h616-pinctrl";
|
||||
+ reg = <0x0300b000 0x400>;
|
||||
+ interrupts = <GIC_SPI 52 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 55 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 56 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_APB1>, <&osc24M>, <&rtc 0>;
|
||||
+ clock-names = "apb", "hosc", "losc";
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <3>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+
|
||||
+ ext_rgmii_pins: rgmii-pins {
|
||||
+ pins = "PI0", "PI1", "PI2", "PI3", "PI4",
|
||||
+ "PI5", "PI7", "PI8", "PI9", "PI10",
|
||||
+ "PI11", "PI12", "PI13", "PI14", "PI15",
|
||||
+ "PI16";
|
||||
+ function = "emac0";
|
||||
+ drive-strength = <40>;
|
||||
+ };
|
||||
+
|
||||
+ i2c0_pins: i2c0-pins {
|
||||
+ pins = "PI6", "PI7";
|
||||
+ function = "i2c0";
|
||||
+ };
|
||||
+
|
||||
+ i2c3_pins_a: i2c1-pins-a {
|
||||
+ pins = "PH4", "PH5";
|
||||
+ function = "i2c3";
|
||||
+ };
|
||||
+
|
||||
+ ir_rx_pin: ir_rx_pin {
|
||||
+ pins = "PH10";
|
||||
+ function = "ir_rx";
|
||||
+ };
|
||||
+
|
||||
+ mmc0_pins: mmc0-pins {
|
||||
+ pins = "PF0", "PF1", "PF2", "PF3",
|
||||
+ "PF4", "PF5";
|
||||
+ function = "mmc0";
|
||||
+ drive-strength = <30>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ mmc1_pins: mmc1-pins {
|
||||
+ pins = "PG0", "PG1", "PG2", "PG3",
|
||||
+ "PG4", "PG5";
|
||||
+ function = "mmc1";
|
||||
+ drive-strength = <30>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ mmc2_pins: mmc2-pins {
|
||||
+ pins = "PC0", "PC1", "PC5", "PC6",
|
||||
+ "PC8", "PC9", "PC10", "PC11",
|
||||
+ "PC13", "PC14", "PC15", "PC16";
|
||||
+ function = "mmc2";
|
||||
+ drive-strength = <30>;
|
||||
+ bias-pull-up;
|
||||
+ };
|
||||
+
|
||||
+ spi0_pins: spi0-pins {
|
||||
+ pins = "PC0", "PC2", "PC3", "PC4";
|
||||
+ function = "spi0";
|
||||
+ };
|
||||
+
|
||||
+ spi1_pins: spi1-pins {
|
||||
+ pins = "PH6", "PH7", "PH8";
|
||||
+ function = "spi1";
|
||||
+ };
|
||||
+
|
||||
+ spi1_cs_pin: spi1-cs-pin {
|
||||
+ pins = "PH5";
|
||||
+ function = "spi1";
|
||||
+ };
|
||||
+
|
||||
+ uart0_ph_pins: uart0-ph-pins {
|
||||
+ pins = "PH0", "PH1";
|
||||
+ function = "uart0";
|
||||
+ };
|
||||
+
|
||||
+ uart1_pins: uart1-pins {
|
||||
+ pins = "PG6", "PG7";
|
||||
+ function = "uart1";
|
||||
+ };
|
||||
+
|
||||
+ uart1_rts_cts_pins: uart1-rts-cts-pins {
|
||||
+ pins = "PG8", "PG9";
|
||||
+ function = "uart1";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ gic: interrupt-controller@3021000 {
|
||||
+ compatible = "arm,gic-400";
|
||||
+ reg = <0x03021000 0x1000>,
|
||||
+ <0x03022000 0x2000>,
|
||||
+ <0x03024000 0x2000>,
|
||||
+ <0x03026000 0x2000>;
|
||||
+ interrupts = <GIC_PPI 9 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+ };
|
||||
+
|
||||
+ mmc0: mmc@4020000 {
|
||||
+ compatible = "allwinner,sun50i-h616-mmc",
|
||||
+ "allwinner,sun50i-a100-mmc";
|
||||
+ reg = <0x04020000 0x1000>;
|
||||
+ clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ccu RST_BUS_MMC0>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc0_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ mmc1: mmc@4021000 {
|
||||
+ compatible = "allwinner,sun50i-h616-mmc",
|
||||
+ "allwinner,sun50i-a100-mmc";
|
||||
+ reg = <0x04021000 0x1000>;
|
||||
+ clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ccu RST_BUS_MMC1>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <GIC_SPI 36 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc1_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ mmc2: mmc@4022000 {
|
||||
+ compatible = "allwinner,sun50i-h616-emmc",
|
||||
+ "allwinner,sun50i-a64-emmc";
|
||||
+ reg = <0x04022000 0x1000>;
|
||||
+ clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
|
||||
+ clock-names = "ahb", "mmc";
|
||||
+ resets = <&ccu RST_BUS_MMC2>;
|
||||
+ reset-names = "ahb";
|
||||
+ interrupts = <GIC_SPI 37 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&mmc2_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ uart0: serial@5000000 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000000 0x400>;
|
||||
+ interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART0>;
|
||||
+ resets = <&ccu RST_BUS_UART0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart1: serial@5000400 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000400 0x400>;
|
||||
+ interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART1>;
|
||||
+ resets = <&ccu RST_BUS_UART1>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart2: serial@5000800 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000800 0x400>;
|
||||
+ interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART2>;
|
||||
+ resets = <&ccu RST_BUS_UART2>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart3: serial@5000c00 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05000c00 0x400>;
|
||||
+ interrupts = <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART3>;
|
||||
+ resets = <&ccu RST_BUS_UART3>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart4: serial@5001000 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05001000 0x400>;
|
||||
+ interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART4>;
|
||||
+ resets = <&ccu RST_BUS_UART4>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ uart5: serial@5001400 {
|
||||
+ compatible = "snps,dw-apb-uart";
|
||||
+ reg = <0x05001400 0x400>;
|
||||
+ interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ reg-shift = <2>;
|
||||
+ reg-io-width = <4>;
|
||||
+ clocks = <&ccu CLK_BUS_UART5>;
|
||||
+ resets = <&ccu RST_BUS_UART5>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ i2c0: i2c@5002000 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002000 0x400>;
|
||||
+ interrupts = <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C0>;
|
||||
+ resets = <&ccu RST_BUS_I2C0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&i2c0_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c1: i2c@5002400 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002400 0x400>;
|
||||
+ interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C1>;
|
||||
+ resets = <&ccu RST_BUS_I2C1>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c2: i2c@5002800 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002800 0x400>;
|
||||
+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C2>;
|
||||
+ resets = <&ccu RST_BUS_I2C2>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c3: i2c@5002c00 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05002c00 0x400>;
|
||||
+ interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C3>;
|
||||
+ resets = <&ccu RST_BUS_I2C3>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ i2c4: i2c@5003000 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x05003000 0x400>;
|
||||
+ interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_I2C4>;
|
||||
+ resets = <&ccu RST_BUS_I2C4>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ spi0: spi@5010000 {
|
||||
+ compatible = "allwinner,sun50i-h616-spi",
|
||||
+ "allwinner,sun8i-h3-spi";
|
||||
+ reg = <0x05010000 0x1000>;
|
||||
+ interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>;
|
||||
+ clock-names = "ahb", "mod";
|
||||
+ resets = <&ccu RST_BUS_SPI0>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi0_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ spi1: spi@5011000 {
|
||||
+ compatible = "allwinner,sun50i-h616-spi",
|
||||
+ "allwinner,sun8i-h3-spi";
|
||||
+ reg = <0x05011000 0x1000>;
|
||||
+ interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>;
|
||||
+ clock-names = "ahb", "mod";
|
||||
+ resets = <&ccu RST_BUS_SPI1>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&spi1_pins>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+
|
||||
+ emac0: ethernet@5020000 {
|
||||
+ compatible = "allwinner,sun50i-h616-emac",
|
||||
+ "allwinner,sun50i-a64-emac";
|
||||
+ syscon = <&syscon>;
|
||||
+ reg = <0x05020000 0x10000>;
|
||||
+ interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "macirq";
|
||||
+ resets = <&ccu RST_BUS_EMAC0>;
|
||||
+ reset-names = "stmmaceth";
|
||||
+ clocks = <&ccu CLK_BUS_EMAC0>;
|
||||
+ clock-names = "stmmaceth";
|
||||
+ status = "disabled";
|
||||
+
|
||||
+ mdio: mdio {
|
||||
+ compatible = "snps,dwmac-mdio";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ usbotg: usb@5100000 {
|
||||
+ compatible = "allwinner,sun50i-h616-musb",
|
||||
+ "allwinner,sun8i-a33-musb";
|
||||
+ reg = <0x05100000 0x0400>;
|
||||
+ clocks = <&ccu CLK_BUS_OTG>;
|
||||
+ resets = <&ccu RST_BUS_OTG>;
|
||||
+ interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-names = "mc";
|
||||
+ phys = <&usbphy 0>;
|
||||
+ phy-names = "usb";
|
||||
+ extcon = <&usbphy 0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ usbphy: phy@5100400 {
|
||||
+ compatible = "allwinner,sun50i-h616-usb-phy";
|
||||
+ reg = <0x05100400 0x24>,
|
||||
+ <0x05101800 0x4>,
|
||||
+ <0x05200800 0x4>,
|
||||
+ <0x05310800 0x4>,
|
||||
+ <0x05311800 0x4>;
|
||||
+ reg-names = "phy_ctrl",
|
||||
+ "pmu0",
|
||||
+ "pmu1",
|
||||
+ "pmu2",
|
||||
+ "pmu3";
|
||||
+ clocks = <&ccu CLK_USB_PHY0>,
|
||||
+ <&ccu CLK_USB_PHY1>,
|
||||
+ <&ccu CLK_USB_PHY2>,
|
||||
+ <&ccu CLK_USB_PHY3>;
|
||||
+ clock-names = "usb0_phy",
|
||||
+ "usb1_phy",
|
||||
+ "usb2_phy",
|
||||
+ "usb3_phy";
|
||||
+ resets = <&ccu RST_USB_PHY0>,
|
||||
+ <&ccu RST_USB_PHY1>,
|
||||
+ <&ccu RST_USB_PHY2>,
|
||||
+ <&ccu RST_USB_PHY3>;
|
||||
+ reset-names = "usb0_reset",
|
||||
+ "usb1_reset",
|
||||
+ "usb2_reset",
|
||||
+ "usb3_reset";
|
||||
+ status = "disabled";
|
||||
+ #phy-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ ehci0: usb@5101000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05101000 0x100>;
|
||||
+ interrupts = <GIC_SPI 26 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI0>,
|
||||
+ <&ccu CLK_BUS_EHCI0>,
|
||||
+ <&ccu CLK_USB_OHCI0>;
|
||||
+ resets = <&ccu RST_BUS_OHCI0>,
|
||||
+ <&ccu RST_BUS_EHCI0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci0: usb@5101400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05101400 0x100>;
|
||||
+ interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI0>,
|
||||
+ <&ccu CLK_USB_OHCI0>;
|
||||
+ resets = <&ccu RST_BUS_OHCI0>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ehci1: usb@5200000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05200000 0x100>;
|
||||
+ interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI1>,
|
||||
+ <&ccu CLK_BUS_EHCI1>,
|
||||
+ <&ccu CLK_USB_OHCI1>;
|
||||
+ resets = <&ccu RST_BUS_OHCI1>,
|
||||
+ <&ccu RST_BUS_EHCI1>;
|
||||
+ phys = <&usbphy 1>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci1: usb@5200400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05200400 0x100>;
|
||||
+ interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI1>,
|
||||
+ <&ccu CLK_USB_OHCI1>;
|
||||
+ resets = <&ccu RST_BUS_OHCI1>;
|
||||
+ phys = <&usbphy 1>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ehci2: usb@5310000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05310000 0x100>;
|
||||
+ interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI2>,
|
||||
+ <&ccu CLK_BUS_EHCI2>,
|
||||
+ <&ccu CLK_USB_OHCI2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI2>,
|
||||
+ <&ccu RST_BUS_EHCI2>;
|
||||
+ phys = <&usbphy 2>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci2: usb@5310400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05310400 0x100>;
|
||||
+ interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI2>,
|
||||
+ <&ccu CLK_USB_OHCI2>;
|
||||
+ resets = <&ccu RST_BUS_OHCI2>;
|
||||
+ phys = <&usbphy 2>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ehci3: usb@5311000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ehci",
|
||||
+ "generic-ehci";
|
||||
+ reg = <0x05311000 0x100>;
|
||||
+ interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI3>,
|
||||
+ <&ccu CLK_BUS_EHCI3>,
|
||||
+ <&ccu CLK_USB_OHCI3>;
|
||||
+ resets = <&ccu RST_BUS_OHCI3>,
|
||||
+ <&ccu RST_BUS_EHCI3>;
|
||||
+ phys = <&usbphy 3>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ ohci3: usb@5311400 {
|
||||
+ compatible = "allwinner,sun50i-h616-ohci",
|
||||
+ "generic-ohci";
|
||||
+ reg = <0x05311400 0x100>;
|
||||
+ interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_BUS_OHCI3>,
|
||||
+ <&ccu CLK_USB_OHCI3>;
|
||||
+ resets = <&ccu RST_BUS_OHCI3>;
|
||||
+ phys = <&usbphy 3>;
|
||||
+ phy-names = "usb";
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ rtc: rtc@7000000 {
|
||||
+ compatible = "allwinner,sun50i-h616-rtc",
|
||||
+ "allwinner,sun50i-h6-rtc";
|
||||
+ reg = <0x07000000 0x400>;
|
||||
+ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>,
|
||||
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clock-output-names = "osc32k", "osc32k-out", "iosc";
|
||||
+ #clock-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ r_ccu: clock@7010000 {
|
||||
+ compatible = "allwinner,sun50i-h616-r-ccu";
|
||||
+ reg = <0x07010000 0x400>;
|
||||
+ clocks = <&osc24M>, <&rtc 0>, <&rtc 2>,
|
||||
+ <&ccu CLK_PLL_PERIPH0>;
|
||||
+ clock-names = "hosc", "losc", "iosc", "pll-periph";
|
||||
+ #clock-cells = <1>;
|
||||
+ #reset-cells = <1>;
|
||||
+ };
|
||||
+
|
||||
+ r_pio: pinctrl@7022000 {
|
||||
+ compatible = "allwinner,sun50i-h616-r-pinctrl";
|
||||
+ reg = <0x07022000 0x400>;
|
||||
+ interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&r_ccu CLK_R_APB1>, <&osc24M>, <&rtc 0>;
|
||||
+ clock-names = "apb", "hosc", "losc";
|
||||
+ gpio-controller;
|
||||
+ #gpio-cells = <3>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <3>;
|
||||
+
|
||||
+ r_i2c_pins: r-i2c-pins {
|
||||
+ pins = "PL0", "PL1";
|
||||
+ function = "s_i2c";
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ ir: ir@7040000 {
|
||||
+ compatible = "allwinner,sun50i-h616-ir",
|
||||
+ "allwinner,sun6i-a31-ir";
|
||||
+ reg = <0x07040000 0x400>;
|
||||
+ interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&ccu CLK_R_APB1_IR>,
|
||||
+ <&ccu CLK_IR>;
|
||||
+ clock-names = "apb", "ir";
|
||||
+ resets = <&ccu RST_R_APB1_IR>;
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ir_rx_pin>;
|
||||
+ status = "disabled";
|
||||
+ };
|
||||
+
|
||||
+ r_i2c: i2c@7081400 {
|
||||
+ compatible = "allwinner,sun50i-h616-i2c",
|
||||
+ "allwinner,sun6i-a31-i2c";
|
||||
+ reg = <0x07081400 0x400>;
|
||||
+ interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ clocks = <&r_ccu CLK_R_APB2_I2C>;
|
||||
+ resets = <&r_ccu RST_R_APB2_I2C>;
|
||||
+ status = "disabled";
|
||||
+ #address-cells = <1>;
|
||||
+ #size-cells = <0>;
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
@ -0,0 +1,246 @@
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index 211d1e9d4701..0cf8299b1ce7 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -35,6 +35,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-orangepi-zero-plus2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-beelink-gs1.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-3.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-lite2.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
new file mode 100644
|
||||
index 000000000000..814f5b4fec7c
|
||||
--- /dev/null
|
||||
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616-orangepi-zero2.dts
|
||||
@@ -0,0 +1,228 @@
|
||||
+// SPDX-License-Identifier: (GPL-2.0+ or MIT)
|
||||
+/*
|
||||
+ * Copyright (C) 2020 Arm Ltd.
|
||||
+ */
|
||||
+
|
||||
+/dts-v1/;
|
||||
+
|
||||
+#include "sun50i-h616.dtsi"
|
||||
+
|
||||
+#include <dt-bindings/gpio/gpio.h>
|
||||
+#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
+
|
||||
+/ {
|
||||
+ model = "OrangePi Zero2";
|
||||
+ compatible = "xunlong,orangepi-zero2", "allwinner,sun50i-h616";
|
||||
+
|
||||
+ aliases {
|
||||
+ ethernet0 = &emac0;
|
||||
+ serial0 = &uart0;
|
||||
+ };
|
||||
+
|
||||
+ chosen {
|
||||
+ stdout-path = "serial0:115200n8";
|
||||
+ };
|
||||
+
|
||||
+ leds {
|
||||
+ compatible = "gpio-leds";
|
||||
+
|
||||
+ power {
|
||||
+ label = "orangepi:red:power";
|
||||
+ gpios = <&pio 2 13 GPIO_ACTIVE_HIGH>; /* PC13 */
|
||||
+ default-state = "on";
|
||||
+ };
|
||||
+
|
||||
+ status {
|
||||
+ label = "orangepi:green:status";
|
||||
+ gpios = <&pio 2 12 GPIO_ACTIVE_HIGH>; /* PC12 */
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
+ reg_vcc5v: vcc5v {
|
||||
+ /* board wide 5V supply directly from the USB-C socket */
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "vcc-5v";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ regulator-always-on;
|
||||
+ };
|
||||
+
|
||||
+ reg_usb1_vbus: usb1-vbus {
|
||||
+ compatible = "regulator-fixed";
|
||||
+ regulator-name = "usb1-vbus";
|
||||
+ regulator-min-microvolt = <5000000>;
|
||||
+ regulator-max-microvolt = <5000000>;
|
||||
+ enable-active-high;
|
||||
+ gpio = <&pio 2 16 GPIO_ACTIVE_HIGH>; /* PC16 */
|
||||
+ status = "okay";
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&ehci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ehci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+/* USB 2 & 3 are on headers only. */
|
||||
+
|
||||
+&emac0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&ext_rgmii_pins>;
|
||||
+ phy-mode = "rgmii-id";
|
||||
+ phy-handle = <&ext_rgmii_phy>;
|
||||
+ phy-supply = <®_dcdce>;
|
||||
+ allwinner,rx-delay-ps = <3100>;
|
||||
+ allwinner,tx-delay-ps = <700>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&mdio {
|
||||
+ ext_rgmii_phy: ethernet-phy@1 {
|
||||
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||||
+ reg = <1>;
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&mmc0 {
|
||||
+ vmmc-supply = <®_dcdce>;
|
||||
+ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
+ bus-width = <4>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci0 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&ohci1 {
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&r_i2c {
|
||||
+ status = "okay";
|
||||
+
|
||||
+ axp305: pmic@36 {
|
||||
+ compatible = "x-powers,axp305", "x-powers,axp805",
|
||||
+ "x-powers,axp806";
|
||||
+ reg = <0x36>;
|
||||
+
|
||||
+ /* dummy interrupt to appease the driver for now */
|
||||
+ interrupts = <GIC_SPI 103 IRQ_TYPE_LEVEL_HIGH>;
|
||||
+ interrupt-controller;
|
||||
+ #interrupt-cells = <1>;
|
||||
+
|
||||
+ x-powers,self-working-mode;
|
||||
+ vina-supply = <®_vcc5v>;
|
||||
+ vinb-supply = <®_vcc5v>;
|
||||
+ vinc-supply = <®_vcc5v>;
|
||||
+ vind-supply = <®_vcc5v>;
|
||||
+ vine-supply = <®_vcc5v>;
|
||||
+ aldoin-supply = <®_vcc5v>;
|
||||
+ bldoin-supply = <®_vcc5v>;
|
||||
+ cldoin-supply = <®_vcc5v>;
|
||||
+
|
||||
+ regulators {
|
||||
+ reg_aldo1: aldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-sys";
|
||||
+ };
|
||||
+
|
||||
+ reg_aldo2: aldo2 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc3v3-ext";
|
||||
+ };
|
||||
+
|
||||
+ reg_aldo3: aldo3 {
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc3v3-ext2";
|
||||
+ };
|
||||
+
|
||||
+ reg_bldo1: bldo1 {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1800000>;
|
||||
+ regulator-max-microvolt = <1800000>;
|
||||
+ regulator-name = "vcc1v8";
|
||||
+ };
|
||||
+
|
||||
+ bldo2 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ bldo3 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ bldo4 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ cldo1 {
|
||||
+ /* reserved */
|
||||
+ };
|
||||
+
|
||||
+ cldo2 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ cldo3 {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdca: dcdca {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <810000>;
|
||||
+ regulator-max-microvolt = <1080000>;
|
||||
+ regulator-name = "vdd-cpu";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdcc: dcdcc {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <810000>;
|
||||
+ regulator-max-microvolt = <1080000>;
|
||||
+ regulator-name = "vdd-gpu-sys";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdcd: dcdcd {
|
||||
+ regulator-always-on;
|
||||
+ regulator-min-microvolt = <1500000>;
|
||||
+ regulator-max-microvolt = <1500000>;
|
||||
+ regulator-name = "vdd-dram";
|
||||
+ };
|
||||
+
|
||||
+ reg_dcdce: dcdce {
|
||||
+ regulator-boot-on;
|
||||
+ regulator-min-microvolt = <3300000>;
|
||||
+ regulator-max-microvolt = <3300000>;
|
||||
+ regulator-name = "vcc-eth-mmc";
|
||||
+ };
|
||||
+
|
||||
+ sw {
|
||||
+ /* unused */
|
||||
+ };
|
||||
+ };
|
||||
+ };
|
||||
+};
|
||||
+
|
||||
+&uart0 {
|
||||
+ pinctrl-names = "default";
|
||||
+ pinctrl-0 = <&uart0_ph_pins>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbotg {
|
||||
+ dr_mode = "otg";
|
||||
+ status = "okay";
|
||||
+};
|
||||
+
|
||||
+&usbphy {
|
||||
+ usb0_vbus-supply = <®_vcc5v>;
|
||||
+ usb1_vbus-supply = <®_usb1_vbus>;
|
||||
+ status = "okay";
|
||||
+};
|
||||
24
patch/kernel/sunxi-current/h616_999_fix-broken-hunks.patch
Normal file
24
patch/kernel/sunxi-current/h616_999_fix-broken-hunks.patch
Normal file
@ -0,0 +1,24 @@
|
||||
From 7977d7caf7136da4254b9affb6c7a96ee5f4597d Mon Sep 17 00:00:00 2001
|
||||
From: EvilOlaf <werner@armbian.de>
|
||||
Date: Sun, 6 Dec 2020 08:17:30 +0100
|
||||
Subject: [PATCH] fix broken patches from H616 series
|
||||
|
||||
Signed-off-by: EvilOlaf <werner@armbian.de>
|
||||
---
|
||||
arch/arm64/boot/dts/allwinner/Makefile | 1 +
|
||||
drivers/mmc/host/sunxi-mmc.c | 2 ++
|
||||
2 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
index d3eab3b57..e71c04a80 100644
|
||||
--- a/arch/arm64/boot/dts/allwinner/Makefile
|
||||
+++ b/arch/arm64/boot/dts/allwinner/Makefile
|
||||
@@ -44,5 +44,6 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-pine-h64-model-b.dtb
|
||||
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-tanix-tx6.dtb
|
||||
+dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h616-orangepi-zero2.dtb
|
||||
|
||||
subdir-y := $(dts-dirs) overlay
|
||||
--
|
||||
Created with Armbian build tools https://github.com/armbian/build
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,141 +0,0 @@
|
||||
From 227b7b8d1fad466fc8ef9ec16d35a935bac39325 Mon Sep 17 00:00:00 2001
|
||||
From: Ondrej Jirman <megous@megous.com>
|
||||
Date: Wed, 25 Nov 2020 20:28:40 +0100
|
||||
Subject: [PATCH 1/2] Revert "drm/sun4i: Fix mipi-dsi panel framerate being 2/3
|
||||
of the expected value"
|
||||
|
||||
This reverts commit ad763c88b662f9d5da50cc86db387f6ee01311f2.
|
||||
---
|
||||
drivers/gpu/drm/sun4i/sun4i_tcon.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
index 1c56b4fb9ac8..ab06f5e1fc95 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
@@ -398,8 +398,8 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon,
|
||||
u32 block_space, start_delay;
|
||||
u32 tcon_div;
|
||||
|
||||
- tcon->dclk_min_div = 6;
|
||||
- tcon->dclk_max_div = 6;
|
||||
+ tcon->dclk_min_div = SUN6I_DSI_TCON_DIV;
|
||||
+ tcon->dclk_max_div = SUN6I_DSI_TCON_DIV;
|
||||
|
||||
sun4i_tcon0_mode_set_common(tcon, mode);
|
||||
|
||||
--
|
||||
2.28.0
|
||||
|
||||
From 57fc64d7504dba9eb323b490e762d17fc0d15ffb Mon Sep 17 00:00:00 2001
|
||||
From: Roman Beranek <roman.beranek@prusa3d.com>
|
||||
Date: Wed, 25 Nov 2020 13:07:35 +0100
|
||||
Subject: [PATCH 2/2] drm: sun4i: decouple TCON_DCLK_DIV value from
|
||||
pll_mipi/dotclock ratio
|
||||
|
||||
Observations showed that an actual refresh rate differs from the intended.
|
||||
Specifically, in case of 4-lane panels it was reduced by 1/3, and in case of
|
||||
2-lane panels by 2/3.
|
||||
|
||||
BSP code apparently distinguishes between a `dsi_div` and a 'tcon inner div'.
|
||||
While this 'inner' divider is under DSI always 4, the `dsi_div` is defined
|
||||
as a number of bits per pixel over a number of DSI lanes. This value is then
|
||||
involved in setting the rate of PLL_MIPI.
|
||||
|
||||
I couldn't really figure out how to fit this into the dotclock driver,
|
||||
so I opted for this hack where the requested rate is adjusted in such a way
|
||||
that the sun4i_dotclock driver can remain untouched.
|
||||
---
|
||||
drivers/gpu/drm/sun4i/sun4i_tcon.c | 44 +++++++++++++++++-------------
|
||||
1 file changed, 25 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/drivers/gpu/drm/sun4i/sun4i_tcon.c b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
index ab06f5e1fc95..958734ab5007 100644
|
||||
--- a/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
+++ b/drivers/gpu/drm/sun4i/sun4i_tcon.c
|
||||
@@ -322,18 +322,6 @@ static int sun4i_tcon_get_clk_delay(const struct drm_display_mode *mode,
|
||||
return delay;
|
||||
}
|
||||
|
||||
-static void sun4i_tcon0_mode_set_common(struct sun4i_tcon *tcon,
|
||||
- const struct drm_display_mode *mode)
|
||||
-{
|
||||
- /* Configure the dot clock */
|
||||
- clk_set_rate(tcon->dclk, mode->crtc_clock * 1000);
|
||||
-
|
||||
- /* Set the resolution */
|
||||
- regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
- SUN4I_TCON0_BASIC0_X(mode->crtc_hdisplay) |
|
||||
- SUN4I_TCON0_BASIC0_Y(mode->crtc_vdisplay));
|
||||
-}
|
||||
-
|
||||
static void sun4i_tcon0_mode_set_dithering(struct sun4i_tcon *tcon,
|
||||
const struct drm_connector *connector)
|
||||
{
|
||||
@@ -396,12 +384,18 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon,
|
||||
u8 bpp = mipi_dsi_pixel_format_to_bpp(device->format);
|
||||
u8 lanes = device->lanes;
|
||||
u32 block_space, start_delay;
|
||||
- u32 tcon_div;
|
||||
|
||||
tcon->dclk_min_div = SUN6I_DSI_TCON_DIV;
|
||||
tcon->dclk_max_div = SUN6I_DSI_TCON_DIV;
|
||||
|
||||
- sun4i_tcon0_mode_set_common(tcon, mode);
|
||||
+ /* Configure the dot clock */
|
||||
+ clk_set_rate(tcon->dclk, mode->crtc_clock * 1000
|
||||
+ * bpp / (lanes * SUN6I_DSI_TCON_DIV));
|
||||
+
|
||||
+ /* Set the resolution */
|
||||
+ regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
+ SUN4I_TCON0_BASIC0_X(mode->crtc_hdisplay) |
|
||||
+ SUN4I_TCON0_BASIC0_Y(mode->crtc_vdisplay));
|
||||
|
||||
/* Set dithering if needed */
|
||||
sun4i_tcon0_mode_set_dithering(tcon, sun4i_tcon_get_connector(encoder));
|
||||
@@ -425,9 +419,7 @@ static void sun4i_tcon0_mode_set_cpu(struct sun4i_tcon *tcon,
|
||||
* The datasheet says that this should be set higher than 20 *
|
||||
* pixel cycle, but it's not clear what a pixel cycle is.
|
||||
*/
|
||||
- regmap_read(tcon->regs, SUN4I_TCON0_DCLK_REG, &tcon_div);
|
||||
- tcon_div &= GENMASK(6, 0);
|
||||
- block_space = mode->htotal * bpp / (tcon_div * lanes);
|
||||
+ block_space = mode->htotal * bpp / (SUN6I_DSI_TCON_DIV * lanes);
|
||||
block_space -= mode->hdisplay + 40;
|
||||
|
||||
regmap_write(tcon->regs, SUN4I_TCON0_CPU_TRI0_REG,
|
||||
@@ -469,7 +461,14 @@ static void sun4i_tcon0_mode_set_lvds(struct sun4i_tcon *tcon,
|
||||
|
||||
tcon->dclk_min_div = 7;
|
||||
tcon->dclk_max_div = 7;
|
||||
- sun4i_tcon0_mode_set_common(tcon, mode);
|
||||
+
|
||||
+ /* Configure the dot clock */
|
||||
+ clk_set_rate(tcon->dclk, mode->crtc_clock * 1000);
|
||||
+
|
||||
+ /* Set the resolution */
|
||||
+ regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
+ SUN4I_TCON0_BASIC0_X(mode->crtc_hdisplay) |
|
||||
+ SUN4I_TCON0_BASIC0_Y(mode->crtc_vdisplay));
|
||||
|
||||
/* Set dithering if needed */
|
||||
sun4i_tcon0_mode_set_dithering(tcon, sun4i_tcon_get_connector(encoder));
|
||||
@@ -546,7 +545,14 @@ static void sun4i_tcon0_mode_set_rgb(struct sun4i_tcon *tcon,
|
||||
|
||||
tcon->dclk_min_div = tcon->quirks->dclk_min_div;
|
||||
tcon->dclk_max_div = 127;
|
||||
- sun4i_tcon0_mode_set_common(tcon, mode);
|
||||
+
|
||||
+ /* Configure the dot clock */
|
||||
+ clk_set_rate(tcon->dclk, mode->crtc_clock * 1000);
|
||||
+
|
||||
+ /* Set the resolution */
|
||||
+ regmap_write(tcon->regs, SUN4I_TCON0_BASIC0_REG,
|
||||
+ SUN4I_TCON0_BASIC0_X(mode->crtc_hdisplay) |
|
||||
+ SUN4I_TCON0_BASIC0_Y(mode->crtc_vdisplay));
|
||||
|
||||
/* Set dithering if needed */
|
||||
sun4i_tcon0_mode_set_dithering(tcon, connector);
|
||||
--
|
||||
2.28.0
|
||||
|
||||
@ -1,43 +0,0 @@
|
||||
vfp: force non-conditional encoding for external Thumb2
|
||||
|
||||
Nick reports that the following error is produced in some cases when
|
||||
using GCC+ld.bfd to build the ARM defconfig with Thumb2 enabled:
|
||||
|
||||
arch/arm/vfp/vfphw.o: in function `vfp_support_entry':
|
||||
(.text+0xa): relocation truncated to fit: R_ARM_THM_JUMP19 against
|
||||
symbol `vfp_kmode_exception' defined in .text.unlikely section in
|
||||
arch/arm/vfp/vfpmodule.o
|
||||
|
||||
$ arm-linux-gnueabihf-ld --version
|
||||
GNU ld (GNU Binutils for Debian) 2.34
|
||||
|
||||
Generally, the linker should be able to fix up out of range branches by
|
||||
emitting veneers, but apparently, it fails to do so in this particular
|
||||
case, i.e., a conditional 'tail call' to vfp_kmode_exception(), which
|
||||
is not defined in the same object file.
|
||||
|
||||
So let's force the use of a non-conditional encoding of the B instruction,
|
||||
which has more space for an immediate offset. To compensate for the
|
||||
additional 2 byte IT opcode, switch the preceding TEQ to CMP, which can
|
||||
be emitted in 2 bytes instead of 4 bytes as well.
|
||||
|
||||
Fixes: eff8728fe698 ("vmlinux.lds.h: Add PGO and AutoFDO input sections")
|
||||
Reported-by: Nick Desaulniers <(address hidden)>
|
||||
Tested-by: Nick Desaulniers <(address hidden)>
|
||||
Signed-off-by: Ard Biesheuvel <(address hidden)>
|
||||
---
|
||||
|
||||
diff --git a/arch/arm/vfp/vfphw.S b/arch/arm/vfp/vfphw.S
|
||||
index 4fcff9f59947..06ff091c0932 100644
|
||||
--- a/arch/arm/vfp/vfphw.S
|
||||
+++ b/arch/arm/vfp/vfphw.S
|
||||
@@ -81,7 +81,8 @@ ENTRY(vfp_support_entry)
|
||||
.fpu vfpv2
|
||||
ldr r3, [sp, #S_PSR] @ Neither lazy restore nor FP exceptions
|
||||
and r3, r3, #MODE_MASK @ are supported in kernel mode
|
||||
- teq r3, #USR_MODE
|
||||
+ cmp r3, #USR_MODE
|
||||
+THUMB( it ne )
|
||||
bne vfp_kmode_exception @ Returns through lr
|
||||
|
||||
VFPFMRX r1, FPEXC @ Is the VFP enabled?
|
||||
@ -1,27 +0,0 @@
|
||||
From 841fca5a32cccd7d0123c0271f4350161ada5507 Mon Sep 17 00:00:00 2001
|
||||
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Date: Mon, 14 Dec 2020 19:33:01 +0100
|
||||
Subject: Linux 5.10.1
|
||||
|
||||
Link: https://lore.kernel.org/r/20201214170452.563016590@linuxfoundation.org
|
||||
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index e30cf02da8b89..076d4e6b9ccc2 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 5
|
||||
PATCHLEVEL = 10
|
||||
-SUBLEVEL = 0
|
||||
+SUBLEVEL = 1
|
||||
EXTRAVERSION =
|
||||
NAME = Kleptomaniac Octopus
|
||||
|
||||
--
|
||||
cgit 1.2.3-1.el7
|
||||
|
||||
@ -1,349 +0,0 @@
|
||||
diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt
|
||||
index 44fde25bb221e..f6a1513dfb76c 100644
|
||||
--- a/Documentation/admin-guide/kernel-parameters.txt
|
||||
+++ b/Documentation/admin-guide/kernel-parameters.txt
|
||||
@@ -5663,6 +5663,7 @@
|
||||
device);
|
||||
j = NO_REPORT_LUNS (don't use report luns
|
||||
command, uas only);
|
||||
+ k = NO_SAME (do not use WRITE_SAME, uas only)
|
||||
l = NOT_LOCKABLE (don't try to lock and
|
||||
unlock ejectable media, not on uas);
|
||||
m = MAX_SECTORS_64 (don't transfer more
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 076d4e6b9ccc2..44f4cd2e58a80 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 5
|
||||
PATCHLEVEL = 10
|
||||
-SUBLEVEL = 1
|
||||
+SUBLEVEL = 2
|
||||
EXTRAVERSION =
|
||||
NAME = Kleptomaniac Octopus
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c
|
||||
index 562087df7d334..0cc6d35a08156 100644
|
||||
--- a/drivers/tty/serial/8250/8250_omap.c
|
||||
+++ b/drivers/tty/serial/8250/8250_omap.c
|
||||
@@ -184,11 +184,6 @@ static void omap_8250_mdr1_errataset(struct uart_8250_port *up,
|
||||
struct omap8250_priv *priv)
|
||||
{
|
||||
u8 timeout = 255;
|
||||
- u8 old_mdr1;
|
||||
-
|
||||
- old_mdr1 = serial_in(up, UART_OMAP_MDR1);
|
||||
- if (old_mdr1 == priv->mdr1)
|
||||
- return;
|
||||
|
||||
serial_out(up, UART_OMAP_MDR1, priv->mdr1);
|
||||
udelay(2);
|
||||
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
|
||||
index fad31ccd1fa83..1b4eb7046b078 100644
|
||||
--- a/drivers/usb/core/quirks.c
|
||||
+++ b/drivers/usb/core/quirks.c
|
||||
@@ -342,6 +342,9 @@ static const struct usb_device_id usb_quirk_list[] = {
|
||||
{ USB_DEVICE(0x06a3, 0x0006), .driver_info =
|
||||
USB_QUIRK_CONFIG_INTF_STRINGS },
|
||||
|
||||
+ /* Agfa SNAPSCAN 1212U */
|
||||
+ { USB_DEVICE(0x06bd, 0x0001), .driver_info = USB_QUIRK_RESET_RESUME },
|
||||
+
|
||||
/* Guillemot Webcam Hercules Dualpix Exchange (2nd ID) */
|
||||
{ USB_DEVICE(0x06f8, 0x0804), .driver_info = USB_QUIRK_RESET_RESUME },
|
||||
|
||||
diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c
|
||||
index 53a227217f1cb..99c1ebe86f6a2 100644
|
||||
--- a/drivers/usb/gadget/udc/dummy_hcd.c
|
||||
+++ b/drivers/usb/gadget/udc/dummy_hcd.c
|
||||
@@ -2734,7 +2734,7 @@ static int __init init(void)
|
||||
{
|
||||
int retval = -ENOMEM;
|
||||
int i;
|
||||
- struct dummy *dum[MAX_NUM_UDC];
|
||||
+ struct dummy *dum[MAX_NUM_UDC] = {};
|
||||
|
||||
if (usb_disabled())
|
||||
return -ENODEV;
|
||||
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
|
||||
index c799ca5361d4d..74c497fd34762 100644
|
||||
--- a/drivers/usb/host/xhci-hub.c
|
||||
+++ b/drivers/usb/host/xhci-hub.c
|
||||
@@ -1712,6 +1712,10 @@ retry:
|
||||
hcd->state = HC_STATE_SUSPENDED;
|
||||
bus_state->next_statechange = jiffies + msecs_to_jiffies(10);
|
||||
spin_unlock_irqrestore(&xhci->lock, flags);
|
||||
+
|
||||
+ if (bus_state->bus_suspended)
|
||||
+ usleep_range(5000, 10000);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
|
||||
index bf89172c43cac..84da8406d5b42 100644
|
||||
--- a/drivers/usb/host/xhci-pci.c
|
||||
+++ b/drivers/usb/host/xhci-pci.c
|
||||
@@ -47,6 +47,7 @@
|
||||
#define PCI_DEVICE_ID_INTEL_DNV_XHCI 0x19d0
|
||||
#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_2C_XHCI 0x15b5
|
||||
#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_4C_XHCI 0x15b6
|
||||
+#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_LP_XHCI 0x15c1
|
||||
#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_2C_XHCI 0x15db
|
||||
#define PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_XHCI 0x15d4
|
||||
#define PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI 0x15e9
|
||||
@@ -55,6 +56,7 @@
|
||||
#define PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI 0x8a13
|
||||
#define PCI_DEVICE_ID_INTEL_CML_XHCI 0xa3af
|
||||
#define PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI 0x9a13
|
||||
+#define PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI 0x1138
|
||||
|
||||
#define PCI_DEVICE_ID_AMD_PROMONTORYA_4 0x43b9
|
||||
#define PCI_DEVICE_ID_AMD_PROMONTORYA_3 0x43ba
|
||||
@@ -232,13 +234,15 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
||||
if (pdev->vendor == PCI_VENDOR_ID_INTEL &&
|
||||
(pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_2C_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_4C_XHCI ||
|
||||
+ pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_LP_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_2C_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_ALPINE_RIDGE_C_4C_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_2C_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_4C_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_TITAN_RIDGE_DD_XHCI ||
|
||||
pdev->device == PCI_DEVICE_ID_INTEL_ICE_LAKE_XHCI ||
|
||||
- pdev->device == PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI))
|
||||
+ pdev->device == PCI_DEVICE_ID_INTEL_TIGER_LAKE_XHCI ||
|
||||
+ pdev->device == PCI_DEVICE_ID_INTEL_MAPLE_RIDGE_XHCI))
|
||||
xhci->quirks |= XHCI_DEFAULT_PM_RUNTIME_ALLOW;
|
||||
|
||||
if (pdev->vendor == PCI_VENDOR_ID_ETRON &&
|
||||
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
|
||||
index aa2d35f982002..4d34f6005381e 100644
|
||||
--- a/drivers/usb/host/xhci-plat.c
|
||||
+++ b/drivers/usb/host/xhci-plat.c
|
||||
@@ -333,6 +333,9 @@ static int xhci_plat_probe(struct platform_device *pdev)
|
||||
if (priv && (priv->quirks & XHCI_SKIP_PHY_INIT))
|
||||
hcd->skip_phy_initialization = 1;
|
||||
|
||||
+ if (priv && (priv->quirks & XHCI_SG_TRB_CACHE_SIZE_QUIRK))
|
||||
+ xhci->quirks |= XHCI_SG_TRB_CACHE_SIZE_QUIRK;
|
||||
+
|
||||
ret = usb_add_hcd(hcd, irq, IRQF_SHARED);
|
||||
if (ret)
|
||||
goto disable_usb_phy;
|
||||
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
|
||||
index ebb359ebb261c..d90c0d5df3b37 100644
|
||||
--- a/drivers/usb/host/xhci.h
|
||||
+++ b/drivers/usb/host/xhci.h
|
||||
@@ -1878,6 +1878,7 @@ struct xhci_hcd {
|
||||
#define XHCI_RENESAS_FW_QUIRK BIT_ULL(36)
|
||||
#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
|
||||
#define XHCI_DISABLE_SPARSE BIT_ULL(38)
|
||||
+#define XHCI_SG_TRB_CACHE_SIZE_QUIRK BIT_ULL(39)
|
||||
|
||||
unsigned int num_active_eps;
|
||||
unsigned int limit_active_eps;
|
||||
diff --git a/drivers/usb/misc/legousbtower.c b/drivers/usb/misc/legousbtower.c
|
||||
index ba655b4af4fc2..1c9e09138c109 100644
|
||||
--- a/drivers/usb/misc/legousbtower.c
|
||||
+++ b/drivers/usb/misc/legousbtower.c
|
||||
@@ -797,7 +797,7 @@ static int tower_probe(struct usb_interface *interface, const struct usb_device_
|
||||
&get_version_reply,
|
||||
sizeof(get_version_reply),
|
||||
1000, GFP_KERNEL);
|
||||
- if (!result) {
|
||||
+ if (result) {
|
||||
dev_err(idev, "get version request failed: %d\n", result);
|
||||
retval = result;
|
||||
goto error;
|
||||
diff --git a/drivers/usb/misc/sisusbvga/Kconfig b/drivers/usb/misc/sisusbvga/Kconfig
|
||||
index 655d9cb0651a7..c12cdd0154102 100644
|
||||
--- a/drivers/usb/misc/sisusbvga/Kconfig
|
||||
+++ b/drivers/usb/misc/sisusbvga/Kconfig
|
||||
@@ -16,7 +16,7 @@ config USB_SISUSBVGA
|
||||
|
||||
config USB_SISUSBVGA_CON
|
||||
bool "Text console and mode switching support" if USB_SISUSBVGA
|
||||
- depends on VT
|
||||
+ depends on VT && BROKEN
|
||||
select FONT_8x16
|
||||
help
|
||||
Say Y here if you want a VGA text console via the USB dongle or
|
||||
diff --git a/drivers/usb/storage/uas.c b/drivers/usb/storage/uas.c
|
||||
index 652d6d6f1f365..ff6f41e7e0683 100644
|
||||
--- a/drivers/usb/storage/uas.c
|
||||
+++ b/drivers/usb/storage/uas.c
|
||||
@@ -867,6 +867,9 @@ static int uas_slave_configure(struct scsi_device *sdev)
|
||||
if (devinfo->flags & US_FL_NO_READ_CAPACITY_16)
|
||||
sdev->no_read_capacity_16 = 1;
|
||||
|
||||
+ /* Some disks cannot handle WRITE_SAME */
|
||||
+ if (devinfo->flags & US_FL_NO_SAME)
|
||||
+ sdev->no_write_same = 1;
|
||||
/*
|
||||
* Some disks return the total number of blocks in response
|
||||
* to READ CAPACITY rather than the highest block number.
|
||||
diff --git a/drivers/usb/storage/unusual_uas.h b/drivers/usb/storage/unusual_uas.h
|
||||
index 711ab240058c7..870e9cf3d5dc4 100644
|
||||
--- a/drivers/usb/storage/unusual_uas.h
|
||||
+++ b/drivers/usb/storage/unusual_uas.h
|
||||
@@ -35,12 +35,15 @@ UNUSUAL_DEV(0x054c, 0x087d, 0x0000, 0x9999,
|
||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
US_FL_NO_REPORT_OPCODES),
|
||||
|
||||
-/* Reported-by: Julian Groß <julian.g@posteo.de> */
|
||||
+/*
|
||||
+ * Initially Reported-by: Julian Groß <julian.g@posteo.de>
|
||||
+ * Further reports David C. Partridge <david.partridge@perdrix.co.uk>
|
||||
+ */
|
||||
UNUSUAL_DEV(0x059f, 0x105f, 0x0000, 0x9999,
|
||||
"LaCie",
|
||||
"2Big Quadra USB3",
|
||||
USB_SC_DEVICE, USB_PR_DEVICE, NULL,
|
||||
- US_FL_NO_REPORT_OPCODES),
|
||||
+ US_FL_NO_REPORT_OPCODES | US_FL_NO_SAME),
|
||||
|
||||
/*
|
||||
* Apricorn USB3 dongle sometimes returns "USBSUSBSUSBS" in response to SCSI
|
||||
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
|
||||
index 94a64729dc27d..90aa9c12ffac5 100644
|
||||
--- a/drivers/usb/storage/usb.c
|
||||
+++ b/drivers/usb/storage/usb.c
|
||||
@@ -541,6 +541,9 @@ void usb_stor_adjust_quirks(struct usb_device *udev, unsigned long *fflags)
|
||||
case 'j':
|
||||
f |= US_FL_NO_REPORT_LUNS;
|
||||
break;
|
||||
+ case 'k':
|
||||
+ f |= US_FL_NO_SAME;
|
||||
+ break;
|
||||
case 'l':
|
||||
f |= US_FL_NOT_LOCKABLE;
|
||||
break;
|
||||
diff --git a/include/linux/usb_usual.h b/include/linux/usb_usual.h
|
||||
index 4a19ac3f24d06..6b03fdd69d274 100644
|
||||
--- a/include/linux/usb_usual.h
|
||||
+++ b/include/linux/usb_usual.h
|
||||
@@ -84,6 +84,8 @@
|
||||
/* Cannot handle REPORT_LUNS */ \
|
||||
US_FLAG(ALWAYS_SYNC, 0x20000000) \
|
||||
/* lies about caching, so always sync */ \
|
||||
+ US_FLAG(NO_SAME, 0x40000000) \
|
||||
+ /* Cannot handle WRITE_SAME */ \
|
||||
|
||||
#define US_FLAG(name, value) US_FL_##name = value ,
|
||||
enum { US_DO_ALL_FLAGS };
|
||||
diff --git a/include/uapi/linux/ptrace.h b/include/uapi/linux/ptrace.h
|
||||
index a71b6e3b03ebc..83ee45fa634b9 100644
|
||||
--- a/include/uapi/linux/ptrace.h
|
||||
+++ b/include/uapi/linux/ptrace.h
|
||||
@@ -81,7 +81,8 @@ struct seccomp_metadata {
|
||||
|
||||
struct ptrace_syscall_info {
|
||||
__u8 op; /* PTRACE_SYSCALL_INFO_* */
|
||||
- __u32 arch __attribute__((__aligned__(sizeof(__u32))));
|
||||
+ __u8 pad[3];
|
||||
+ __u32 arch;
|
||||
__u64 instruction_pointer;
|
||||
__u64 stack_pointer;
|
||||
union {
|
||||
diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c
|
||||
index 327ec42a36b09..de1917484647e 100644
|
||||
--- a/sound/core/oss/pcm_oss.c
|
||||
+++ b/sound/core/oss/pcm_oss.c
|
||||
@@ -1935,11 +1935,15 @@ static int snd_pcm_oss_set_subdivide(struct snd_pcm_oss_file *pcm_oss_file, int
|
||||
static int snd_pcm_oss_set_fragment1(struct snd_pcm_substream *substream, unsigned int val)
|
||||
{
|
||||
struct snd_pcm_runtime *runtime;
|
||||
+ int fragshift;
|
||||
|
||||
runtime = substream->runtime;
|
||||
if (runtime->oss.subdivision || runtime->oss.fragshift)
|
||||
return -EINVAL;
|
||||
- runtime->oss.fragshift = val & 0xffff;
|
||||
+ fragshift = val & 0xffff;
|
||||
+ if (fragshift >= 31)
|
||||
+ return -EINVAL;
|
||||
+ runtime->oss.fragshift = fragshift;
|
||||
runtime->oss.maxfrags = (val >> 16) & 0xffff;
|
||||
if (runtime->oss.fragshift < 4) /* < 16 */
|
||||
runtime->oss.fragshift = 4;
|
||||
diff --git a/sound/usb/format.c b/sound/usb/format.c
|
||||
index 3bfead393aa34..91f0ed4a2e7eb 100644
|
||||
--- a/sound/usb/format.c
|
||||
+++ b/sound/usb/format.c
|
||||
@@ -40,6 +40,8 @@ static u64 parse_audio_format_i_type(struct snd_usb_audio *chip,
|
||||
case UAC_VERSION_1:
|
||||
default: {
|
||||
struct uac_format_type_i_discrete_descriptor *fmt = _fmt;
|
||||
+ if (format >= 64)
|
||||
+ return 0; /* invalid format */
|
||||
sample_width = fmt->bBitResolution;
|
||||
sample_bytes = fmt->bSubframeSize;
|
||||
format = 1ULL << format;
|
||||
diff --git a/sound/usb/stream.c b/sound/usb/stream.c
|
||||
index ca76ba5b5c0b2..2f6d39c2ba7c8 100644
|
||||
--- a/sound/usb/stream.c
|
||||
+++ b/sound/usb/stream.c
|
||||
@@ -193,16 +193,16 @@ static int usb_chmap_ctl_get(struct snd_kcontrol *kcontrol,
|
||||
struct snd_pcm_chmap *info = snd_kcontrol_chip(kcontrol);
|
||||
struct snd_usb_substream *subs = info->private_data;
|
||||
struct snd_pcm_chmap_elem *chmap = NULL;
|
||||
- int i;
|
||||
+ int i = 0;
|
||||
|
||||
- memset(ucontrol->value.integer.value, 0,
|
||||
- sizeof(ucontrol->value.integer.value));
|
||||
if (subs->cur_audiofmt)
|
||||
chmap = subs->cur_audiofmt->chmap;
|
||||
if (chmap) {
|
||||
for (i = 0; i < chmap->channels; i++)
|
||||
ucontrol->value.integer.value[i] = chmap->map[i];
|
||||
}
|
||||
+ for (; i < subs->channels_max; i++)
|
||||
+ ucontrol->value.integer.value[i] = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
|
||||
index 54188ee16c486..4e24509645173 100755
|
||||
--- a/tools/testing/ktest/ktest.pl
|
||||
+++ b/tools/testing/ktest/ktest.pl
|
||||
@@ -1499,17 +1499,16 @@ sub dodie {
|
||||
my $log_file;
|
||||
|
||||
if (defined($opt{"LOG_FILE"})) {
|
||||
- my $whence = 0; # beginning of file
|
||||
- my $pos = $test_log_start;
|
||||
+ my $whence = 2; # End of file
|
||||
+ my $log_size = tell LOG;
|
||||
+ my $size = $log_size - $test_log_start;
|
||||
|
||||
if (defined($mail_max_size)) {
|
||||
- my $log_size = tell LOG;
|
||||
- $log_size -= $test_log_start;
|
||||
- if ($log_size > $mail_max_size) {
|
||||
- $whence = 2; # end of file
|
||||
- $pos = - $mail_max_size;
|
||||
+ if ($size > $mail_max_size) {
|
||||
+ $size = $mail_max_size;
|
||||
}
|
||||
}
|
||||
+ my $pos = - $size;
|
||||
$log_file = "$tmpdir/log";
|
||||
open (L, "$opt{LOG_FILE}") or die "Can't open $opt{LOG_FILE} to read)";
|
||||
open (O, "> $tmpdir/log") or die "Can't open $tmpdir/log\n";
|
||||
@@ -4253,7 +4252,12 @@ sub do_send_mail {
|
||||
$mail_command =~ s/\$SUBJECT/$subject/g;
|
||||
$mail_command =~ s/\$MESSAGE/$message/g;
|
||||
|
||||
- run_command $mail_command;
|
||||
+ my $ret = run_command $mail_command;
|
||||
+ if (!$ret && defined($file)) {
|
||||
+ # try again without the file
|
||||
+ $message .= "\n\n*** FAILED TO SEND LOG ***\n\n";
|
||||
+ do_send_email($subject, $message);
|
||||
+ }
|
||||
}
|
||||
|
||||
sub send_email {
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user