diff --git a/config/boards/orangepilite2.wip b/config/boards/orangepilite2.wip index 5763efa3a6..d377c985e5 100644 --- a/config/boards/orangepilite2.wip +++ b/config/boards/orangepilite2.wip @@ -6,8 +6,8 @@ BOOTCONFIG="orangepi_lite2_defconfig" MODULES="" MODULES_NEXT="" # -KERNEL_TARGET="next" -CLI_TARGET="" +KERNEL_TARGET="next,dev" +CLI_TARGET="stretch:next" DESKTOP_TARGET="" # CLI_BETA_TARGET="stretch:next" diff --git a/config/boards/orangepioneplus.wip b/config/boards/orangepioneplus.wip index 6cc62974d9..52f68179ec 100644 --- a/config/boards/orangepioneplus.wip +++ b/config/boards/orangepioneplus.wip @@ -6,8 +6,8 @@ BOOTCONFIG="orangepi_one_plus_defconfig" MODULES="" MODULES_NEXT="" # -KERNEL_TARGET="next" -CLI_TARGET="" +KERNEL_TARGET="next,dev" +CLI_TARGET="stretch:next" DESKTOP_TARGET="" # CLI_BETA_TARGET="stretch:next" diff --git a/config/boards/pineh64.wip b/config/boards/pineh64.wip index 40df7134e9..1729e8d20c 100644 --- a/config/boards/pineh64.wip +++ b/config/boards/pineh64.wip @@ -6,8 +6,8 @@ BOOTCONFIG="pine_h64_defconfig" MODULES="" MODULES_NEXT="" # -KERNEL_TARGET="next" -CLI_TARGET="" +KERNEL_TARGET="next,dev" +CLI_TARGET="stretch:next" DESKTOP_TARGET="" # CLI_BETA_TARGET="stretch:next" diff --git a/config/kernel/linux-sunxi-next.config b/config/kernel/linux-sunxi-next.config index b762a65888..626868e8e7 100644 --- a/config/kernel/linux-sunxi-next.config +++ b/config/kernel/linux-sunxi-next.config @@ -4947,7 +4947,15 @@ CONFIG_USB_MUSB_SUNXI=y # MUSB DMA mode # # CONFIG_MUSB_PIO_ONLY is not set -# CONFIG_USB_DWC3 is not set +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_HOST is not set +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_DUAL_ROLE=y + +# +# Platform Glue Driver Support +# +CONFIG_USB_DWC3_OF_SIMPLE=m CONFIG_USB_DWC2=y # CONFIG_USB_DWC2_HOST is not set @@ -6311,7 +6319,7 @@ CONFIG_GENERIC_PHY=y # CONFIG_PHY_XGENE is not set CONFIG_PHY_SUN4I_USB=y CONFIG_PHY_SUN9I_USB=y -# CONFIG_PHY_SUN50I_USB3 is not set +CONFIG_PHY_SUN50I_USB3=y # CONFIG_PHY_MESON8B_USB2 is not set # CONFIG_PHY_MESON_GXL_USB2 is not set # CONFIG_PHY_MESON_GXL_USB3 is not set diff --git a/config/kernel/linux-sunxi64-dev.config b/config/kernel/linux-sunxi64-dev.config index bbe6701526..c632f629a2 100644 --- a/config/kernel/linux-sunxi64-dev.config +++ b/config/kernel/linux-sunxi64-dev.config @@ -1,10 +1,13 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.17.2 Kernel Configuration +# Linux/arm64 4.18.0-rc7 Kernel Configuration +# + +# +# Compiler: aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11) 7.2.1 20171011 # CONFIG_ARM64=y CONFIG_64BIT=y -CONFIG_ARCH_PHYS_ADDR_T_64BIT=y CONFIG_MMU=y CONFIG_ARM64_PAGE_SHIFT=12 CONFIG_ARM64_CONT_SHIFT=4 @@ -25,18 +28,16 @@ CONFIG_GENERIC_CSUM=y CONFIG_GENERIC_CALIBRATE_DELAY=y CONFIG_ZONE_DMA32=y CONFIG_HAVE_GENERIC_GUP=y -CONFIG_ARCH_DMA_ADDR_T_64BIT=y -CONFIG_NEED_DMA_MAP_STATE=y -CONFIG_NEED_SG_DMA_LENGTH=y CONFIG_SMP=y -CONFIG_SWIOTLB=y -CONFIG_IOMMU_HELPER=y CONFIG_KERNEL_MODE_NEON=y CONFIG_FIX_EARLYCON_MEM=y CONFIG_PGTABLE_LEVELS=4 CONFIG_ARCH_SUPPORTS_UPROBES=y CONFIG_ARCH_PROC_KCORE_TEXT=y CONFIG_MULTI_IRQ_HANDLER=y +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=70201 +CONFIG_CLANG_VERSION=0 CONFIG_IRQ_WORK=y CONFIG_BUILDTIME_EXTABLE_SORT=y CONFIG_THREAD_INFO_IN_TASK=y @@ -45,7 +46,6 @@ CONFIG_THREAD_INFO_IN_TASK=y # General setup # CONFIG_INIT_ENV_ARG_LIMIT=32 -CONFIG_CROSS_COMPILE="" # CONFIG_COMPILE_TEST is not set CONFIG_LOCALVERSION="" # CONFIG_LOCALVERSION_AUTO is not set @@ -129,6 +129,7 @@ CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 CONFIG_GENERIC_SCHED_CLOCK=y CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y +CONFIG_ARCH_SUPPORTS_INT128=y # CONFIG_NUMA_BALANCING is not set CONFIG_CGROUPS=y CONFIG_PAGE_COUNTER=y @@ -236,7 +237,6 @@ CONFIG_ARCH_HAS_SET_MEMORY=y CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y CONFIG_HAVE_CLK=y -CONFIG_HAVE_DMA_API_DEBUG=y CONFIG_HAVE_HW_BREAKPOINT=y CONFIG_HAVE_PERF_REGS=y CONFIG_HAVE_PERF_USER_STACK_DUMP=y @@ -249,13 +249,12 @@ CONFIG_HAVE_CMPXCHG_DOUBLE=y CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y CONFIG_HAVE_ARCH_SECCOMP_FILTER=y CONFIG_SECCOMP_FILTER=y +CONFIG_PLUGIN_HOSTCC="" CONFIG_HAVE_GCC_PLUGINS=y -# CONFIG_GCC_PLUGINS is not set -CONFIG_HAVE_CC_STACKPROTECTOR=y -CONFIG_CC_STACKPROTECTOR_NONE=y -# CONFIG_CC_STACKPROTECTOR_REGULAR is not set -# CONFIG_CC_STACKPROTECTOR_STRONG is not set -# CONFIG_CC_STACKPROTECTOR_AUTO is not set +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_CC_HAS_STACKPROTECTOR_NONE=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_STRONG=y CONFIG_HAVE_CONTEXT_TRACKING=y CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y @@ -271,6 +270,7 @@ CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11 CONFIG_CLONE_BACKWARDS=y CONFIG_OLD_SIGSUSPEND3=y CONFIG_COMPAT_OLD_SIGACTION=y +CONFIG_COMPAT_32BIT_TIME=y CONFIG_HAVE_ARCH_VMAP_STACK=y CONFIG_VMAP_STACK=y CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y @@ -284,7 +284,6 @@ CONFIG_REFCOUNT_FULL=y # # CONFIG_GCOV_KERNEL is not set CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y -CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_RT_MUTEXES=y CONFIG_BASE_SMALL=0 CONFIG_MODULES=y @@ -418,14 +417,6 @@ CONFIG_ARCH_SUNXI=y # # CONFIG_PCI is not set -# -# Cadence PCIe controllers support -# - -# -# DesignWare PCI Core Support -# - # # PCI Endpoint # @@ -539,6 +530,7 @@ CONFIG_IDLE_PAGE_TRACKING=y CONFIG_FRAME_VECTOR=y CONFIG_PERCPU_STATS=y # CONFIG_GUP_BENCHMARK is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y CONFIG_SECCOMP=y CONFIG_PARAVIRT=y # CONFIG_PARAVIRT_TIME_ACCOUNTING is not set @@ -549,6 +541,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_UNMAP_KERNEL_AT_EL0=y CONFIG_HARDEN_BRANCH_PREDICTOR=y CONFIG_HARDEN_EL2_VECTORS=y +CONFIG_ARM64_SSBD=y # CONFIG_ARMV8_DEPRECATED is not set # CONFIG_ARM64_SW_TTBR0_PAN is not set @@ -652,11 +645,11 @@ CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y # # CPU frequency scaling drivers # -CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT=m CONFIG_CPUFREQ_DT_PLATDEV=y -CONFIG_ARM_BIG_LITTLE_CPUFREQ=y +CONFIG_ARM_BIG_LITTLE_CPUFREQ=m # CONFIG_ARM_DT_BL_CPUFREQ is not set -CONFIG_ARM_SCPI_CPUFREQ=y +CONFIG_ARM_SCPI_CPUFREQ=m # CONFIG_ARM_SCMI_CPUFREQ is not set # CONFIG_QORIQ_CPUFREQ is not set CONFIG_NET=y @@ -671,6 +664,7 @@ CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_DIAG=m CONFIG_TLS=y +# CONFIG_TLS_DEVICE is not set CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=m @@ -772,6 +766,7 @@ CONFIG_IPV6_MROUTE=y # CONFIG_IPV6_PIMSM_V2 is not set CONFIG_IPV6_SEG6_LWTUNNEL=y CONFIG_IPV6_SEG6_HMAC=y +CONFIG_IPV6_SEG6_BPF=y # CONFIG_NETLABEL is not set CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y @@ -831,21 +826,18 @@ CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_SIP=m CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_REDIRECT=m +CONFIG_NF_NAT_REDIRECT=y CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NF_OSF=m CONFIG_NF_TABLES=m +# CONFIG_NF_TABLES_SET is not set # CONFIG_NF_TABLES_INET is not set # CONFIG_NF_TABLES_NETDEV is not set -CONFIG_NFT_EXTHDR=m -CONFIG_NFT_META=m -CONFIG_NFT_RT=m CONFIG_NFT_NUMGEN=m CONFIG_NFT_CT=m CONFIG_NFT_FLOW_OFFLOAD=m -CONFIG_NFT_SET_RBTREE=m -CONFIG_NFT_SET_HASH=m -CONFIG_NFT_SET_BITMAP=m CONFIG_NFT_COUNTER=m +# CONFIG_NFT_CONNLIMIT is not set CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m CONFIG_NFT_MASQ=m @@ -857,6 +849,7 @@ CONFIG_NFT_QUOTA=m CONFIG_NFT_REJECT=m CONFIG_NFT_COMPAT=m CONFIG_NFT_HASH=m +# CONFIG_NFT_SOCKET is not set CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE=m CONFIG_NETFILTER_XTABLES=y @@ -993,6 +986,7 @@ CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m CONFIG_IP_VS_SH=m +# CONFIG_IP_VS_MH is not set CONFIG_IP_VS_SED=m CONFIG_IP_VS_NQ=m @@ -1001,6 +995,11 @@ CONFIG_IP_VS_NQ=m # CONFIG_IP_VS_SH_TAB_BITS=8 +# +# IPVS MH scheduler +# +CONFIG_IP_VS_MH_TAB_INDEX=12 + # # IPVS application helper # @@ -1014,6 +1013,7 @@ CONFIG_IP_VS_NFCT=y CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_TPROXY_IPV4=m # CONFIG_NF_TABLES_IPV4 is not set # CONFIG_NF_TABLES_ARP is not set CONFIG_NF_FLOW_TABLE_IPV4=m @@ -1022,7 +1022,7 @@ CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_IPV4=m CONFIG_NF_REJECT_IPV4=m CONFIG_NF_NAT_IPV4=m -CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=y CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PPTP=m @@ -1055,13 +1055,14 @@ CONFIG_IP_NF_ARP_MANGLE=m CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TPROXY_IPV6=m # CONFIG_NF_TABLES_IPV6 is not set CONFIG_NF_FLOW_TABLE_IPV6=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_NAT_IPV6=m -CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=y CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1105,6 +1106,7 @@ CONFIG_BRIDGE_EBT_REDIRECT=m CONFIG_BRIDGE_EBT_SNAT=m CONFIG_BRIDGE_EBT_LOG=m CONFIG_BRIDGE_EBT_NFLOG=m +# CONFIG_BPFILTER is not set # CONFIG_IP_DCCP is not set # CONFIG_IP_SCTP is not set # CONFIG_RDS is not set @@ -1180,11 +1182,12 @@ CONFIG_NET_SCH_CHOKE=m CONFIG_NET_SCH_QFQ=m CONFIG_NET_SCH_CODEL=m # CONFIG_NET_SCH_FQ_CODEL is not set -# CONFIG_NET_SCH_FQ is not set +CONFIG_NET_SCH_FQ=m # CONFIG_NET_SCH_HHF is not set # CONFIG_NET_SCH_PIE is not set # CONFIG_NET_SCH_PLUG is not set CONFIG_NET_SCH_DEFAULT=y +# CONFIG_DEFAULT_FQ is not set # CONFIG_DEFAULT_CODEL is not set # CONFIG_DEFAULT_SFQ is not set CONFIG_DEFAULT_PFIFO_FAST=y @@ -1330,7 +1333,6 @@ CONFIG_BT_DEBUGFS=y CONFIG_BT_INTEL=m CONFIG_BT_BCM=m CONFIG_BT_RTL=m -CONFIG_BT_QCA=m CONFIG_BT_HCIBTUSB=m # CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set CONFIG_BT_HCIBTUSB_BCM=y @@ -1342,7 +1344,6 @@ CONFIG_BT_HCIUART_BCSP=y CONFIG_BT_HCIUART_ATH3K=y CONFIG_BT_HCIUART_3WIRE=y CONFIG_BT_HCIUART_INTEL=y -CONFIG_BT_HCIUART_QCA=y CONFIG_BT_HCIUART_AG6XX=y CONFIG_BT_HCIUART_MRVL=y CONFIG_BT_HCIBCM203X=m @@ -1373,7 +1374,6 @@ CONFIG_CFG80211_WEXT=y CONFIG_LIB80211=m CONFIG_LIB80211_CRYPT_WEP=m CONFIG_LIB80211_CRYPT_CCMP=m -CONFIG_LIB80211_CRYPT_TKIP=m # CONFIG_LIB80211_DEBUG is not set CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y @@ -1406,6 +1406,7 @@ CONFIG_DST_CACHE=y CONFIG_GRO_CELLS=y # CONFIG_NET_DEVLINK is not set CONFIG_MAY_USE_DEVLINK=y +CONFIG_FAILOVER=m CONFIG_HAVE_EBPF_JIT=y # @@ -1422,9 +1423,13 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# CONFIG_FW_LOADER=y CONFIG_EXTRA_FIRMWARE="" -# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set +# CONFIG_FW_LOADER_USER_HELPER is not set CONFIG_WANT_DEV_COREDUMP=y CONFIG_ALLOW_DEV_COREDUMP=y CONFIG_DEV_COREDUMP=y @@ -1454,8 +1459,10 @@ CONFIG_GENERIC_ARCH_TOPOLOGY=y # # Bus devices # +CONFIG_ARM_CCI=y # CONFIG_BRCMSTB_GISB_ARB is not set # CONFIG_SIMPLE_PM_BUS is not set +CONFIG_SUN50I_DE2_BUS=y CONFIG_SUNXI_RSB=y # CONFIG_VEXPRESS_CONFIG is not set # CONFIG_CONNECTOR is not set @@ -1556,13 +1563,13 @@ CONFIG_OF_MDIO=y CONFIG_OF_RESERVED_MEM=y CONFIG_OF_RESOLVE=y CONFIG_OF_OVERLAY=y -CONFIG_OF_CONFIGFS=y CONFIG_OF_NUMA=y # CONFIG_PARPORT is not set CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_NULL_BLK is not set CONFIG_ZRAM=m # CONFIG_ZRAM_WRITEBACK is not set +# CONFIG_ZRAM_MEMORY_TRACKING is not set CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 CONFIG_BLK_DEV_CRYPTOLOOP=m @@ -1724,6 +1731,7 @@ CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m CONFIG_DM_THIN_PROVISIONING=m # CONFIG_DM_CACHE is not set +# CONFIG_DM_WRITECACHE is not set # CONFIG_DM_ERA is not set # CONFIG_DM_MIRROR is not set # CONFIG_DM_RAID is not set @@ -1797,8 +1805,8 @@ CONFIG_NET_VENDOR_ALLWINNER=y # CONFIG_NET_VENDOR_AQUANTIA is not set # CONFIG_NET_VENDOR_ARC is not set # CONFIG_NET_VENDOR_AURORA is not set -# CONFIG_NET_CADENCE is not set # CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_CADENCE is not set CONFIG_NET_VENDOR_CORTINA=y # CONFIG_GEMINI_ETHERNET is not set # CONFIG_DNET is not set @@ -1811,30 +1819,38 @@ CONFIG_NET_VENDOR_MELLANOX=y # CONFIG_MLXSW_CORE is not set # CONFIG_MLXFW is not set # CONFIG_NET_VENDOR_MICREL is not set -# CONFIG_NET_VENDOR_MICROCHIP is not set +CONFIG_NET_VENDOR_MICROCHIP=y +CONFIG_ENC28J60=m +CONFIG_ENC28J60_WRITEVERIFY=y +# CONFIG_ENCX24J600 is not set +CONFIG_NET_VENDOR_MICROSEMI=y +# CONFIG_MSCC_OCELOT_SWITCH is not set # CONFIG_NET_VENDOR_NATSEMI is not set -# CONFIG_NET_VENDOR_NETRONOME is not set +CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NET_VENDOR_NI=y # CONFIG_ETHOC is not set -# CONFIG_NET_VENDOR_QUALCOMM is not set -# CONFIG_NET_VENDOR_RENESAS is not set -# CONFIG_NET_VENDOR_ROCKER is not set +CONFIG_NET_VENDOR_QUALCOMM=y +# CONFIG_QCA7000_SPI is not set +# CONFIG_QCOM_EMAC is not set +# CONFIG_RMNET is not set +CONFIG_NET_VENDOR_RENESAS=y +CONFIG_NET_VENDOR_ROCKER=y # CONFIG_NET_VENDOR_SAMSUNG is not set # CONFIG_NET_VENDOR_SEEQ is not set -# CONFIG_NET_VENDOR_SOLARFLARE is not set +CONFIG_NET_VENDOR_SOLARFLARE=y # CONFIG_NET_VENDOR_SMSC is not set CONFIG_NET_VENDOR_SOCIONEXT=y CONFIG_NET_VENDOR_STMICRO=y CONFIG_STMMAC_ETH=y CONFIG_STMMAC_PLATFORM=y -CONFIG_DWMAC_DWC_QOS_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=m CONFIG_DWMAC_GENERIC=y CONFIG_DWMAC_SUNXI=y CONFIG_DWMAC_SUN8I=y -# CONFIG_NET_VENDOR_VIA is not set -# CONFIG_NET_VENDOR_WIZNET is not set CONFIG_NET_VENDOR_SYNOPSYS=y # CONFIG_DWC_XLGMAC is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WIZNET is not set CONFIG_MDIO_DEVICE=y CONFIG_MDIO_BUS=y # CONFIG_MDIO_BCM_UNIMAC is not set @@ -1844,8 +1860,11 @@ CONFIG_MDIO_BUS_MUX=y # CONFIG_MDIO_BUS_MUX_MMIOREG is not set # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set +CONFIG_MDIO_I2C=m +# CONFIG_MDIO_MSCC_MIIM is not set # CONFIG_MDIO_OCTEON is not set # CONFIG_MDIO_SUN4I is not set +CONFIG_PHYLINK=m CONFIG_PHYLIB=y CONFIG_SWPHY=y CONFIG_LED_TRIGGER_PHY=y @@ -1853,8 +1872,10 @@ CONFIG_LED_TRIGGER_PHY=y # # MII PHY device drivers # +CONFIG_SFP=m # CONFIG_AMD_PHY is not set # CONFIG_AQUANTIA_PHY is not set +CONFIG_ASIX_PHY=m # CONFIG_AT803X_PHY is not set # CONFIG_BCM7XXX_PHY is not set # CONFIG_BCM87XX_PHY is not set @@ -1863,6 +1884,7 @@ CONFIG_LED_TRIGGER_PHY=y # CONFIG_CORTINA_PHY is not set # CONFIG_DAVICOM_PHY is not set # CONFIG_DP83822_PHY is not set +CONFIG_DP83TC811_PHY=m # CONFIG_DP83848_PHY is not set # CONFIG_DP83867_PHY is not set CONFIG_FIXED_PHY=y @@ -1874,6 +1896,7 @@ CONFIG_FIXED_PHY=y # CONFIG_MARVELL_10G_PHY is not set # CONFIG_MICREL_PHY is not set CONFIG_MICROCHIP_PHY=m +CONFIG_MICROCHIP_T1_PHY=m # CONFIG_MICROSEMI_PHY is not set # CONFIG_NATIONAL_PHY is not set # CONFIG_QSEMI_PHY is not set @@ -1926,12 +1949,12 @@ CONFIG_USB_NET_MCS7830=m CONFIG_USB_NET_RNDIS_HOST=m CONFIG_USB_NET_CDC_SUBSET_ENABLE=m CONFIG_USB_NET_CDC_SUBSET=m -# CONFIG_USB_ALI_M5632 is not set -# CONFIG_USB_AN2720 is not set +CONFIG_USB_ALI_M5632=y +CONFIG_USB_AN2720=y CONFIG_USB_BELKIN=y CONFIG_USB_ARMLINUX=y -# CONFIG_USB_EPSON2888 is not set -# CONFIG_USB_KC2190 is not set +CONFIG_USB_EPSON2888=y +CONFIG_USB_KC2190=y CONFIG_USB_NET_ZAURUS=m CONFIG_USB_NET_CX82310_ETH=m CONFIG_USB_NET_KALMIA=m @@ -1943,15 +1966,21 @@ CONFIG_USB_SIERRA_NET=m CONFIG_USB_VL600=m CONFIG_USB_NET_CH9200=m CONFIG_WLAN=y -# CONFIG_WLAN_VENDOR_ADMTEK is not set -CONFIG_RTL8189ES=m +CONFIG_WLAN_VENDOR_ADMTEK=y CONFIG_ATH_COMMON=m CONFIG_WLAN_VENDOR_ATH=y # CONFIG_ATH_DEBUG is not set CONFIG_ATH9K_HW=m CONFIG_ATH9K_COMMON=m CONFIG_ATH9K_BTCOEX_SUPPORT=y -# CONFIG_ATH9K is not set +CONFIG_ATH9K=m +# CONFIG_ATH9K_AHB is not set +# CONFIG_ATH9K_DEBUGFS is not set +# CONFIG_ATH9K_DYNACK is not set +# CONFIG_ATH9K_WOW is not set +CONFIG_ATH9K_RFKILL=y +# CONFIG_ATH9K_CHANNEL_CONTEXT is not set +CONFIG_ATH9K_PCOEM=y CONFIG_ATH9K_HTC=m # CONFIG_ATH9K_HTC_DEBUGFS is not set CONFIG_CARL9170=m @@ -1960,12 +1989,12 @@ CONFIG_CARL9170_WPC=y # CONFIG_ATH6KL is not set CONFIG_AR5523=m CONFIG_ATH10K=m +CONFIG_ATH10K_CE=y # CONFIG_ATH10K_SDIO is not set CONFIG_ATH10K_USB=m # CONFIG_ATH10K_DEBUG is not set # CONFIG_ATH10K_DEBUGFS is not set # CONFIG_WCN36XX is not set -CONFIG_RTL8188EU=m # CONFIG_WLAN_VENDOR_ATMEL is not set CONFIG_WLAN_VENDOR_BROADCOM=y CONFIG_B43=m @@ -2003,8 +2032,6 @@ CONFIG_BRCMFMAC_SDIO=y # CONFIG_WLAN_VENDOR_INTEL is not set # CONFIG_WLAN_VENDOR_INTERSIL is not set # CONFIG_WLAN_VENDOR_MARVELL is not set -CONFIG_RTL8812AU=m -CONFIG_RTL8814AU=m CONFIG_WLAN_VENDOR_MEDIATEK=y CONFIG_MT7601U=m CONFIG_WLAN_VENDOR_RALINK=y @@ -2028,7 +2055,6 @@ CONFIG_RT2X00_LIB_LEDS=y CONFIG_WLAN_VENDOR_REALTEK=y CONFIG_RTL8187=m CONFIG_RTL8187_LEDS=y -CONFIG_RTL8189FS=m CONFIG_RTL_CARDS=m # CONFIG_RTL8192CU is not set CONFIG_RTL8XXXU=m @@ -2036,7 +2062,6 @@ CONFIG_RTL8XXXU_UNTESTED=y # CONFIG_WLAN_VENDOR_RSI is not set # CONFIG_WLAN_VENDOR_ST is not set # CONFIG_WLAN_VENDOR_TI is not set -# CONFIG_WLAN_VENDOR_XRADIO is not set # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN_VENDOR_QUANTENNA=y # CONFIG_MAC80211_HWSIM is not set @@ -2048,6 +2073,7 @@ CONFIG_USB_NET_RNDIS_WLAN=m # CONFIG_WAN is not set CONFIG_IEEE802154_DRIVERS=m CONFIG_NETDEVSIM=m +CONFIG_NET_FAILOVER=m # CONFIG_ISDN is not set # @@ -2242,7 +2268,19 @@ CONFIG_INPUT_GPIO_ROTARY_ENCODER=m # CONFIG_INPUT_DRV260X_HAPTICS is not set # CONFIG_INPUT_DRV2665_HAPTICS is not set # CONFIG_INPUT_DRV2667_HAPTICS is not set -# CONFIG_RMI4_CORE is not set +CONFIG_RMI4_CORE=m +CONFIG_RMI4_I2C=m +CONFIG_RMI4_SPI=m +CONFIG_RMI4_SMB=m +CONFIG_RMI4_F03=y +CONFIG_RMI4_F03_SERIO=m +CONFIG_RMI4_2D_SENSOR=y +CONFIG_RMI4_F11=y +CONFIG_RMI4_F12=y +CONFIG_RMI4_F30=y +# CONFIG_RMI4_F34 is not set +# CONFIG_RMI4_F54 is not set +# CONFIG_RMI4_F55 is not set # # Hardware I/O ports @@ -2405,6 +2443,7 @@ CONFIG_I2C_SLAVE=y # CONFIG_I2C_DEBUG_BUS is not set CONFIG_SPI=y CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y # # SPI Master Controller Drivers @@ -2475,6 +2514,7 @@ CONFIG_PINCTRL_SUN50I_H5=y CONFIG_PINCTRL_SUN50I_H6=y CONFIG_PINCTRL_SUN50I_H6_R=y CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 CONFIG_OF_GPIO=y CONFIG_GPIO_SYSFS=y CONFIG_GPIO_GENERIC=y @@ -2603,139 +2643,143 @@ CONFIG_BATTERY_MAX1721X=m # CONFIG_BATTERY_GAUGE_LTC2941 is not set # CONFIG_CHARGER_RT9455 is not set CONFIG_HWMON=y +CONFIG_HWMON_VID=m # CONFIG_HWMON_DEBUG_CHIP is not set # # Native drivers # -# CONFIG_SENSORS_AD7314 is not set -# CONFIG_SENSORS_AD7414 is not set -# CONFIG_SENSORS_AD7418 is not set -# CONFIG_SENSORS_ADM1021 is not set -# CONFIG_SENSORS_ADM1025 is not set -# CONFIG_SENSORS_ADM1026 is not set -# CONFIG_SENSORS_ADM1029 is not set -# CONFIG_SENSORS_ADM1031 is not set -# CONFIG_SENSORS_ADM9240 is not set -# CONFIG_SENSORS_ADT7310 is not set -# CONFIG_SENSORS_ADT7410 is not set -# CONFIG_SENSORS_ADT7411 is not set -# CONFIG_SENSORS_ADT7462 is not set -# CONFIG_SENSORS_ADT7470 is not set -# CONFIG_SENSORS_ADT7475 is not set -# CONFIG_SENSORS_ASC7621 is not set -# CONFIG_SENSORS_ARM_SCMI is not set -CONFIG_SENSORS_ARM_SCPI=y +CONFIG_SENSORS_AD7314=m +CONFIG_SENSORS_AD7414=m +CONFIG_SENSORS_AD7418=m +CONFIG_SENSORS_ADM1021=m +CONFIG_SENSORS_ADM1025=m +CONFIG_SENSORS_ADM1026=m +CONFIG_SENSORS_ADM1029=m +CONFIG_SENSORS_ADM1031=m +CONFIG_SENSORS_ADM9240=m +CONFIG_SENSORS_ADT7X10=m +CONFIG_SENSORS_ADT7310=m +CONFIG_SENSORS_ADT7410=m +CONFIG_SENSORS_ADT7411=m +CONFIG_SENSORS_ADT7462=m +CONFIG_SENSORS_ADT7470=m +CONFIG_SENSORS_ADT7475=m +CONFIG_SENSORS_ASC7621=m +CONFIG_SENSORS_ARM_SCMI=m +CONFIG_SENSORS_ARM_SCPI=m # CONFIG_SENSORS_ASPEED is not set -# CONFIG_SENSORS_ATXP1 is not set -# CONFIG_SENSORS_DS620 is not set -# CONFIG_SENSORS_DS1621 is not set -# CONFIG_SENSORS_F71805F is not set -# CONFIG_SENSORS_F71882FG is not set -# CONFIG_SENSORS_F75375S is not set -# CONFIG_SENSORS_FTSTEUTATES is not set -# CONFIG_SENSORS_GL518SM is not set -# CONFIG_SENSORS_GL520SM is not set -# CONFIG_SENSORS_G760A is not set -# CONFIG_SENSORS_G762 is not set -# CONFIG_SENSORS_GPIO_FAN is not set -# CONFIG_SENSORS_HIH6130 is not set -CONFIG_SENSORS_IIO_HWMON=m -# CONFIG_SENSORS_IT87 is not set -# CONFIG_SENSORS_JC42 is not set -# CONFIG_SENSORS_POWR1220 is not set -# CONFIG_SENSORS_LINEAGE is not set -# CONFIG_SENSORS_LTC2945 is not set -# CONFIG_SENSORS_LTC2990 is not set -# CONFIG_SENSORS_LTC4151 is not set -# CONFIG_SENSORS_LTC4215 is not set -# CONFIG_SENSORS_LTC4222 is not set -# CONFIG_SENSORS_LTC4245 is not set -# CONFIG_SENSORS_LTC4260 is not set -# CONFIG_SENSORS_LTC4261 is not set -# CONFIG_SENSORS_MAX1111 is not set -# CONFIG_SENSORS_MAX16065 is not set -# CONFIG_SENSORS_MAX1619 is not set -# CONFIG_SENSORS_MAX1668 is not set -# CONFIG_SENSORS_MAX197 is not set -# CONFIG_SENSORS_MAX31722 is not set -CONFIG_SENSORS_MAX6621=m -# CONFIG_SENSORS_MAX6639 is not set -# CONFIG_SENSORS_MAX6642 is not set -# CONFIG_SENSORS_MAX6650 is not set -# CONFIG_SENSORS_MAX6697 is not set -# CONFIG_SENSORS_MAX31790 is not set -# CONFIG_SENSORS_MCP3021 is not set +CONFIG_SENSORS_ATXP1=m +CONFIG_SENSORS_DS620=m +CONFIG_SENSORS_DS1621=m +CONFIG_SENSORS_F71805F=m +CONFIG_SENSORS_F71882FG=m +CONFIG_SENSORS_F75375S=m +CONFIG_SENSORS_FTSTEUTATES=m +CONFIG_SENSORS_GL518SM=m +CONFIG_SENSORS_GL520SM=m +CONFIG_SENSORS_G760A=m +CONFIG_SENSORS_G762=m +CONFIG_SENSORS_GPIO_FAN=m +CONFIG_SENSORS_HIH6130=m +# CONFIG_SENSORS_IIO_HWMON is not set +CONFIG_SENSORS_IT87=m +CONFIG_SENSORS_JC42=m +CONFIG_SENSORS_POWR1220=m +CONFIG_SENSORS_LINEAGE=m +CONFIG_SENSORS_LTC2945=m +CONFIG_SENSORS_LTC2990=m +CONFIG_SENSORS_LTC4151=m +CONFIG_SENSORS_LTC4215=m +CONFIG_SENSORS_LTC4222=m +CONFIG_SENSORS_LTC4245=m +CONFIG_SENSORS_LTC4260=m +CONFIG_SENSORS_LTC4261=m +CONFIG_SENSORS_MAX1111=m +CONFIG_SENSORS_MAX16065=m +CONFIG_SENSORS_MAX1619=m +CONFIG_SENSORS_MAX1668=m +CONFIG_SENSORS_MAX197=m +CONFIG_SENSORS_MAX31722=m +# CONFIG_SENSORS_MAX6621 is not set +CONFIG_SENSORS_MAX6639=m +CONFIG_SENSORS_MAX6642=m +CONFIG_SENSORS_MAX6650=m +CONFIG_SENSORS_MAX6697=m +CONFIG_SENSORS_MAX31790=m +CONFIG_SENSORS_MCP3021=m # CONFIG_SENSORS_TC654 is not set -# CONFIG_SENSORS_ADCXX is not set -# CONFIG_SENSORS_LM63 is not set -# CONFIG_SENSORS_LM70 is not set -# CONFIG_SENSORS_LM73 is not set -# CONFIG_SENSORS_LM75 is not set -# CONFIG_SENSORS_LM77 is not set -# CONFIG_SENSORS_LM78 is not set -# CONFIG_SENSORS_LM80 is not set -# CONFIG_SENSORS_LM83 is not set -# CONFIG_SENSORS_LM85 is not set -# CONFIG_SENSORS_LM87 is not set +CONFIG_SENSORS_ADCXX=m +CONFIG_SENSORS_LM63=m +CONFIG_SENSORS_LM70=m +CONFIG_SENSORS_LM73=m +CONFIG_SENSORS_LM75=m +CONFIG_SENSORS_LM77=m +CONFIG_SENSORS_LM78=m +CONFIG_SENSORS_LM80=m +CONFIG_SENSORS_LM83=m +CONFIG_SENSORS_LM85=m +CONFIG_SENSORS_LM87=m CONFIG_SENSORS_LM90=m -# CONFIG_SENSORS_LM92 is not set -# CONFIG_SENSORS_LM93 is not set -# CONFIG_SENSORS_LM95234 is not set -# CONFIG_SENSORS_LM95241 is not set -# CONFIG_SENSORS_LM95245 is not set -# CONFIG_SENSORS_PC87360 is not set -# CONFIG_SENSORS_PC87427 is not set -# CONFIG_SENSORS_NTC_THERMISTOR is not set -# CONFIG_SENSORS_NCT6683 is not set -# CONFIG_SENSORS_NCT6775 is not set -# CONFIG_SENSORS_NCT7802 is not set -# CONFIG_SENSORS_NCT7904 is not set -# CONFIG_SENSORS_PCF8591 is not set +CONFIG_SENSORS_LM92=m +CONFIG_SENSORS_LM93=m +CONFIG_SENSORS_LM95234=m +CONFIG_SENSORS_LM95241=m +CONFIG_SENSORS_LM95245=m +CONFIG_SENSORS_PC87360=m +CONFIG_SENSORS_PC87427=m +CONFIG_SENSORS_NTC_THERMISTOR=m +CONFIG_SENSORS_NCT6683=m +CONFIG_SENSORS_NCT6775=m +CONFIG_SENSORS_NCT7802=m +CONFIG_SENSORS_NCT7904=m +CONFIG_SENSORS_PCF8591=m # CONFIG_PMBUS is not set CONFIG_SENSORS_PWM_FAN=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SHT21=m CONFIG_SENSORS_SHT3x=m CONFIG_SENSORS_SHTC1=m -# CONFIG_SENSORS_DME1737 is not set -# CONFIG_SENSORS_EMC1403 is not set -# CONFIG_SENSORS_EMC2103 is not set -# CONFIG_SENSORS_EMC6W201 is not set -# CONFIG_SENSORS_SMSC47M1 is not set -# CONFIG_SENSORS_SMSC47M192 is not set -# CONFIG_SENSORS_SMSC47B397 is not set -# CONFIG_SENSORS_SCH5627 is not set -# CONFIG_SENSORS_SCH5636 is not set -# CONFIG_SENSORS_STTS751 is not set -# CONFIG_SENSORS_SMM665 is not set -# CONFIG_SENSORS_ADC128D818 is not set -# CONFIG_SENSORS_ADS1015 is not set -# CONFIG_SENSORS_ADS7828 is not set -# CONFIG_SENSORS_ADS7871 is not set -# CONFIG_SENSORS_AMC6821 is not set -# CONFIG_SENSORS_INA209 is not set -# CONFIG_SENSORS_INA2XX is not set -# CONFIG_SENSORS_INA3221 is not set -# CONFIG_SENSORS_TC74 is not set -# CONFIG_SENSORS_THMC50 is not set -# CONFIG_SENSORS_TMP102 is not set -# CONFIG_SENSORS_TMP103 is not set +CONFIG_SENSORS_DME1737=m +CONFIG_SENSORS_EMC1403=m +CONFIG_SENSORS_EMC2103=m +CONFIG_SENSORS_EMC6W201=m +CONFIG_SENSORS_SMSC47M1=m +CONFIG_SENSORS_SMSC47M192=m +CONFIG_SENSORS_SMSC47B397=m +CONFIG_SENSORS_SCH56XX_COMMON=m +CONFIG_SENSORS_SCH5627=m +CONFIG_SENSORS_SCH5636=m +CONFIG_SENSORS_STTS751=m +CONFIG_SENSORS_SMM665=m +CONFIG_SENSORS_ADC128D818=m +CONFIG_SENSORS_ADS1015=m +CONFIG_SENSORS_ADS7828=m +CONFIG_SENSORS_ADS7871=m +CONFIG_SENSORS_AMC6821=m +CONFIG_SENSORS_INA209=m +CONFIG_SENSORS_INA2XX=m +CONFIG_SENSORS_INA3221=m +CONFIG_SENSORS_TC74=m +CONFIG_SENSORS_THMC50=m +CONFIG_SENSORS_TMP102=m +CONFIG_SENSORS_TMP103=m # CONFIG_SENSORS_TMP108 is not set -# CONFIG_SENSORS_TMP401 is not set -# CONFIG_SENSORS_TMP421 is not set -# CONFIG_SENSORS_VT1211 is not set +CONFIG_SENSORS_TMP401=m +CONFIG_SENSORS_TMP421=m +CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_W83773G=m -# CONFIG_SENSORS_W83781D is not set -# CONFIG_SENSORS_W83791D is not set -# CONFIG_SENSORS_W83792D is not set -# CONFIG_SENSORS_W83793 is not set -# CONFIG_SENSORS_W83795 is not set -# CONFIG_SENSORS_W83L785TS is not set -# CONFIG_SENSORS_W83L786NG is not set -# CONFIG_SENSORS_W83627HF is not set -# CONFIG_SENSORS_W83627EHF is not set -CONFIG_THERMAL=y +CONFIG_SENSORS_W83781D=m +CONFIG_SENSORS_W83791D=m +CONFIG_SENSORS_W83792D=m +CONFIG_SENSORS_W83793=m +CONFIG_SENSORS_W83795=m +# CONFIG_SENSORS_W83795_FANCTRL is not set +CONFIG_SENSORS_W83L785TS=m +CONFIG_SENSORS_W83L786NG=m +CONFIG_SENSORS_W83627HF=m +CONFIG_SENSORS_W83627EHF=m +CONFIG_THERMAL=m # CONFIG_THERMAL_STATISTICS is not set CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 CONFIG_THERMAL_HWMON=y @@ -2759,6 +2803,7 @@ CONFIG_THERMAL_EMULATION=y # # ACPI INT340X thermal drivers # +CONFIG_SUN50I_H6_THS=m # CONFIG_QCOM_SPMI_TEMP_ALARM is not set # CONFIG_GENERIC_ADC_THERMAL is not set CONFIG_WATCHDOG=y @@ -2778,7 +2823,7 @@ CONFIG_SOFT_WATCHDOG=m # CONFIG_ARM_SBSA_WATCHDOG is not set # CONFIG_CADENCE_WATCHDOG is not set # CONFIG_DW_WATCHDOG is not set -# CONFIG_SUNXI_WATCHDOG is not set +CONFIG_SUNXI_WATCHDOG=y # CONFIG_MAX63XX_WATCHDOG is not set # CONFIG_MEN_A21_WDT is not set @@ -2822,7 +2867,7 @@ CONFIG_MFD_SUN4I_GPADC=m CONFIG_MFD_BD9571MWV=m # CONFIG_MFD_AC100 is not set CONFIG_MFD_AXP20X=y -# CONFIG_MFD_AXP20X_I2C is not set +CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_AXP20X_RSB=y # CONFIG_MFD_CROS_EC is not set # CONFIG_PMIC_DA903X is not set @@ -2892,7 +2937,7 @@ CONFIG_MFD_SYSCON=y # CONFIG_MFD_TPS80031 is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set -# CONFIG_MFD_WL1273_CORE is not set +CONFIG_MFD_WL1273_CORE=m # CONFIG_MFD_LM3533 is not set # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_ARIZONA_I2C is not set @@ -2940,6 +2985,7 @@ CONFIG_REGULATOR_QCOM_SPMI=y # CONFIG_REGULATOR_S2MPA01 is not set CONFIG_REGULATOR_S2MPS11=y # CONFIG_REGULATOR_S5M8767 is not set +CONFIG_REGULATOR_SY8106A=m # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set @@ -2989,23 +3035,32 @@ CONFIG_MEDIA_SUPPORT=m # Multimedia core support # CONFIG_MEDIA_CAMERA_SUPPORT=y -# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set -# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set -# CONFIG_MEDIA_RADIO_SUPPORT is not set -# CONFIG_MEDIA_SDR_SUPPORT is not set +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +CONFIG_MEDIA_RADIO_SUPPORT=y +CONFIG_MEDIA_SDR_SUPPORT=y # CONFIG_MEDIA_CEC_SUPPORT is not set # CONFIG_MEDIA_CEC_RC is not set # CONFIG_CEC_PIN_ERROR_INJ is not set CONFIG_MEDIA_CONTROLLER=y +# CONFIG_MEDIA_CONTROLLER_DVB is not set CONFIG_VIDEO_DEV=m CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_VIDEO_V4L2=m # CONFIG_VIDEO_ADV_DEBUG is not set -# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_VIDEO_FIXED_MINOR_RANGES=y CONFIG_VIDEO_TUNER=m CONFIG_V4L2_FWNODE=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_VMALLOC=m +CONFIG_DVB_CORE=m +# CONFIG_DVB_MMAP is not set +CONFIG_DVB_NET=y +CONFIG_TTPCI_EEPROM=m +CONFIG_DVB_MAX_ADAPTERS=8 +CONFIG_DVB_DYNAMIC_MINORS=y +# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set +# CONFIG_DVB_ULE_DEBUG is not set # # Media drivers @@ -3018,55 +3073,55 @@ CONFIG_MEDIA_USB_SUPPORT=y CONFIG_USB_VIDEO_CLASS=m CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y CONFIG_USB_GSPCA=m -# CONFIG_USB_M5602 is not set -# CONFIG_USB_STV06XX is not set -# CONFIG_USB_GL860 is not set -# CONFIG_USB_GSPCA_BENQ is not set -# CONFIG_USB_GSPCA_CONEX is not set -# CONFIG_USB_GSPCA_CPIA1 is not set -# CONFIG_USB_GSPCA_DTCS033 is not set -# CONFIG_USB_GSPCA_ETOMS is not set -# CONFIG_USB_GSPCA_FINEPIX is not set -# CONFIG_USB_GSPCA_JEILINJ is not set -# CONFIG_USB_GSPCA_JL2005BCD is not set -# CONFIG_USB_GSPCA_KINECT is not set -# CONFIG_USB_GSPCA_KONICA is not set -# CONFIG_USB_GSPCA_MARS is not set -# CONFIG_USB_GSPCA_MR97310A is not set -# CONFIG_USB_GSPCA_NW80X is not set -# CONFIG_USB_GSPCA_OV519 is not set -# CONFIG_USB_GSPCA_OV534 is not set -# CONFIG_USB_GSPCA_OV534_9 is not set -# CONFIG_USB_GSPCA_PAC207 is not set -# CONFIG_USB_GSPCA_PAC7302 is not set -# CONFIG_USB_GSPCA_PAC7311 is not set -# CONFIG_USB_GSPCA_SE401 is not set -# CONFIG_USB_GSPCA_SN9C2028 is not set -# CONFIG_USB_GSPCA_SN9C20X is not set -# CONFIG_USB_GSPCA_SONIXB is not set -# CONFIG_USB_GSPCA_SONIXJ is not set -# CONFIG_USB_GSPCA_SPCA500 is not set -# CONFIG_USB_GSPCA_SPCA501 is not set -# CONFIG_USB_GSPCA_SPCA505 is not set -# CONFIG_USB_GSPCA_SPCA506 is not set -# CONFIG_USB_GSPCA_SPCA508 is not set -# CONFIG_USB_GSPCA_SPCA561 is not set -# CONFIG_USB_GSPCA_SPCA1528 is not set -# CONFIG_USB_GSPCA_SQ905 is not set -# CONFIG_USB_GSPCA_SQ905C is not set -# CONFIG_USB_GSPCA_SQ930X is not set -# CONFIG_USB_GSPCA_STK014 is not set -# CONFIG_USB_GSPCA_STK1135 is not set -# CONFIG_USB_GSPCA_STV0680 is not set -# CONFIG_USB_GSPCA_SUNPLUS is not set -# CONFIG_USB_GSPCA_T613 is not set -# CONFIG_USB_GSPCA_TOPRO is not set -# CONFIG_USB_GSPCA_TOUPTEK is not set -# CONFIG_USB_GSPCA_TV8532 is not set -# CONFIG_USB_GSPCA_VC032X is not set -# CONFIG_USB_GSPCA_VICAM is not set -# CONFIG_USB_GSPCA_XIRLINK_CIT is not set -# CONFIG_USB_GSPCA_ZC3XX is not set +CONFIG_USB_M5602=m +CONFIG_USB_STV06XX=m +CONFIG_USB_GL860=m +CONFIG_USB_GSPCA_BENQ=m +CONFIG_USB_GSPCA_CONEX=m +CONFIG_USB_GSPCA_CPIA1=m +CONFIG_USB_GSPCA_DTCS033=m +CONFIG_USB_GSPCA_ETOMS=m +CONFIG_USB_GSPCA_FINEPIX=m +CONFIG_USB_GSPCA_JEILINJ=m +CONFIG_USB_GSPCA_JL2005BCD=m +CONFIG_USB_GSPCA_KINECT=m +CONFIG_USB_GSPCA_KONICA=m +CONFIG_USB_GSPCA_MARS=m +CONFIG_USB_GSPCA_MR97310A=m +CONFIG_USB_GSPCA_NW80X=m +CONFIG_USB_GSPCA_OV519=m +CONFIG_USB_GSPCA_OV534=m +CONFIG_USB_GSPCA_OV534_9=m +CONFIG_USB_GSPCA_PAC207=m +CONFIG_USB_GSPCA_PAC7302=m +CONFIG_USB_GSPCA_PAC7311=m +CONFIG_USB_GSPCA_SE401=m +CONFIG_USB_GSPCA_SN9C2028=m +CONFIG_USB_GSPCA_SN9C20X=m +CONFIG_USB_GSPCA_SONIXB=m +CONFIG_USB_GSPCA_SONIXJ=m +CONFIG_USB_GSPCA_SPCA500=m +CONFIG_USB_GSPCA_SPCA501=m +CONFIG_USB_GSPCA_SPCA505=m +CONFIG_USB_GSPCA_SPCA506=m +CONFIG_USB_GSPCA_SPCA508=m +CONFIG_USB_GSPCA_SPCA561=m +CONFIG_USB_GSPCA_SPCA1528=m +CONFIG_USB_GSPCA_SQ905=m +CONFIG_USB_GSPCA_SQ905C=m +CONFIG_USB_GSPCA_SQ930X=m +CONFIG_USB_GSPCA_STK014=m +CONFIG_USB_GSPCA_STK1135=m +CONFIG_USB_GSPCA_STV0680=m +CONFIG_USB_GSPCA_SUNPLUS=m +CONFIG_USB_GSPCA_T613=m +CONFIG_USB_GSPCA_TOPRO=m +CONFIG_USB_GSPCA_TOUPTEK=m +CONFIG_USB_GSPCA_TV8532=m +CONFIG_USB_GSPCA_VC032X=m +CONFIG_USB_GSPCA_VICAM=m +CONFIG_USB_GSPCA_XIRLINK_CIT=m +CONFIG_USB_GSPCA_ZC3XX=m CONFIG_USB_PWC=m # CONFIG_USB_PWC_DEBUG is not set CONFIG_USB_PWC_INPUT_EVDEV=y @@ -3076,44 +3131,164 @@ CONFIG_USB_STKWEBCAM=m CONFIG_USB_S2255=m CONFIG_VIDEO_USBTV=m +# +# Analog TV USB devices +# +CONFIG_VIDEO_PVRUSB2=m +CONFIG_VIDEO_PVRUSB2_SYSFS=y +CONFIG_VIDEO_PVRUSB2_DVB=y +# CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set +CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_USBVISION=m +CONFIG_VIDEO_STK1160_COMMON=m +CONFIG_VIDEO_STK1160=m +# CONFIG_VIDEO_GO7007 is not set + +# +# Analog/digital TV USB devices +# +CONFIG_VIDEO_AU0828=m +CONFIG_VIDEO_AU0828_V4L2=y +# CONFIG_VIDEO_AU0828_RC is not set +CONFIG_VIDEO_CX231XX=m +CONFIG_VIDEO_CX231XX_RC=y +CONFIG_VIDEO_CX231XX_ALSA=m +CONFIG_VIDEO_CX231XX_DVB=m +CONFIG_VIDEO_TM6000=m +CONFIG_VIDEO_TM6000_ALSA=m +CONFIG_VIDEO_TM6000_DVB=m + +# +# Digital TV USB devices +# +CONFIG_DVB_USB=m +# CONFIG_DVB_USB_DEBUG is not set +CONFIG_DVB_USB_DIB3000MC=m +CONFIG_DVB_USB_A800=m +CONFIG_DVB_USB_DIBUSB_MB=m +CONFIG_DVB_USB_DIBUSB_MB_FAULTY=y +CONFIG_DVB_USB_DIBUSB_MC=m +CONFIG_DVB_USB_DIB0700=m +CONFIG_DVB_USB_UMT_010=m +CONFIG_DVB_USB_CXUSB=m +CONFIG_DVB_USB_M920X=m +CONFIG_DVB_USB_DIGITV=m +CONFIG_DVB_USB_VP7045=m +CONFIG_DVB_USB_VP702X=m +CONFIG_DVB_USB_GP8PSK=m +CONFIG_DVB_USB_NOVA_T_USB2=m +CONFIG_DVB_USB_TTUSB2=m +CONFIG_DVB_USB_DTT200U=m +CONFIG_DVB_USB_OPERA1=m +CONFIG_DVB_USB_AF9005=m +CONFIG_DVB_USB_AF9005_REMOTE=m +CONFIG_DVB_USB_PCTV452E=m +CONFIG_DVB_USB_DW2102=m +CONFIG_DVB_USB_CINERGY_T2=m +CONFIG_DVB_USB_DTV5100=m +CONFIG_DVB_USB_FRIIO=m +CONFIG_DVB_USB_AZ6027=m +CONFIG_DVB_USB_TECHNISAT_USB2=m +CONFIG_DVB_USB_V2=m +CONFIG_DVB_USB_AF9015=m +CONFIG_DVB_USB_AF9035=m +CONFIG_DVB_USB_ANYSEE=m +CONFIG_DVB_USB_AU6610=m +CONFIG_DVB_USB_AZ6007=m +CONFIG_DVB_USB_CE6230=m +CONFIG_DVB_USB_EC168=m +CONFIG_DVB_USB_GL861=m +CONFIG_DVB_USB_LME2510=m +CONFIG_DVB_USB_MXL111SF=m +CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_DVBSKY=m +CONFIG_DVB_USB_ZD1301=m +CONFIG_SMS_USB_DRV=m +CONFIG_DVB_B2C2_FLEXCOP_USB=m +# CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set +CONFIG_DVB_AS102=m + # # Webcam, TV (analog/digital) USB devices # CONFIG_VIDEO_EM28XX=m CONFIG_VIDEO_EM28XX_V4L2=m CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_VIDEO_EM28XX_DVB=m CONFIG_VIDEO_EM28XX_RC=m + +# +# Software defined radio USB devices +# +CONFIG_USB_AIRSPY=m +CONFIG_USB_HACKRF=m +CONFIG_USB_MSI2500=m CONFIG_V4L_PLATFORM_DRIVERS=y +# CONFIG_VIDEO_CADENCE is not set CONFIG_VIDEO_MUX=m # CONFIG_SOC_CAMERA is not set CONFIG_VIDEO_XILINX=m CONFIG_VIDEO_XILINX_TPG=m CONFIG_VIDEO_XILINX_VTC=m -CONFIG_VIDEO_SUN6I_CSI=m # CONFIG_V4L_MEM2MEM_DRIVERS is not set # CONFIG_V4L_TEST_DRIVERS is not set +CONFIG_DVB_PLATFORM_DRIVERS=y +CONFIG_SDR_PLATFORM_DRIVERS=y # # Supported MMC/SDIO adapters # +CONFIG_SMS_SDIO_DRV=m +CONFIG_RADIO_ADAPTERS=y +CONFIG_RADIO_TEA575X=m +# CONFIG_RADIO_SI470X is not set +# CONFIG_RADIO_SI4713 is not set +# CONFIG_USB_MR800 is not set +CONFIG_USB_DSBR=m +CONFIG_RADIO_SHARK=m +CONFIG_RADIO_SHARK2=m +CONFIG_USB_KEENE=m +CONFIG_USB_RAREMONO=m +CONFIG_USB_MA901=m +CONFIG_RADIO_TEA5764=m +CONFIG_RADIO_SAA7706H=m +CONFIG_RADIO_TEF6862=m +CONFIG_RADIO_WL1273=m + +# +# Texas Instruments WL128x FM driver (ST based) +# +CONFIG_MEDIA_COMMON_OPTIONS=y + +# +# common driver options +# +CONFIG_VIDEO_CX2341X=m CONFIG_VIDEO_TVEEPROM=m -# CONFIG_CYPRESS_FIRMWARE is not set +CONFIG_CYPRESS_FIRMWARE=m CONFIG_VIDEOBUF2_CORE=m CONFIG_VIDEOBUF2_V4L2=m CONFIG_VIDEOBUF2_MEMOPS=m CONFIG_VIDEOBUF2_DMA_CONTIG=m CONFIG_VIDEOBUF2_VMALLOC=m +CONFIG_DVB_B2C2_FLEXCOP=m +CONFIG_SMS_SIANO_MDTV=m +CONFIG_SMS_SIANO_RC=y +# CONFIG_SMS_SIANO_DEBUGFS is not set # # Media ancillary drivers (tuners, sensors, i2c, spi, frontends) # CONFIG_MEDIA_SUBDRV_AUTOSELECT=y +CONFIG_MEDIA_ATTACH=y CONFIG_VIDEO_IR_I2C=m # # Audio decoders, processors and mixers # CONFIG_VIDEO_MSP3400=m +CONFIG_VIDEO_CS53L32A=m +CONFIG_VIDEO_WM8775=m # # RDS decoders @@ -3128,6 +3303,7 @@ CONFIG_VIDEO_TVP5150=m # # Video and audio decoders # +CONFIG_VIDEO_CX25840=m # # Video encoders @@ -3166,6 +3342,167 @@ CONFIG_VIDEO_MT9V011=m # # Media SPI Adapters # +CONFIG_CXD2880_SPI_DRV=m +CONFIG_MEDIA_TUNER=m +CONFIG_MEDIA_TUNER_SIMPLE=m +CONFIG_MEDIA_TUNER_TDA18250=m +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m +CONFIG_MEDIA_TUNER_MSI001=m +CONFIG_MEDIA_TUNER_MT20XX=m +CONFIG_MEDIA_TUNER_MT2060=m +CONFIG_MEDIA_TUNER_MT2063=m +CONFIG_MEDIA_TUNER_MT2266=m +CONFIG_MEDIA_TUNER_QT1010=m +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEDIA_TUNER_XC4000=m +CONFIG_MEDIA_TUNER_MXL5005S=m +CONFIG_MEDIA_TUNER_MXL5007T=m +CONFIG_MEDIA_TUNER_MC44S803=m +CONFIG_MEDIA_TUNER_MAX2165=m +CONFIG_MEDIA_TUNER_TDA18218=m +CONFIG_MEDIA_TUNER_FC0011=m +CONFIG_MEDIA_TUNER_FC0012=m +CONFIG_MEDIA_TUNER_FC0013=m +CONFIG_MEDIA_TUNER_TDA18212=m +CONFIG_MEDIA_TUNER_E4000=m +CONFIG_MEDIA_TUNER_FC2580=m +CONFIG_MEDIA_TUNER_TUA9001=m +CONFIG_MEDIA_TUNER_SI2157=m +CONFIG_MEDIA_TUNER_IT913X=m +CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m + +# +# Multistandard (satellite) frontends +# +CONFIG_DVB_STB0899=m +CONFIG_DVB_STB6100=m +CONFIG_DVB_STV090x=m +CONFIG_DVB_STV6110x=m +CONFIG_DVB_M88DS3103=m + +# +# Multistandard (cable + terrestrial) frontends +# +CONFIG_DVB_DRXK=m +CONFIG_DVB_TDA18271C2DD=m +CONFIG_DVB_SI2165=m +CONFIG_DVB_MN88472=m +CONFIG_DVB_MN88473=m + +# +# DVB-S (satellite) frontends +# +CONFIG_DVB_CX24123=m +CONFIG_DVB_MT312=m +CONFIG_DVB_ZL10039=m +CONFIG_DVB_S5H1420=m +CONFIG_DVB_STV0288=m +CONFIG_DVB_STB6000=m +CONFIG_DVB_STV0299=m +CONFIG_DVB_STV6110=m +CONFIG_DVB_STV0900=m +CONFIG_DVB_TDA10086=m +CONFIG_DVB_TUNER_ITD1000=m +CONFIG_DVB_TUNER_CX24113=m +CONFIG_DVB_TDA826X=m +CONFIG_DVB_CX24116=m +CONFIG_DVB_CX24120=m +CONFIG_DVB_SI21XX=m +CONFIG_DVB_TS2020=m +CONFIG_DVB_DS3000=m +CONFIG_DVB_TDA10071=m + +# +# DVB-T (terrestrial) frontends +# +CONFIG_DVB_CX22702=m +CONFIG_DVB_DRXD=m +CONFIG_DVB_TDA1004X=m +CONFIG_DVB_NXT6000=m +CONFIG_DVB_MT352=m +CONFIG_DVB_ZL10353=m +CONFIG_DVB_DIB3000MB=m +CONFIG_DVB_DIB3000MC=m +CONFIG_DVB_DIB7000M=m +CONFIG_DVB_DIB7000P=m +CONFIG_DVB_TDA10048=m +CONFIG_DVB_AF9013=m +CONFIG_DVB_EC100=m +CONFIG_DVB_CXD2820R=m +CONFIG_DVB_RTL2830=m +CONFIG_DVB_RTL2832=m +CONFIG_DVB_RTL2832_SDR=m +CONFIG_DVB_SI2168=m +CONFIG_DVB_AS102_FE=m +CONFIG_DVB_ZD1301_DEMOD=m +CONFIG_DVB_GP8PSK_FE=m + +# +# DVB-C (cable) frontends +# +CONFIG_DVB_TDA10023=m +CONFIG_DVB_STV0297=m + +# +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends +# +CONFIG_DVB_NXT200X=m +CONFIG_DVB_BCM3510=m +CONFIG_DVB_LGDT330X=m +CONFIG_DVB_LGDT3305=m +CONFIG_DVB_LGDT3306A=m +CONFIG_DVB_LG2160=m +CONFIG_DVB_S5H1409=m +CONFIG_DVB_AU8522=m +CONFIG_DVB_AU8522_DTV=m +CONFIG_DVB_AU8522_V4L=m +CONFIG_DVB_S5H1411=m + +# +# ISDB-T (terrestrial) frontends +# +CONFIG_DVB_S921=m +CONFIG_DVB_DIB8000=m +CONFIG_DVB_MB86A20S=m + +# +# ISDB-S (satellite) & ISDB-T (terrestrial) frontends +# +CONFIG_DVB_TC90522=m + +# +# Digital terrestrial only tuners/PLL +# +CONFIG_DVB_PLL=m +CONFIG_DVB_TUNER_DIB0070=m +CONFIG_DVB_TUNER_DIB0090=m + +# +# SEC control devices for DVB-S +# +CONFIG_DVB_DRX39XYJ=m +CONFIG_DVB_LNBP21=m +CONFIG_DVB_LNBP22=m +CONFIG_DVB_ISL6421=m +CONFIG_DVB_ISL6423=m +CONFIG_DVB_A8293=m +CONFIG_DVB_LGS8GXX=m +CONFIG_DVB_ATBM8830=m +CONFIG_DVB_IX2505V=m +CONFIG_DVB_M88RS2000=m +CONFIG_DVB_AF9033=m + +# +# Common Interface (EN50221) controller drivers +# +CONFIG_DVB_SP2=m # # Tools to develop new frontends @@ -3175,6 +3512,7 @@ CONFIG_VIDEO_MT9V011=m # Graphics support # CONFIG_DRM=y +CONFIG_DRM_MIPI_DSI=y # CONFIG_DRM_DP_AUX_CHARDEV is not set # CONFIG_DRM_DEBUG_MM is not set CONFIG_DRM_KMS_HELPER=y @@ -3191,6 +3529,7 @@ CONFIG_DRM_KMS_CMA_HELPER=y # CONFIG_DRM_I2C_CH7006 is not set # CONFIG_DRM_I2C_SIL164 is not set # CONFIG_DRM_I2C_NXP_TDA998X is not set +# CONFIG_DRM_I2C_NXP_TDA9950 is not set # CONFIG_DRM_HDLCD is not set # CONFIG_DRM_MALI_DISPLAY is not set @@ -3209,6 +3548,7 @@ CONFIG_DRM_SUN4I=m CONFIG_DRM_SUN4I_HDMI=m CONFIG_DRM_SUN4I_HDMI_CEC=y CONFIG_DRM_SUN4I_BACKEND=m +CONFIG_DRM_SUN6I_DSI=m CONFIG_DRM_SUN8I_DW_HDMI=m CONFIG_DRM_SUN8I_MIXER=m # CONFIG_DRM_VIRTIO_GPU is not set @@ -3221,10 +3561,20 @@ CONFIG_DRM_PANEL_ARM_VERSATILE=m CONFIG_DRM_PANEL_LVDS=m CONFIG_DRM_PANEL_SIMPLE=m CONFIG_DRM_PANEL_ILITEK_IL9322=m +CONFIG_DRM_PANEL_INNOLUX_P079ZCA=m +# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set # CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set # CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set # CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set CONFIG_DRM_PANEL_SEIKO_43WVF1G=m +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set # CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set CONFIG_DRM_BRIDGE=y CONFIG_DRM_PANEL_BRIDGE=y @@ -3233,6 +3583,7 @@ CONFIG_DRM_PANEL_BRIDGE=y # Display Interface Bridges # CONFIG_DRM_ANALOGIX_ANX78XX=m +# CONFIG_DRM_CDNS_DSI is not set # CONFIG_DRM_DUMB_VGA_DAC is not set # CONFIG_DRM_LVDS_ENCODER is not set # CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set @@ -3241,6 +3592,7 @@ CONFIG_DRM_ANALOGIX_ANX78XX=m # CONFIG_DRM_SIL_SII8620 is not set # CONFIG_DRM_SII902X is not set CONFIG_DRM_SII9234=m +# CONFIG_DRM_THINE_THC63LVD1024 is not set # CONFIG_DRM_TOSHIBA_TC358767 is not set # CONFIG_DRM_TI_TFP410 is not set # CONFIG_DRM_I2C_ADV7511 is not set @@ -3288,7 +3640,6 @@ CONFIG_FB_MODE_HELPERS=y # CONFIG_FB_VIRTUAL is not set # CONFIG_FB_METRONOME is not set # CONFIG_FB_BROADSHEET is not set -# CONFIG_FB_AUO_K190X is not set CONFIG_FB_SIMPLE=y # CONFIG_FB_SSD1307 is not set CONFIG_BACKLIGHT_LCD_SUPPORT=y @@ -3306,6 +3657,7 @@ CONFIG_LCD_CLASS_DEVICE=m # CONFIG_LCD_AMS369FG06 is not set # CONFIG_LCD_LMS501KF03 is not set # CONFIG_LCD_HX8357 is not set +# CONFIG_LCD_OTM3225A is not set CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_GENERIC=m CONFIG_BACKLIGHT_PWM=m @@ -3485,6 +3837,7 @@ CONFIG_SND_SOC_PCM186X_SPI=m # CONFIG_SND_SOC_SGTL5000 is not set # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set CONFIG_SND_SOC_SPDIF=m +# CONFIG_SND_SOC_SSM2305 is not set # CONFIG_SND_SOC_SSM2602_SPI is not set # CONFIG_SND_SOC_SSM2602_I2C is not set # CONFIG_SND_SOC_SSM4567 is not set @@ -3507,6 +3860,7 @@ CONFIG_SND_SOC_TLV320AIC32X4_I2C=m # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TS3A227E is not set # CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set CONFIG_SND_SOC_WM8524=m @@ -3520,6 +3874,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8753 is not set # CONFIG_SND_SOC_WM8770 is not set # CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8782 is not set # CONFIG_SND_SOC_WM8804_I2C is not set # CONFIG_SND_SOC_WM8804_SPI is not set # CONFIG_SND_SOC_WM8903 is not set @@ -3530,6 +3885,7 @@ CONFIG_SND_SOC_WM8524=m # CONFIG_SND_SOC_WM8985 is not set # CONFIG_SND_SOC_ZX_AUD96P22 is not set CONFIG_SND_SOC_MAX9759=m +CONFIG_SND_SOC_MT6351=m # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set # CONFIG_SND_SOC_NAU8824 is not set @@ -3601,6 +3957,7 @@ CONFIG_HID_LOGITECH_HIDPP=y # CONFIG_LOGIWHEELS_FF is not set # CONFIG_HID_MAGICMOUSE is not set # CONFIG_HID_MAYFLASH is not set +CONFIG_HID_REDRAGON=y # CONFIG_HID_MICROSOFT is not set # CONFIG_HID_MONTEREY is not set # CONFIG_HID_MULTITOUCH is not set @@ -3619,6 +3976,7 @@ CONFIG_HID_LOGITECH_HIDPP=y # CONFIG_HID_SAMSUNG is not set # CONFIG_HID_SONY is not set # CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEAM is not set # CONFIG_HID_STEELSERIES is not set # CONFIG_HID_SUNPLUS is not set # CONFIG_HID_RMI is not set @@ -3674,7 +4032,7 @@ CONFIG_USB_MON=m # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_DBGCAP is not set -# CONFIG_USB_XHCI_PLATFORM is not set +CONFIG_USB_XHCI_PLATFORM=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y @@ -3728,8 +4086,14 @@ CONFIG_USB_UAS=m # # CONFIG_USB_MDC800 is not set # CONFIG_USB_MICROTEK is not set -# CONFIG_USBIP_CORE is not set -CONFIG_USB_MUSB_HDRC=m +CONFIG_USBIP_CORE=m +CONFIG_USBIP_VHCI_HCD=m +CONFIG_USBIP_VHCI_HC_PORTS=8 +CONFIG_USBIP_VHCI_NR_HCS=1 +CONFIG_USBIP_HOST=m +CONFIG_USBIP_VUDC=m +# CONFIG_USBIP_DEBUG is not set +CONFIG_USB_MUSB_HDRC=y # CONFIG_USB_MUSB_HOST is not set # CONFIG_USB_MUSB_GADGET is not set CONFIG_USB_MUSB_DUAL_ROLE=y @@ -3737,13 +4101,21 @@ CONFIG_USB_MUSB_DUAL_ROLE=y # # Platform Glue Layer # -CONFIG_USB_MUSB_SUNXI=m +CONFIG_USB_MUSB_SUNXI=y # # MUSB DMA mode # # CONFIG_MUSB_PIO_ONLY is not set -# CONFIG_USB_DWC3 is not set +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_HOST is not set +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_DUAL_ROLE=y + +# +# Platform Glue Driver Support +# +CONFIG_USB_DWC3_OF_SIMPLE=m CONFIG_USB_DWC2=y # CONFIG_USB_DWC2_HOST is not set @@ -3763,56 +4135,58 @@ CONFIG_USB_DWC2_DUAL_ROLE=y CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_SIMPLE=m -# CONFIG_USB_SERIAL_AIRCABLE is not set -# CONFIG_USB_SERIAL_ARK3116 is not set -# CONFIG_USB_SERIAL_BELKIN is not set +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m CONFIG_USB_SERIAL_CH341=m -# CONFIG_USB_SERIAL_WHITEHEAT is not set -# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m CONFIG_USB_SERIAL_CP210X=m -# CONFIG_USB_SERIAL_CYPRESS_M8 is not set -# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m CONFIG_USB_SERIAL_FTDI_SIO=m -# CONFIG_USB_SERIAL_VISOR is not set -# CONFIG_USB_SERIAL_IPAQ is not set -# CONFIG_USB_SERIAL_IR is not set -# CONFIG_USB_SERIAL_EDGEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT_TI is not set -# CONFIG_USB_SERIAL_F81232 is not set +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_F81232=m # CONFIG_USB_SERIAL_F8153X is not set -# CONFIG_USB_SERIAL_GARMIN is not set -# CONFIG_USB_SERIAL_IPW is not set -# CONFIG_USB_SERIAL_IUU is not set -# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set -# CONFIG_USB_SERIAL_KEYSPAN is not set -# CONFIG_USB_SERIAL_KLSI is not set -# CONFIG_USB_SERIAL_KOBIL_SCT is not set -# CONFIG_USB_SERIAL_MCT_U232 is not set -# CONFIG_USB_SERIAL_METRO is not set -# CONFIG_USB_SERIAL_MOS7720 is not set -# CONFIG_USB_SERIAL_MOS7840 is not set -# CONFIG_USB_SERIAL_MXUPORT is not set -# CONFIG_USB_SERIAL_NAVMAN is not set +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m CONFIG_USB_SERIAL_PL2303=m -# CONFIG_USB_SERIAL_OTI6858 is not set -# CONFIG_USB_SERIAL_QCAUX is not set -# CONFIG_USB_SERIAL_QUALCOMM is not set -# CONFIG_USB_SERIAL_SPCP8X5 is not set -# CONFIG_USB_SERIAL_SAFE is not set -# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set -# CONFIG_USB_SERIAL_SYMBOL is not set -# CONFIG_USB_SERIAL_TI is not set -# CONFIG_USB_SERIAL_CYBERJACK is not set -# CONFIG_USB_SERIAL_XIRCOM is not set -# CONFIG_USB_SERIAL_OPTION is not set -# CONFIG_USB_SERIAL_OMNINET is not set -# CONFIG_USB_SERIAL_OPTICON is not set -# CONFIG_USB_SERIAL_XSENS_MT is not set -# CONFIG_USB_SERIAL_WISHBONE is not set -# CONFIG_USB_SERIAL_SSU100 is not set -# CONFIG_USB_SERIAL_QT2 is not set -# CONFIG_USB_SERIAL_UPD78F0730 is not set -# CONFIG_USB_SERIAL_DEBUG is not set +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SAFE=m +# CONFIG_USB_SERIAL_SAFE_PADDED is not set +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_XIRCOM=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_UPD78F0730=m +CONFIG_USB_SERIAL_DEBUG=m # # USB Miscellaneous drivers @@ -3837,7 +4211,7 @@ CONFIG_USB_SERIAL_PL2303=m # CONFIG_USB_EHSET_TEST_FIXTURE is not set # CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_YUREX is not set -# CONFIG_USB_EZUSB_FX2 is not set +CONFIG_USB_EZUSB_FX2=m # CONFIG_USB_HUB_USB251XB is not set # CONFIG_USB_HSIC_USB3503 is not set # CONFIG_USB_HSIC_USB4604 is not set @@ -3900,6 +4274,7 @@ CONFIG_MMC_SDHCI_PLTFM=y CONFIG_MMC_SPI=y CONFIG_MMC_DW=y CONFIG_MMC_DW_PLTFM=y +# CONFIG_MMC_DW_BLUEFIELD is not set CONFIG_MMC_DW_EXYNOS=y CONFIG_MMC_DW_HI3798CV200=m CONFIG_MMC_DW_K3=y @@ -3922,6 +4297,7 @@ CONFIG_LEDS_CLASS=y # # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_CR0014114 is not set # CONFIG_LEDS_LM3530 is not set # CONFIG_LEDS_LM3642 is not set CONFIG_LEDS_LM3692X=m @@ -4083,8 +4459,8 @@ CONFIG_RTC_DRV_RV3029_HWMON=y # # on-CPU RTC drivers # -# CONFIG_RTC_DRV_PL030 is not set -# CONFIG_RTC_DRV_PL031 is not set +CONFIG_RTC_DRV_PL030=m +CONFIG_RTC_DRV_PL031=m CONFIG_RTC_DRV_SUN6I=y # CONFIG_RTC_DRV_FTRTC010 is not set # CONFIG_RTC_DRV_SNVS is not set @@ -4144,8 +4520,6 @@ CONFIG_VIRTIO_MMIO=y # Microsoft Hyper-V guest support # CONFIG_STAGING=y -# CONFIG_IPX is not set -# CONFIG_NCP_FS is not set # CONFIG_PRISM2_USB is not set # CONFIG_COMEDI is not set # CONFIG_RTLLIB is not set @@ -4162,9 +4536,7 @@ CONFIG_88EU_AP_MODE=y # # Accelerometers # -# CONFIG_ADIS16201 is not set # CONFIG_ADIS16203 is not set -# CONFIG_ADIS16209 is not set # CONFIG_ADIS16240 is not set # @@ -4204,25 +4576,15 @@ CONFIG_AD9834=m # # CONFIG_AD5933 is not set -# -# Light sensors -# -# CONFIG_TSL2x7x is not set - # # Active energy metering IC # -# CONFIG_ADE7753 is not set -# CONFIG_ADE7754 is not set -# CONFIG_ADE7758 is not set -# CONFIG_ADE7759 is not set # CONFIG_ADE7854 is not set # # Resolver to digital converters # # CONFIG_AD2S90 is not set -# CONFIG_AD2S1200 is not set # CONFIG_AD2S1210 is not set # @@ -4236,7 +4598,6 @@ CONFIG_AD9834=m # # CONFIG_STAGING_BOARD is not set # CONFIG_LTE_GDM724X is not set -# CONFIG_LNET is not set # CONFIG_GS_FPGABOOT is not set # CONFIG_UNISYSSPAR is not set # CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set @@ -4436,6 +4797,8 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # # Accelerometers # +# CONFIG_ADIS16201 is not set +# CONFIG_ADIS16209 is not set # CONFIG_ADXL345_I2C is not set # CONFIG_ADXL345_SPI is not set # CONFIG_BMA180 is not set @@ -4511,6 +4874,11 @@ CONFIG_SUN4I_GPADC=m # CONFIG_TI_TLC4541 is not set # CONFIG_VF610_ADC is not set +# +# Analog Front Ends +# +# CONFIG_IIO_RESCALE is not set + # # Amplifiers # @@ -4551,7 +4919,8 @@ CONFIG_SUN4I_GPADC=m # CONFIG_AD5504 is not set # CONFIG_AD5624R_SPI is not set # CONFIG_LTC2632 is not set -# CONFIG_AD5686 is not set +# CONFIG_AD5686_SPI is not set +# CONFIG_AD5696_I2C is not set # CONFIG_AD5755 is not set # CONFIG_AD5761 is not set # CONFIG_AD5764 is not set @@ -4566,6 +4935,7 @@ CONFIG_SUN4I_GPADC=m # CONFIG_MCP4725 is not set # CONFIG_MCP4922 is not set # CONFIG_TI_DAC082S085 is not set +# CONFIG_TI_DAC5571 is not set # CONFIG_VF610_DAC is not set # @@ -4666,6 +5036,7 @@ CONFIG_LV0104CS=m # CONFIG_TCS3472 is not set # CONFIG_SENSORS_TSL2563 is not set # CONFIG_TSL2583 is not set +# CONFIG_TSL2772 is not set # CONFIG_TSL4531 is not set # CONFIG_US5182D is not set # CONFIG_VCNL4000 is not set @@ -4749,6 +5120,11 @@ CONFIG_MCP4018=m # CONFIG_SX9500 is not set # CONFIG_SRF08 is not set +# +# Resolver to digital converters +# +# CONFIG_AD2S1200 is not set + # # Temperature sensors # @@ -4789,7 +5165,7 @@ CONFIG_GENERIC_PHY=y # CONFIG_PHY_XGENE is not set CONFIG_PHY_SUN4I_USB=y CONFIG_PHY_SUN9I_USB=y -CONFIG_PHY_SUN50I_USB3=m +CONFIG_PHY_SUN50I_USB3=y # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set @@ -4802,6 +5178,7 @@ CONFIG_PHY_SAMSUNG_USB2=y # # Performance monitor support # +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 @@ -4921,6 +5298,7 @@ CONFIG_PRINT_QUOTA_WARNING=y # CONFIG_QFMT_V2 is not set CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=y +CONFIG_AUTOFS_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_OVERLAY_FS=m @@ -4975,6 +5353,7 @@ CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y CONFIG_HUGETLBFS=y CONFIG_HUGETLB_PAGE=y +CONFIG_MEMFD_CREATE=y CONFIG_ARCH_HAS_GIGANTIC_PAGE=y CONFIG_CONFIGFS_FS=y CONFIG_MISC_FILESYSTEMS=y @@ -5169,6 +5548,7 @@ CONFIG_DEBUG_MEMORY_INIT=y CONFIG_HAVE_ARCH_KASAN=y # CONFIG_KASAN is not set CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y # CONFIG_KCOV is not set # @@ -5214,6 +5594,7 @@ CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_UUID is not set +CONFIG_TEST_OVERFLOW=m # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_HASH is not set # CONFIG_TEST_LKM is not set @@ -5331,6 +5712,11 @@ CONFIG_CRYPTO_SIMD=y CONFIG_CRYPTO_CCM=m CONFIG_CRYPTO_GCM=y # CONFIG_CRYPTO_CHACHA20POLY1305 is not set +# CONFIG_CRYPTO_AEGIS128 is not set +# CONFIG_CRYPTO_AEGIS128L is not set +# CONFIG_CRYPTO_AEGIS256 is not set +# CONFIG_CRYPTO_MORUS640 is not set +# CONFIG_CRYPTO_MORUS1280 is not set CONFIG_CRYPTO_SEQIV=y CONFIG_CRYPTO_ECHAINIV=y @@ -5411,6 +5797,7 @@ CONFIG_CRYPTO_LZO=y # CONFIG_CRYPTO_842 is not set CONFIG_CRYPTO_LZ4=y CONFIG_CRYPTO_LZ4HC=y +# CONFIG_CRYPTO_ZSTD is not set # # Random Number Generation @@ -5452,6 +5839,7 @@ CONFIG_CRYPTO_SHA2_ARM64_CE=y # CONFIG_CRYPTO_SHA512_ARM64_CE is not set # CONFIG_CRYPTO_SHA3_ARM64 is not set # CONFIG_CRYPTO_SM3_ARM64_CE is not set +# CONFIG_CRYPTO_SM4_ARM64_CE is not set CONFIG_CRYPTO_GHASH_ARM64_CE=y CONFIG_CRYPTO_CRC32_ARM64_CE=y CONFIG_CRYPTO_AES_ARM64=y @@ -5475,6 +5863,7 @@ CONFIG_GENERIC_STRNLEN_USER=y CONFIG_GENERIC_NET_UTILS=y CONFIG_GENERIC_PCI_IOMAP=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y +CONFIG_ARCH_HAS_FAST_MULTIPLIER=y # CONFIG_INDIRECT_PIO is not set CONFIG_CRC_CCITT=y CONFIG_CRC16=y @@ -5528,8 +5917,13 @@ CONFIG_RADIX_TREE_MULTIORDER=y CONFIG_ASSOCIATIVE_ARRAY=y CONFIG_HAS_IOMEM=y CONFIG_HAS_DMA=y -CONFIG_SGL_ALLOC=y +CONFIG_NEED_SG_DMA_LENGTH=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_DMA_DIRECT_OPS=y +CONFIG_SWIOTLB=y +CONFIG_SGL_ALLOC=y CONFIG_CPU_RMAP=y CONFIG_DQL=y CONFIG_GLOB=y diff --git a/config/kernel/linux-sunxi64-next.config b/config/kernel/linux-sunxi64-next.config index 492e787340..d5ee7c290b 100644 --- a/config/kernel/linux-sunxi64-next.config +++ b/config/kernel/linux-sunxi64-next.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm64 4.17.11 Kernel Configuration +# Linux/arm64 4.17.13 Kernel Configuration # CONFIG_ARM64=y CONFIG_64BIT=y @@ -1375,7 +1375,6 @@ CONFIG_CFG80211_WEXT=y CONFIG_LIB80211=m CONFIG_LIB80211_CRYPT_WEP=m CONFIG_LIB80211_CRYPT_CCMP=m -CONFIG_LIB80211_CRYPT_TKIP=m # CONFIG_LIB80211_DEBUG is not set CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y @@ -1791,13 +1790,15 @@ CONFIG_NLMON=m # CONFIG_NET_DSA_SMSC_LAN9303_I2C is not set # CONFIG_NET_DSA_SMSC_LAN9303_MDIO is not set CONFIG_ETHERNET=y -# CONFIG_NET_VENDOR_ALACRITECH is not set +CONFIG_NET_VENDOR_ALACRITECH=y CONFIG_NET_VENDOR_ALLWINNER=y -# CONFIG_SUN4I_EMAC is not set +CONFIG_SUN4I_EMAC=y # CONFIG_ALTERA_TSE is not set -# CONFIG_NET_VENDOR_AMAZON is not set -# CONFIG_NET_VENDOR_AMD is not set -# CONFIG_NET_VENDOR_AQUANTIA is not set +CONFIG_NET_VENDOR_AMAZON=y +CONFIG_NET_VENDOR_AMD=y +CONFIG_AMD_XGBE=m +# CONFIG_AMD_XGBE_DCB is not set +CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_NET_VENDOR_ARC is not set # CONFIG_NET_VENDOR_AURORA is not set # CONFIG_NET_CADENCE is not set @@ -1805,8 +1806,16 @@ CONFIG_NET_VENDOR_ALLWINNER=y CONFIG_NET_VENDOR_CORTINA=y # CONFIG_GEMINI_ETHERNET is not set # CONFIG_DNET is not set -# CONFIG_NET_VENDOR_EZCHIP is not set -# CONFIG_NET_VENDOR_HISILICON is not set +CONFIG_NET_VENDOR_EZCHIP=y +# CONFIG_EZCHIP_NPS_MANAGEMENT_ENET is not set +CONFIG_NET_VENDOR_HISILICON=y +# CONFIG_HIX5HD2_GMAC is not set +# CONFIG_HISI_FEMAC is not set +CONFIG_HIP04_ETH=m +CONFIG_HNS_MDIO=m +# CONFIG_HNS is not set +# CONFIG_HNS_DSAF is not set +# CONFIG_HNS_ENET is not set CONFIG_NET_VENDOR_HUAWEI=y # CONFIG_NET_VENDOR_INTEL is not set # CONFIG_NET_VENDOR_MARVELL is not set @@ -1854,7 +1863,7 @@ CONFIG_MDIO_BUS_MUX=y # CONFIG_MDIO_GPIO is not set # CONFIG_MDIO_HISI_FEMAC is not set # CONFIG_MDIO_OCTEON is not set -CONFIG_MDIO_SUN4I=y +CONFIG_MDIO_SUN4I=m CONFIG_PHYLIB=y CONFIG_SWPHY=y CONFIG_LED_TRIGGER_PHY=y @@ -1862,37 +1871,38 @@ CONFIG_LED_TRIGGER_PHY=y # # MII PHY device drivers # -# CONFIG_AMD_PHY is not set -# CONFIG_AQUANTIA_PHY is not set -# CONFIG_AT803X_PHY is not set +CONFIG_AMD_PHY=m +CONFIG_AQUANTIA_PHY=m +CONFIG_AT803X_PHY=m # CONFIG_BCM7XXX_PHY is not set -# CONFIG_BCM87XX_PHY is not set -# CONFIG_BROADCOM_PHY is not set -# CONFIG_CICADA_PHY is not set +CONFIG_BCM87XX_PHY=m +CONFIG_BCM_NET_PHYLIB=m +CONFIG_BROADCOM_PHY=m +CONFIG_CICADA_PHY=m # CONFIG_CORTINA_PHY is not set -# CONFIG_DAVICOM_PHY is not set +CONFIG_DAVICOM_PHY=m # CONFIG_DP83822_PHY is not set -# CONFIG_DP83848_PHY is not set +CONFIG_DP83848_PHY=m # CONFIG_DP83867_PHY is not set CONFIG_FIXED_PHY=y -# CONFIG_ICPLUS_PHY is not set +CONFIG_ICPLUS_PHY=m # CONFIG_INTEL_XWAY_PHY is not set -# CONFIG_LSI_ET1011C_PHY is not set -# CONFIG_LXT_PHY is not set -# CONFIG_MARVELL_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 is not set +CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m # CONFIG_MICROSEMI_PHY is not set -# CONFIG_NATIONAL_PHY is not set -# CONFIG_QSEMI_PHY is not set -CONFIG_REALTEK_PHY=y +CONFIG_NATIONAL_PHY=m +CONFIG_QSEMI_PHY=m +CONFIG_REALTEK_PHY=m # CONFIG_RENESAS_PHY is not set -CONFIG_ROCKCHIP_PHY=m -# CONFIG_SMSC_PHY is not set -# CONFIG_STE10XP is not set -# CONFIG_TERANETICS_PHY is not set -# CONFIG_VITESSE_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +CONFIG_SMSC_PHY=m +CONFIG_STE10XP=m +CONFIG_TERANETICS_PHY=m +CONFIG_VITESSE_PHY=m # CONFIG_XILINX_GMII2RGMII is not set # CONFIG_MICREL_KS8995MA is not set CONFIG_PPP=m @@ -1908,7 +1918,7 @@ CONFIG_PPP_ASYNC=m CONFIG_PPP_SYNC_TTY=m # CONFIG_SLIP is not set CONFIG_SLHC=m -CONFIG_USB_NET_DRIVERS=y +CONFIG_USB_NET_DRIVERS=m CONFIG_USB_CATC=m CONFIG_USB_KAWETH=m CONFIG_USB_PEGASUS=m @@ -2781,17 +2791,18 @@ CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE=y CONFIG_THERMAL_GOV_FAIR_SHARE=y CONFIG_THERMAL_GOV_STEP_WISE=y CONFIG_THERMAL_GOV_BANG_BANG=y -# CONFIG_THERMAL_GOV_USER_SPACE is not set +CONFIG_THERMAL_GOV_USER_SPACE=y CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y CONFIG_CPU_THERMAL=y CONFIG_CLOCK_THERMAL=y -# CONFIG_DEVFREQ_THERMAL is not set -# CONFIG_THERMAL_EMULATION is not set +CONFIG_DEVFREQ_THERMAL=y +CONFIG_THERMAL_EMULATION=y # CONFIG_QORIQ_THERMAL is not set # # ACPI INT340X thermal drivers # +CONFIG_SUN50I_H6_THS=m # CONFIG_QCOM_SPMI_TEMP_ALARM is not set CONFIG_GENERIC_ADC_THERMAL=m CONFIG_WATCHDOG=y @@ -2803,7 +2814,7 @@ CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y # # Watchdog Device Drivers # -# CONFIG_SOFT_WATCHDOG is not set +CONFIG_SOFT_WATCHDOG=m CONFIG_GPIO_WATCHDOG=m # CONFIG_XILINX_WATCHDOG is not set # CONFIG_ZIIRAVE_WATCHDOG is not set @@ -2855,7 +2866,7 @@ CONFIG_MFD_SUN4I_GPADC=m CONFIG_MFD_BD9571MWV=m # CONFIG_MFD_AC100 is not set CONFIG_MFD_AXP20X=y -# CONFIG_MFD_AXP20X_I2C is not set +CONFIG_MFD_AXP20X_I2C=y CONFIG_MFD_AXP20X_RSB=y # CONFIG_MFD_CROS_EC is not set # CONFIG_PMIC_DA903X is not set @@ -2984,7 +2995,7 @@ CONFIG_REGULATOR_SY8106A=m CONFIG_CEC_CORE=y CONFIG_CEC_NOTIFIER=y CONFIG_CEC_PIN=y -CONFIG_RC_CORE=y +CONFIG_RC_CORE=m CONFIG_RC_MAP=m CONFIG_LIRC=y CONFIG_RC_DECODERS=y @@ -3002,7 +3013,7 @@ CONFIG_RC_DEVICES=y # CONFIG_RC_ATI_REMOTE is not set # CONFIG_IR_HIX5HD2 is not set # CONFIG_IR_IMON is not set -# CONFIG_IR_IMON_RAW is not set +CONFIG_IR_IMON_RAW=m # CONFIG_IR_MCEUSB is not set # CONFIG_IR_REDRAT3 is not set CONFIG_IR_SPI=m @@ -3013,11 +3024,11 @@ CONFIG_IR_SPI=m # CONFIG_RC_LOOPBACK is not set # CONFIG_IR_GPIO_CIR is not set CONFIG_IR_GPIO_TX=m -# CONFIG_IR_PWM_TX is not set +CONFIG_IR_PWM_TX=m CONFIG_IR_SUNXI=m # CONFIG_IR_SERIAL is not set # CONFIG_IR_SIR is not set -CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_SUPPORT=m # # Multimedia core support @@ -3028,13 +3039,12 @@ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_RADIO_SUPPORT=y CONFIG_MEDIA_SDR_SUPPORT=y # CONFIG_MEDIA_CEC_SUPPORT is not set -# CONFIG_MEDIA_CEC_RC is not set # CONFIG_CEC_PIN_ERROR_INJ is not set CONFIG_MEDIA_CONTROLLER=y # CONFIG_MEDIA_CONTROLLER_DVB is not set -CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_DEV=m CONFIG_VIDEO_V4L2_SUBDEV_API=y -CONFIG_VIDEO_V4L2=y +CONFIG_VIDEO_V4L2=m # CONFIG_VIDEO_ADV_DEBUG is not set CONFIG_VIDEO_FIXED_MINOR_RANGES=y CONFIG_VIDEO_TUNER=m @@ -3042,7 +3052,7 @@ CONFIG_V4L2_FWNODE=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_VMALLOC=m CONFIG_VIDEOBUF_DVB=m -CONFIG_DVB_CORE=y +CONFIG_DVB_CORE=m # CONFIG_DVB_MMAP is not set CONFIG_DVB_NET=y CONFIG_TTPCI_EEPROM=m @@ -3178,7 +3188,7 @@ CONFIG_DVB_USB_DTV5100=m CONFIG_DVB_USB_FRIIO=m CONFIG_DVB_USB_AZ6027=m CONFIG_DVB_USB_TECHNISAT_USB2=m -CONFIG_DVB_USB_V2=y +CONFIG_DVB_USB_V2=m CONFIG_DVB_USB_AF9015=m CONFIG_DVB_USB_AF9035=m CONFIG_DVB_USB_ANYSEE=m @@ -3270,7 +3280,7 @@ CONFIG_SMS_SIANO_RC=y # CONFIG_MEDIA_SUBDRV_AUTOSELECT=y CONFIG_MEDIA_ATTACH=y -CONFIG_VIDEO_IR_I2C=y +CONFIG_VIDEO_IR_I2C=m # # Audio decoders, processors and mixers @@ -3332,27 +3342,27 @@ CONFIG_VIDEO_MT9V011=m # Media SPI Adapters # CONFIG_CXD2880_SPI_DRV=m -CONFIG_MEDIA_TUNER=y -CONFIG_MEDIA_TUNER_SIMPLE=y +CONFIG_MEDIA_TUNER=m +CONFIG_MEDIA_TUNER_SIMPLE=m CONFIG_MEDIA_TUNER_TDA18250=m -CONFIG_MEDIA_TUNER_TDA8290=y -CONFIG_MEDIA_TUNER_TDA827X=y -CONFIG_MEDIA_TUNER_TDA18271=y -CONFIG_MEDIA_TUNER_TDA9887=y -CONFIG_MEDIA_TUNER_TEA5761=y -CONFIG_MEDIA_TUNER_TEA5767=y +CONFIG_MEDIA_TUNER_TDA8290=m +CONFIG_MEDIA_TUNER_TDA827X=m +CONFIG_MEDIA_TUNER_TDA18271=m +CONFIG_MEDIA_TUNER_TDA9887=m +CONFIG_MEDIA_TUNER_TEA5761=m +CONFIG_MEDIA_TUNER_TEA5767=m CONFIG_MEDIA_TUNER_MSI001=m -CONFIG_MEDIA_TUNER_MT20XX=y +CONFIG_MEDIA_TUNER_MT20XX=m CONFIG_MEDIA_TUNER_MT2060=m CONFIG_MEDIA_TUNER_MT2063=m CONFIG_MEDIA_TUNER_MT2266=m CONFIG_MEDIA_TUNER_QT1010=m -CONFIG_MEDIA_TUNER_XC2028=y -CONFIG_MEDIA_TUNER_XC5000=y -CONFIG_MEDIA_TUNER_XC4000=y +CONFIG_MEDIA_TUNER_XC2028=m +CONFIG_MEDIA_TUNER_XC5000=m +CONFIG_MEDIA_TUNER_XC4000=m CONFIG_MEDIA_TUNER_MXL5005S=m CONFIG_MEDIA_TUNER_MXL5007T=m -CONFIG_MEDIA_TUNER_MC44S803=y +CONFIG_MEDIA_TUNER_MC44S803=m CONFIG_MEDIA_TUNER_MAX2165=m CONFIG_MEDIA_TUNER_TDA18218=m CONFIG_MEDIA_TUNER_FC0011=m @@ -4019,7 +4029,7 @@ CONFIG_USB_MON=m # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_DBGCAP is not set -# CONFIG_USB_XHCI_PLATFORM is not set +CONFIG_USB_XHCI_PLATFORM=y CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y @@ -4094,7 +4104,15 @@ CONFIG_USB_MUSB_SUNXI=y # MUSB DMA mode # # CONFIG_MUSB_PIO_ONLY is not set -# CONFIG_USB_DWC3 is not set +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_HOST is not set +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_DUAL_ROLE=y + +# +# Platform Glue Driver Support +# +CONFIG_USB_DWC3_OF_SIMPLE=m CONFIG_USB_DWC2=y # CONFIG_USB_DWC2_HOST is not set @@ -5162,7 +5180,7 @@ CONFIG_GENERIC_PHY=y # CONFIG_PHY_XGENE is not set CONFIG_PHY_SUN4I_USB=y CONFIG_PHY_SUN9I_USB=y -CONFIG_PHY_SUN50I_USB3=m +CONFIG_PHY_SUN50I_USB3=y # CONFIG_BCM_KONA_USB2_PHY is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set diff --git a/config/sources/sun50iw6.conf b/config/sources/sun50iw6.conf index b82e0f7ab6..13262c3b24 100644 --- a/config/sources/sun50iw6.conf +++ b/config/sources/sun50iw6.conf @@ -5,34 +5,41 @@ OVERLAY_PREFIX='sun50i-h6' BOOTENV_FILE='sun50iw2-next.txt' [[ -z $CPUMIN ]] && CPUMIN=480000 -[[ -z $CPUMAX ]] && CPUMAX=1010000 +[[ -z $CPUMAX ]] && CPUMAX=1510000 GOVERNOR=ondemand ASOUND_STATE='asound.state.sun50iw2-dev' +ATFSOURCE='https://github.com/Icenowy/arm-trusted-firmware' +ATFDIR='arm-trusted-firmware-sunxi-mainline' +ATFBRANCH='branch:sun50i_h6_pmic' +ATF_USE_GCC='> 6.3' +ATF_TARGET_MAP='PLAT=sun50i_h6 DEBUG=1 bl31;;build/sun50i_h6/debug/bl31.bin' + +BOOTSOURCE='https://github.com/Icenowy/u-boot' +BOOTDIR=$MAINLINE_UBOOT_DIR +BOOTBRANCH='branch:h6-hdmi-rebased-1' +BOOTPATCHDIR='u-boot-sun50iw6' +UBOOT_USE_GCC='> 7.0' +UBOOT_TARGET_MAP=';;spl/sunxi-spl.bin u-boot.itb' +BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd' + case $BRANCH in next) - ATFSOURCE='https://github.com/Icenowy/arm-trusted-firmware' - ATFDIR='arm-trusted-firmware-sunxi-mainline' - ATFBRANCH='branch:h6-smp' - ATF_USE_GCC='> 6.3' - ATF_TARGET_MAP='PLAT=sun50i_h6 DEBUG=1 bl31;;build/sun50i_h6/debug/bl31.bin' - - BOOTSOURCE='https://github.com/Icenowy/u-boot' - BOOTDIR=$MAINLINE_UBOOT_DIR - BOOTBRANCH='branch:h6-dram' - BOOTPATCHDIR='u-boot-sun50iw6' - UBOOT_USE_GCC='> 7.0' - UBOOT_TARGET_MAP=';;spl/sunxi-spl.bin u-boot.itb' - BOOTSCRIPT='boot-sun50i-next.cmd:boot.cmd' - KERNELSOURCE=$MAINLINE_KERNEL_SOURCE - KERNELBRANCH='branch:master' -KERNELBRANCH='branch:linux-4.17.y' + KERNELBRANCH='branch:linux-4.17.y' KERNELDIR=$MAINLINE_KERNEL_DIR KERNEL_USE_GCC='> 7.0' KERNELPATCHDIR='sunxi-next' ;; + + dev) + KERNELSOURCE='https://github.com/Icenowy/linux' + KERNELBRANCH='branch:h6-integrate-2-ugly' + KERNELDIR=$MAINLINE_KERNEL_DIR + KERNEL_USE_GCC='> 7.0' + KERNELPATCHDIR='sunxi-dev-h6' + ;; esac diff --git a/patch/kernel/sunxi-dev-h6/board-0001-orangepi-one-plus-add-device.patch b/patch/kernel/sunxi-dev-h6/board-0001-orangepi-one-plus-add-device.patch new file mode 100644 index 0000000000..40fc16d918 --- /dev/null +++ b/patch/kernel/sunxi-dev-h6/board-0001-orangepi-one-plus-add-device.patch @@ -0,0 +1,256 @@ +diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile +index 3040c3074..712e1cf5f +--- a/arch/arm64/boot/dts/allwinner/Makefile ++++ b/arch/arm64/boot/dts/allwinner/Makefile +@@ -1,5 +1,6 @@ + # SPDX-License-Identifier: GPL-2.0 + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-bananapi-m64.dtb ++dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-nanopi-a64.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts +new file mode 100644 +index 000000000..385015396 +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts +@@ -0,0 +1,239 @@ ++// SPDX-License-Identifier: (GPL-2.0+ or MIT) ++/* ++ * Copyright (c) 2018 Armbian ++ */ ++ ++/dts-v1/; ++ ++#include "sun50i-h6.dtsi" ++ ++#include ++ ++/ { ++ model = "Orange Pi One+"; ++ compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6"; ++ ++ aliases { ++ serial0 = &uart0; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ reg_gmac_3v3: gmac-3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc-gmac-3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ startup-delay-us = <100000>; ++ enable-active-high; ++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ ++ vin-supply = <®_aldo2>; ++ }; ++ ++ reg_vcc3v3: vcc3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++ ++ reg_vcc1v8: vcc1v8 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc1v8"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ ++ reg_usb_vbus: vbus { ++ compatible = "regulator-fixed"; ++ regulator-name = "usb-vbus"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ startup-delay-us = <100000>; ++ gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; ++}; ++ ++&cpu0 { ++ cpu-supply = <®_dcdca>; ++}; ++ ++&ehci0 { ++ status = "okay"; ++}; ++ ++&ehci3 { ++ status = "okay"; ++}; ++ ++ ++&emac { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ext_rgmii_pins>; ++ phy-mode = "rgmii"; ++ phy-handle = <&ext_rgmii_phy>; ++ phy-supply = <®_gmac_3v3>; ++ allwinner,rx-delay-ps = <200>; ++ allwinner,tx-delay-ps = <200>; ++ status = "okay"; ++}; ++ ++&dwc3 { ++ status = "okay"; ++}; ++ ++&mdio { ++ ext_rgmii_phy: ethernet-phy@1 { ++ compatible = "ethernet-phy-ieee802.3-c22"; ++ reg = <1>; ++ }; ++}; ++ ++&mmc0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc0_pins>; ++ vmmc-supply = <®_vcc3v3>; ++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; ++ status = "okay"; ++}; ++ ++&ohci0 { ++ status = "okay"; ++}; ++ ++&ohci3 { ++ status = "okay"; ++}; ++ ++&r_i2c { ++ status = "okay"; ++ ++ axp805: pmic@36 { ++ compatible = "x-powers,axp805", "x-powers,axp806"; ++ reg = <0x36>; ++ interrupt-parent = <&r_intc>; ++ interrupts = <0 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-controller; ++ #interrupt-cells = <1>; ++ x-powers,master-mode; ++ ++ regulators { ++ reg_aldo1: aldo1 { ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-pl"; ++ }; ++ ++ reg_aldo2: aldo2 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-ac200"; ++ }; ++ ++ reg_aldo3: aldo3 { ++ /* This regulator is connected with CLDO1 */ ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-3v3-1"; ++ }; ++ ++ reg_bldo1: bldo1 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-ddr-bias-pll"; ++ }; ++ ++ reg_bldo2: bldo2 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-efuse-emmc-pcie-hdmi"; ++ }; ++ ++ reg_bldo3: bldo3 { ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-wifi-io"; ++ }; ++ ++ bldo4 { ++ /* unused */ ++ }; ++ ++ reg_cldo1: cldo1 { ++ /* This regulator is connected with ALDO3 */ ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-3v3-2"; ++ }; ++ ++ reg_cldo2: cldo2 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-wifi-1"; ++ }; ++ ++ reg_cldo3: cldo3 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-wifi-2"; ++ }; ++ ++ 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"; ++ }; ++ ++ reg_dcdcd: dcdcd { ++ regulator-always-on; ++ regulator-min-microvolt = <960000>; ++ regulator-max-microvolt = <960000>; ++ regulator-name = "vdd-sys"; ++ }; ++ ++ reg_dcdce: dcdce { ++ regulator-always-on; ++ regulator-min-microvolt = <1400000>; ++ regulator-max-microvolt = <1400000>; ++ regulator-name = "vcc-dram"; ++ }; ++ ++ sw { ++ /* unused */ ++ }; ++ }; ++ }; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_ph_pins>; ++ status = "okay"; ++}; ++ ++&usb2otg { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&usb2phy { ++ usb0_vbus-supply = <®_usb_vbus>; ++ usb1_vbus-supply = <®_usb_vbus>; ++ status = "okay"; ++}; diff --git a/patch/kernel/sunxi-dev-h6/board-0002-orangepi-lite2-add-device.patch b/patch/kernel/sunxi-dev-h6/board-0002-orangepi-lite2-add-device.patch new file mode 100644 index 0000000000..7cf6a4d0b9 --- /dev/null +++ b/patch/kernel/sunxi-dev-h6/board-0002-orangepi-lite2-add-device.patch @@ -0,0 +1,243 @@ +diff --git a/arch/arm64/boot/dts/allwinner/Makefile b/arch/arm64/boot/dts/allwinner/Makefile +index a9797d233..4972f2901 +--- a/arch/arm64/boot/dts/allwinner/Makefile ++++ b/arch/arm64/boot/dts/allwinner/Makefile +@@ -1,6 +1,7 @@ + # SPDX-License-Identifier: GPL-2.0 + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-bananapi-m64.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-one-plus.dtb ++dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h6-orangepi-lite2.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-nanopi-a64.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-olinuxino.dtb + dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-orangepi-win.dtb +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-lite2.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-lite2.dts +new file mode 100644 +index 000000000..b9aff606e +--- /dev/null ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-lite2.dts +@@ -0,0 +1,225 @@ ++// SPDX-License-Identifier: (GPL-2.0+ or MIT) ++/* ++ * Copyright (c) 2017 Icenowy Zheng ++ */ ++ ++/dts-v1/; ++ ++#include "sun50i-h6.dtsi" ++ ++#include ++ ++/ { ++ model = "Orange Pi Lite 2"; ++ compatible = "pine64,pine-h64", "allwinner,sun50i-h6"; ++ ++ aliases { ++ serial0 = &uart0; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++ ++ reg_vcc3v3: vcc3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ }; ++ ++ reg_vcc1v8: vcc1v8 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc1v8"; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ }; ++ ++ reg_usb_vbus: vbus { ++ compatible = "regulator-fixed"; ++ regulator-name = "usb-vbus"; ++ regulator-min-microvolt = <5000000>; ++ regulator-max-microvolt = <5000000>; ++ startup-delay-us = <100000>; ++ gpio = <&r_pio 0 5 GPIO_ACTIVE_HIGH>; ++ enable-active-high; ++ }; ++}; ++ ++&cpu0 { ++ cpu-supply = <®_dcdca>; ++}; ++ ++&dwc3 { ++ status = "okay"; ++}; ++ ++&ehci0 { ++ status = "okay"; ++}; ++ ++&ehci3 { ++ status = "okay"; ++}; ++ ++&mmc0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc0_pins>; ++ vmmc-supply = <®_vcc3v3>; ++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; ++ status = "okay"; ++}; ++ ++&mmc2 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc2_pins>; ++ vmmc-supply = <®_vcc3v3>; ++ vqmmc-supply = <®_vcc1v8>; ++ non-removable; ++ cap-mmc-hw-reset; ++ status = "okay"; ++}; ++ ++&ohci0 { ++ status = "okay"; ++}; ++ ++&ohci3 { ++ status = "okay"; ++}; ++ ++&r_i2c { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&r_i2c_pins>; ++ status = "okay"; ++ ++ axp805: pmic@36 { ++ compatible = "x-powers,axp805", "x-powers,axp806"; ++ reg = <0x36>; ++ interrupt-parent = <&r_intc>; ++ interrupts = <0 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-controller; ++ #interrupt-cells = <1>; ++ x-powers,master-mode; ++ ++ regulators { ++ reg_aldo1: aldo1 { ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-pl"; ++ }; ++ ++ reg_aldo2: aldo2 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-ac200"; ++ }; ++ ++ reg_aldo3: aldo3 { ++ /* This regulator is connected with CLDO1 */ ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-3v3-1"; ++ }; ++ ++ reg_bldo1: bldo1 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-ddr-bias-pll"; ++ }; ++ ++ reg_bldo2: bldo2 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-efuse-emmc-pcie-hdmi"; ++ }; ++ ++ reg_bldo3: bldo3 { ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-wifi-io"; ++ }; ++ ++ bldo4 { ++ /* unused */ ++ }; ++ ++ reg_cldo1: cldo1 { ++ /* This regulator is connected with ALDO3 */ ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-3v3-2"; ++ }; ++ ++ reg_cldo2: cldo2 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-wifi-1"; ++ }; ++ ++ reg_cldo3: cldo3 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-wifi-2"; ++ }; ++ ++ reg_dcdca: dcdca { ++ regulator-always-on; ++ regulator-min-microvolt = <810000>; ++ regulator-max-microvolt = <1080000>; ++ regulator-name = "vdd-cpu"; ++ }; ++ ++ reg_dcdcc: dcdcc { ++ regulator-min-microvolt = <810000>; ++ regulator-max-microvolt = <1080000>; ++ regulator-name = "vdd-gpu"; ++ }; ++ ++ reg_dcdcd: dcdcd { ++ regulator-always-on; ++ regulator-min-microvolt = <960000>; ++ regulator-max-microvolt = <960000>; ++ regulator-name = "vdd-sys"; ++ }; ++ ++ reg_dcdce: dcdce { ++ regulator-always-on; ++ regulator-min-microvolt = <1400000>; ++ regulator-max-microvolt = <1400000>; ++ regulator-name = "vcc-dram"; ++ }; ++ ++ sw { ++ /* unused */ ++ }; ++ }; ++ }; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_ph_pins>; ++ status = "okay"; ++}; ++ ++&usb2otg { ++ dr_mode = "host"; ++ status = "okay"; ++}; ++ ++&usb2phy { ++ usb0_vbus-supply = <®_usb_vbus>; ++ usb3_vbus-supply = <®_usb_vbus>; ++ status = "okay"; ++}; ++ ++&usb3phy { ++ phy-supply = <®_usb_vbus>; ++ status = "okay"; ++}; diff --git a/patch/kernel/sunxi-dev-h6/general-packaging-4.17-dev.patch b/patch/kernel/sunxi-dev-h6/general-packaging-4.17-dev.patch new file mode 100644 index 0000000000..58891b4d1d --- /dev/null +++ b/patch/kernel/sunxi-dev-h6/general-packaging-4.17-dev.patch @@ -0,0 +1,221 @@ +diff --git a/scripts/package/builddeb b/scripts/package/builddeb +index 90c9a8a..3c79b90 100755 +--- a/scripts/package/builddeb ++++ b/scripts/package/builddeb +@@ -29,6 +29,27 @@ create_package() { + # in case we are in a restrictive umask environment like 0077 + chmod -R a+rX "$pdir" + ++ # Create preinstall and post install script to remove dtb ++ if [[ "$1" == *dtb* ]]; then ++ echo "if [ -d /boot/dtb-$version ]; then mv /boot/dtb-$version /boot/dtb-$version.old; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /boot/dtb.old ]; then rm -rf /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst ++ echo "if [ -d /boot/dtb ]; then mv /boot/dtb /boot/dtb.old; fi" >> $pdir/DEBIAN/preinst ++ echo "exit 0" >> $pdir/DEBIAN/preinst ++ chmod 775 $pdir/DEBIAN/preinst ++ ++ echo "if [ -d /boot/dtb-$version.old ]; then rm -rf /boot/dtb-$version.old; fi" >> $pdir/DEBIAN/postinst ++ echo "ln -sf dtb-$version /boot/dtb > /dev/null 2>&1 || mv /boot/dtb-$version /boot/dtb" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ ++ # Create postinstall script for headers ++ if [[ "$1" == *headers* ]]; then ++ echo "cd /usr/src/linux-headers-$version; echo \"Compiling headers - please wait ...\"; find -type f -exec touch {} +;make -s scripts >/dev/null 2>&1" >> $pdir/DEBIAN/postinst ++ echo "exit 0" >> $pdir/DEBIAN/postinst ++ chmod 775 $pdir/DEBIAN/postinst ++ fi ++ + # Create the package + dpkg-gencontrol -p$pname -P"$pdir" + dpkg --build "$pdir" .. +@@ -39,9 +60,11 @@ tmpdir="$objtree/debian/tmp" + kernel_headers_dir="$objtree/debian/hdrtmp" + libc_headers_dir="$objtree/debian/headertmp" + dbg_dir="$objtree/debian/dbgtmp" +-packagename=linux-image-$version +-kernel_headers_packagename=linux-headers-$version +-libc_headers_packagename=linux-libc-dev ++dtb_dir="$objtree/debian/dtbtmp" ++packagename=linux-image-dev"$LOCALVERSION" ++kernel_headers_packagename=linux-headers-dev"$LOCALVERSION" ++dtb_packagename=linux-dtb-dev"$LOCALVERSION" ++libc_headers_packagename=linux-libc-dev-dev"$LOCALVERSION" + dbg_packagename=$packagename-dbg + + if [ "$ARCH" = "um" ] ; then +@@ -52,6 +75,15 @@ fi + # XXX: have each arch Makefile export a variable of the canonical image install + # path instead + case $ARCH in ++aarch64|arm64) ++ image_name=Image ++ installed_image_path="boot/vmlinuz-$version" ++ ++ ;; ++arm*) ++ image_name=zImage ++ installed_image_path="boot/vmlinuz-$version" ++ ;; + um) + installed_image_path="usr/bin/linux-$version" + ;; +@@ -65,7 +97,9 @@ esac + BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" + + # Setup the directory structure +-rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" $objtree/debian/files ++rm -rf "$tmpdir" "$kernel_headers_dir" "$libc_headers_dir" "$dbg_dir" "$dtb_dir" $objtree/debian/files ++mkdir -m 755 -p "$dtb_dir/DEBIAN" ++mkdir -p "$dtb_dir/boot/dtb-$version" "$dtb_dir/usr/share/doc/$dtb_packagename" + mkdir -m 755 -p "$tmpdir/DEBIAN" + mkdir -p "$tmpdir/lib" "$tmpdir/boot" + mkdir -p "$kernel_headers_dir/lib/modules/$version/" +@@ -118,6 +152,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then + fi + fi + ++if grep -q '^CONFIG_OF=y' $KCONFIG_CONFIG ; then ++ #mkdir -p "$tmpdir/boot/dtb" ++ INSTALL_DTBS_PATH="$dtb_dir/boot/dtb-$version" $MAKE KBUILD_SRC= dtbs_install ++fi ++ + if [ "$ARCH" != "um" ]; then + $MAKE headers_check KBUILD_SRC= + $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" +@@ -137,7 +176,7 @@ fi + for script in postinst postrm preinst prerm ; do + mkdir -p "$tmpdir$debhookdir/$script.d" + cat < "$tmpdir/DEBIAN/$script" +-#!/bin/sh ++#!/bin/bash + + set -e + +@@ -153,9 +192,60 @@ EOF + chmod 755 "$tmpdir/DEBIAN/$script" + done + ++## ++## Create sym link to kernel image ++## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst ++sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst ++cat >> $tmpdir/DEBIAN/postinst < /dev/null 2>&1 ++ cp /boot/uImage /tmp/uImage ++ sync ++ mountpoint -q /boot || mount /boot ++ cp /tmp/uImage /boot/uImage ++ rm -f /$installed_image_path ++else ++ ln -sf $(basename $installed_image_path) /boot/$image_name || mv /$installed_image_path /boot/$image_name ++fi ++touch /boot/.next ++exit 0 ++EOT ++ ++## ++## FAT install workaround ++## ++sed -e "s/set -e//g" -i $tmpdir/DEBIAN/preinst ++sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/preinst ++cat >> $tmpdir/DEBIAN/preinst <> $tmpdir/DEBIAN/preinst ++ + # Build kernel header package + (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles" + (cd $srctree; find arch/*/include include scripts -type f -o -type l) >> "$objtree/debian/hdrsrcfiles" ++(cd $srctree; find security/*/include -type f) >> "$objtree/debian/hdrsrcfiles" + (cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles" + (cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles" + if grep -q '^CONFIG_STACK_VALIDATION=y' $KCONFIG_CONFIG ; then +@@ -167,15 +257,19 @@ if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then + fi + destdir=$kernel_headers_dir/usr/src/linux-headers-$version + mkdir -p "$destdir" ++(cd $destdir; patch -p1 < /tmp/headers-debian-byteshift.patch) + (cd $srctree; tar -c -f - -T -) < "$objtree/debian/hdrsrcfiles" | (cd $destdir; tar -xf -) + (cd $objtree; tar -c -f - -T -) < "$objtree/debian/hdrobjfiles" | (cd $destdir; tar -xf -) + (cd $objtree; cp $KCONFIG_CONFIG $destdir/.config) # copy .config manually to be where it's expected to be + ln -sf "/usr/src/linux-headers-$version" "$kernel_headers_dir/lib/modules/$version/build" + rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles" + ++(cd $destdir; make M=scripts clean) ++ + if [ "$ARCH" != "um" ]; then + create_package "$kernel_headers_packagename" "$kernel_headers_dir" +- create_package "$libc_headers_packagename" "$libc_headers_dir" ++ # create_package "$libc_headers_packagename" "$libc_headers_dir" ++ create_package "$dtb_packagename" "$dtb_dir" + fi + + create_package "$packagename" "$tmpdir" +diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian +index 6adb3a1..00e12eb 100755 +--- a/scripts/package/mkdebian ++++ b/scripts/package/mkdebian +@@ -61,10 +61,12 @@ else + packageversion=$version-$revision + fi + sourcename=$KDEB_SOURCENAME +-packagename=linux-image-$version +-kernel_headers_packagename=linux-headers-$version ++packagename=linux-image-dev$LOCALVERSION ++kernel_headers_packagename=linux-headers-dev$LOCALVERSION ++dtb_packagename=linux-dtb-dev$LOCALVERSION + dbg_packagename=$packagename-dbg + debarch= ++image_name= + set_debarch + + if [ "$ARCH" = "um" ] ; then +@@ -168,6 +170,11 @@ Architecture: $debarch + Description: Linux kernel debugging symbols for $version + This package will come in handy if you need to debug the kernel. It provides + all the necessary debug symbols for the kernel and its modules. ++ ++Package: $dtb_packagename ++Architecture: $debarch ++Description: Linux DTB, version $version ++ This package contains device blobs from the Linux kernel, version $version + EOF + + cat < debian/rules +diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile +index f839ecd9..cd276162 100644 +--- a/arch/arm64/Makefile ++++ b/arch/arm64/Makefile +@@ -103,7 +103,7 @@ core-$(CONFIG_EFI_STUB) += $(objtree)/drivers/firmware/efi/libstub/lib.a + + # Default target when executing plain make + boot := arch/arm64/boot +-KBUILD_IMAGE := $(boot)/Image.gz ++KBUILD_IMAGE := $(boot)/Image + KBUILD_DTBS := dtbs + + all: Image.gz $(KBUILD_DTBS) diff --git a/patch/kernel/sunxi-next/board-0001-orangepi-one-plus-add-device.patch b/patch/kernel/sunxi-next/board-0001-orangepi-one-plus-add-device.patch index d14368f836..4c7edda75d 100644 --- a/patch/kernel/sunxi-next/board-0001-orangepi-one-plus-add-device.patch +++ b/patch/kernel/sunxi-next/board-0001-orangepi-one-plus-add-device.patch @@ -14,7 +14,7 @@ new file mode 100644 index 000000000..385015396 --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-one-plus.dts -@@ -0,0 +1,202 @@ +@@ -0,0 +1,240 @@ +// SPDX-License-Identifier: (GPL-2.0+ or MIT) +/* + * Copyright (c) 2018 Armbian @@ -28,7 +28,7 @@ index 000000000..385015396 + +/ { + model = "Orange Pi One+"; -+ compatible = "pine64,pine-h64", "allwinner,sun50i-h6"; ++ compatible = "xunlong,orangepi-one-plus", "allwinner,sun50i-h6"; + + aliases { + serial0 = &uart0; @@ -38,6 +38,17 @@ index 000000000..385015396 + stdout-path = "serial0:115200n8"; + }; + ++ reg_gmac_3v3: gmac-3v3 { ++ compatible = "regulator-fixed"; ++ regulator-name = "vcc-gmac-3v3"; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ startup-delay-us = <100000>; ++ enable-active-high; ++ gpio = <&pio 3 6 GPIO_ACTIVE_HIGH>; /* PD6 */ ++ vin-supply = <®_aldo2>; ++ }; ++ + reg_vcc3v3: vcc3v3 { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3"; @@ -75,6 +86,22 @@ index 000000000..385015396 + status = "okay"; +}; + ++ ++&emac { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&ext_rgmii_pins>; ++ phy-mode = "rgmii"; ++ phy-handle = <&ext_rgmii_phy>; ++ phy-supply = <®_gmac_3v3>; ++ allwinner,rx-delay-ps = <200>; ++ allwinner,tx-delay-ps = <200>; ++ status = "okay"; ++}; ++ ++&dwc3 { ++ status = "okay"; ++}; ++ +&mdio { + ext_rgmii_phy: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; @@ -87,6 +114,7 @@ index 000000000..385015396 + pinctrl-0 = <&mmc0_pins>; + vmmc-supply = <®_vcc3v3>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; ++ bus-width = <4>; + status = "okay"; +}; + @@ -99,12 +127,10 @@ index 000000000..385015396 +}; + +&r_i2c { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&r_i2c_pins>; + status = "okay"; + + axp805: pmic@36 { -+ compatible = "x-powers,axp805"; ++ compatible = "x-powers,axp805", "x-powers,axp806"; + reg = <0x36>; + interrupt-parent = <&r_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; @@ -166,6 +192,18 @@ index 000000000..385015396 + regulator-name = "vcc-3v3-2"; + }; + ++ reg_cldo2: cldo2 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-wifi-1"; ++ }; ++ ++ reg_cldo3: cldo3 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-wifi-2"; ++ }; ++ + reg_dcdca: dcdca { + regulator-always-on; + regulator-min-microvolt = <810000>; diff --git a/patch/kernel/sunxi-next/board-0002-orangepi-lite2-add-device.patch b/patch/kernel/sunxi-next/board-0002-orangepi-lite2-add-device.patch index ea9d1b538e..bff51c2a45 100644 --- a/patch/kernel/sunxi-next/board-0002-orangepi-lite2-add-device.patch +++ b/patch/kernel/sunxi-next/board-0002-orangepi-lite2-add-device.patch @@ -15,7 +15,7 @@ new file mode 100644 index 000000000..b9aff606e --- /dev/null +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-orangepi-lite2.dts -@@ -0,0 +1,229 @@ +@@ -0,0 +1,231 @@ +// SPDX-License-Identifier: (GPL-2.0+ or MIT) +/* + * Copyright (c) 2017 Icenowy Zheng @@ -85,6 +85,7 @@ index 000000000..b9aff606e + pinctrl-0 = <&mmc0_pins>; + vmmc-supply = <®_vcc3v3>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; ++ bus-width = <4>; + status = "okay"; +}; + @@ -95,6 +96,7 @@ index 000000000..b9aff606e + vqmmc-supply = <®_vcc1v8>; + non-removable; + cap-mmc-hw-reset; ++ bus-width = <8>; + status = "okay"; +}; + @@ -112,7 +114,7 @@ index 000000000..b9aff606e + status = "okay"; + + axp805: pmic@36 { -+ compatible = "x-powers,axp805"; ++ compatible = "x-powers,axp805", "x-powers,axp806"; + reg = <0x36>; + interrupt-parent = <&r_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; @@ -208,8 +210,8 @@ index 000000000..b9aff606e + + reg_dcdce: dcdce { + regulator-always-on; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; ++ regulator-min-microvolt = <1400000>; ++ regulator-max-microvolt = <1400000>; + regulator-name = "vcc-dram"; + }; + diff --git a/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0016-mfd-axp20x-add-support-for-power-key-on-AXP806.patch b/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0016-mfd-axp20x-add-support-for-power-key-on-AXP806.patch.disabled similarity index 100% rename from patch/kernel/sunxi-next/board-pine-h6-pine-h6-0016-mfd-axp20x-add-support-for-power-key-on-AXP806.patch rename to patch/kernel/sunxi-next/board-pine-h6-pine-h6-0016-mfd-axp20x-add-support-for-power-key-on-AXP806.patch.disabled diff --git a/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0017-mfd-axp20x-add-support-for-AXP805-PMIC.patch b/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0017-mfd-axp20x-add-support-for-AXP805-PMIC.patch.disabled similarity index 100% rename from patch/kernel/sunxi-next/board-pine-h6-pine-h6-0017-mfd-axp20x-add-support-for-AXP805-PMIC.patch rename to patch/kernel/sunxi-next/board-pine-h6-pine-h6-0017-mfd-axp20x-add-support-for-AXP805-PMIC.patch.disabled diff --git a/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0018-arm64-allwinner-h6-enable-AXP805-PMIC-on-Pine-H64.patch b/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0018-arm64-allwinner-h6-enable-AXP805-PMIC-on-Pine-H64.patch index c0b4263a46..d18f6493e8 100644 --- a/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0018-arm64-allwinner-h6-enable-AXP805-PMIC-on-Pine-H64.patch +++ b/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0018-arm64-allwinner-h6-enable-AXP805-PMIC-on-Pine-H64.patch @@ -19,14 +19,14 @@ index 3e31f39..9177224 100644 @@ -55,6 +55,121 @@ status = "okay"; }; - + +&r_i2c { + pinctrl-names = "default"; + pinctrl-0 = <&r_i2c_pins>; + status = "okay"; + + axp805: pmic@36 { -+ compatible = "x-powers,axp805"; ++ compatible = "x-powers,axp805", "x-powers,axp806"; + reg = <0x36>; + interrupt-parent = <&r_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; @@ -138,6 +138,6 @@ index 3e31f39..9177224 100644 &uart0 { pinctrl-names = "default"; pinctrl-0 = <&uart0_ph_pins>; --- +-- 2.7.4 diff --git a/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0031-arm64-allwinner-h6-add-one-more-operating-point-for-.patch b/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0031-arm64-allwinner-h6-add-one-more-operating-point-for-.patch.disabled similarity index 100% rename from patch/kernel/sunxi-next/board-pine-h6-pine-h6-0031-arm64-allwinner-h6-add-one-more-operating-point-for-.patch rename to patch/kernel/sunxi-next/board-pine-h6-pine-h6-0031-arm64-allwinner-h6-add-one-more-operating-point-for-.patch.disabled diff --git a/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0034-arm64-allwinner-h6-add-EMAC-device-nodes.patch b/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0034-arm64-allwinner-h6-add-EMAC-device-nodes.patch index e6b4d93d5d..06ec12723f 100644 --- a/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0034-arm64-allwinner-h6-add-EMAC-device-nodes.patch +++ b/patch/kernel/sunxi-next/board-pine-h6-pine-h6-0034-arm64-allwinner-h6-add-EMAC-device-nodes.patch @@ -19,7 +19,7 @@ index f548eb4..2c0ecf7 100644 @@ -118,6 +118,12 @@ #size-cells = <1>; ranges; - + + syscon: syscon@3000000 { + compatible = "allwinner,sun50i-h6-system-controller", + "syscon"; @@ -32,7 +32,7 @@ index f548eb4..2c0ecf7 100644 @@ -152,6 +158,14 @@ interrupt-controller; #interrupt-cells = <3>; - + + ext_rgmii_pins: rgmii_pins { + pins = "PD0", "PD1", "PD2", "PD3", "PD4", + "PD5", "PD7", "PD8", "PD9", "PD10", @@ -47,7 +47,7 @@ index f548eb4..2c0ecf7 100644 @@ -313,6 +327,27 @@ status = "disabled"; }; - + + emac: ethernet@5020000 { + compatible = "allwinner,sun50i-h6-emac"; + syscon = <&syscon>; @@ -72,6 +72,6 @@ index f548eb4..2c0ecf7 100644 usb3: usb@5200000 { compatible = "allwinner,sun50i-h6-dwc3"; #address-cells = <1>; --- +-- 2.7.4 diff --git a/patch/kernel/sunxi-next/p-board-h6-add-THS.patch b/patch/kernel/sunxi-next/p-board-h6-add-THS.patch new file mode 100644 index 0000000000..f3bae11491 --- /dev/null +++ b/patch/kernel/sunxi-next/p-board-h6-add-THS.patch @@ -0,0 +1,1042 @@ +From 1c44b2c7ee26d4a3b6d6710181203bf3c8491a79 Mon Sep 17 00:00:00 2001 +From: Chen-Yu Tsai +Date: Wed, 20 Jun 2018 15:13:41 +0800 +Subject: [PATCH 08/45] arm64: dts: allwinner: h6: Add LED device nodes for + Pine H64 + +The Pine H64 has 3 GPIO-controlled LEDs, which are labeled "heartbeat", +"link", and "status". + +Add device nodes for them. + +Acked-by: Maxime Ripard +Signed-off-by: Chen-Yu Tsai +--- + .../boot/dts/allwinner/sun50i-h6-pine-h64.dts | 19 +++++++++++++++++++ + 1 file changed, 19 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts +index b6f2d6b2ecae..2e97173c9204 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts +@@ -20,6 +20,25 @@ + chosen { + stdout-path = "serial0:115200n8"; + }; ++ ++ leds { ++ compatible = "gpio-leds"; ++ ++ heartbeat { ++ label = "pine-h64:green:heartbeat"; ++ gpios = <&r_pio 0 4 GPIO_ACTIVE_HIGH>; /* PL4 */ ++ }; ++ ++ link { ++ label = "pine-h64:white:link"; ++ gpios = <&r_pio 0 3 GPIO_ACTIVE_HIGH>; /* PL3 */ ++ }; ++ ++ status { ++ label = "pine-h64:blue:status"; ++ gpios = <&r_pio 0 7 GPIO_ACTIVE_HIGH>; /* PL7 */ ++ }; ++ }; + }; + + &r_i2c { +-- +2.17.1 + + +From cc6843c51ec07b6c2ec961b4baa1d5967e0bdb3b Mon Sep 17 00:00:00 2001 +From: Chen-Yu Tsai +Date: Fri, 13 Jul 2018 00:04:48 +0800 +Subject: [PATCH 09/45] dt-bindings: mfd: axp20x: Add "self-working" mode for + AXP806 + +The AXP806 has three operation modes: + + - master mode: The PMIC is the first or only AXP PMIC in the system, + but is not in charge of power management, i.e. only + provides regulator functions. + + - slave mode: The PMIC is the second AXP PMIC in the system, chained + to the first, or master, one. + + - self-working mode: The PMIC is the only AXP PMIC in the system, and + is in charge of power sequencing. + +The functional differences between these modes can be found in the +"Control and Operation" chapter of the AXP806 (in Chinese) and AXP805 +(in English) datasheets. These include how the PMIC responds to external +signals, whether it takes an external voltage reference or uses its own, +and whether the EN/PWRON pin functions as an enable switch or power button. + +We already support both slave and master mode. This patch adds a property +for describing the self-working mode, and reworks the description for +the mode properties. + +Signed-off-by: Chen-Yu Tsai +Reviewed-by: Rob Herring +Reviewed-by: Icenowy Zheng +Tested-by: Icenowy Zheng +Acked-by: Maxime Ripard +Signed-off-by: Lee Jones +--- + Documentation/devicetree/bindings/mfd/axp20x.txt | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/Documentation/devicetree/bindings/mfd/axp20x.txt b/Documentation/devicetree/bindings/mfd/axp20x.txt +index d1762f3b30af..eaaf79c01e1e 100644 +--- a/Documentation/devicetree/bindings/mfd/axp20x.txt ++++ b/Documentation/devicetree/bindings/mfd/axp20x.txt +@@ -45,8 +45,11 @@ Optional properties: + board is driving OTG VBus or not. + (axp221 / axp223 / axp803/ axp813 only) + +-- x-powers,master-mode: Boolean (axp806 only). Set this when the PMIC is +- wired for master mode. The default is slave mode. ++- x-powers,self-working-mode and ++ x-powers,master-mode: Boolean (axp806 only). Set either of these when the ++ PMIC is wired for self-working mode or master mode. ++ If neither is set then slave mode is assumed. ++ This corresponds to how the MODESET pin is wired. + + - -supply: a phandle to the regulator supply node. May be omitted if + inputs are unregulated, such as using the IPSOUT output +-- +2.17.1 + + +From 1ff51a1fb79a61f822f1551c994274c0cfcdf131 Mon Sep 17 00:00:00 2001 +From: Chen-Yu Tsai +Date: Fri, 13 Jul 2018 00:04:49 +0800 +Subject: [PATCH 10/45] mfd: axp20x: Add self-working mode support for AXP806 + +The AXP806 can operate in a standalone "self-working" mode, in which it +is also responsible for power control of the overall system. This mode +is similar to the master mode, but the EN/PWRON pin functions as a power +button, instead of a level-triggered enable switch. + +This patch adds code checking for the new "x-powers,self-working-mode" +property, and a separate mfd_cell list that includes the power button +(PEK) sub-device. + +Signed-off-by: Chen-Yu Tsai +Reviewed-by: Icenowy Zheng +Tested-by: Icenowy Zheng +Acked-by: Maxime Ripard +Signed-off-by: Lee Jones +--- + drivers/mfd/axp20x.c | 28 +++++++++++++++++++++++++--- + 1 file changed, 25 insertions(+), 3 deletions(-) + +diff --git a/drivers/mfd/axp20x.c b/drivers/mfd/axp20x.c +index 9a2ef3d9b8f8..0be511dd93d0 100644 +--- a/drivers/mfd/axp20x.c ++++ b/drivers/mfd/axp20x.c +@@ -221,6 +221,11 @@ static const struct resource axp803_pek_resources[] = { + DEFINE_RES_IRQ_NAMED(AXP803_IRQ_PEK_FAL_EDGE, "PEK_DBF"), + }; + ++static const struct resource axp806_pek_resources[] = { ++ DEFINE_RES_IRQ_NAMED(AXP806_IRQ_POK_RISE, "PEK_DBR"), ++ DEFINE_RES_IRQ_NAMED(AXP806_IRQ_POK_FALL, "PEK_DBF"), ++}; ++ + static const struct resource axp809_pek_resources[] = { + DEFINE_RES_IRQ_NAMED(AXP809_IRQ_PEK_RIS_EDGE, "PEK_DBR"), + DEFINE_RES_IRQ_NAMED(AXP809_IRQ_PEK_FAL_EDGE, "PEK_DBF"), +@@ -730,6 +735,15 @@ static const struct mfd_cell axp803_cells[] = { + { .name = "axp20x-regulator" }, + }; + ++static const struct mfd_cell axp806_self_working_cells[] = { ++ { ++ .name = "axp221-pek", ++ .num_resources = ARRAY_SIZE(axp806_pek_resources), ++ .resources = axp806_pek_resources, ++ }, ++ { .name = "axp20x-regulator" }, ++}; ++ + static const struct mfd_cell axp806_cells[] = { + { + .id = 2, +@@ -842,8 +856,14 @@ int axp20x_match_device(struct axp20x_dev *axp20x) + axp20x->regmap_irq_chip = &axp803_regmap_irq_chip; + break; + case AXP806_ID: +- axp20x->nr_cells = ARRAY_SIZE(axp806_cells); +- axp20x->cells = axp806_cells; ++ if (of_property_read_bool(axp20x->dev->of_node, ++ "x-powers,self-working-mode")) { ++ axp20x->nr_cells = ARRAY_SIZE(axp806_self_working_cells); ++ axp20x->cells = axp806_self_working_cells; ++ } else { ++ axp20x->nr_cells = ARRAY_SIZE(axp806_cells); ++ axp20x->cells = axp806_cells; ++ } + axp20x->regmap_cfg = &axp806_regmap_config; + axp20x->regmap_irq_chip = &axp806_regmap_irq_chip; + break; +@@ -901,7 +921,9 @@ int axp20x_device_probe(struct axp20x_dev *axp20x) + */ + if (axp20x->variant == AXP806_ID) { + if (of_property_read_bool(axp20x->dev->of_node, +- "x-powers,master-mode")) ++ "x-powers,master-mode") || ++ of_property_read_bool(axp20x->dev->of_node, ++ "x-powers,self-working-mode")) + regmap_write(axp20x->regmap, AXP806_REG_ADDR_EXT, + AXP806_REG_ADDR_EXT_ADDR_MASTER_MODE); + else +-- +2.17.1 + + +From 8a19d87150e9afb44194407be651669fa02344fe Mon Sep 17 00:00:00 2001 +From: Chen-Yu Tsai +Date: Fri, 13 Jul 2018 00:04:50 +0800 +Subject: [PATCH 11/45] mfd: axp20x: Support AXP806 in I2C mode + +The Pine64 H64 board uses an AXP806 PMIC in I2C and self-working mode. +The H64 SoC does not have the usual RSB controller. + +This patch adds AXP806 to the list of devices supported in I2C mode. +In theory, all RSB-based PMICs can also be used in I2C mode. + +Signed-off-by: Chen-Yu Tsai +Reviewed-by: Icenowy Zheng +Tested-by: Icenowy Zheng +Acked-by: Maxime Ripard +Signed-off-by: Lee Jones +--- + drivers/mfd/axp20x-i2c.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/drivers/mfd/axp20x-i2c.c b/drivers/mfd/axp20x-i2c.c +index d35a5fe6c950..a7b7c5423ea5 100644 +--- a/drivers/mfd/axp20x-i2c.c ++++ b/drivers/mfd/axp20x-i2c.c +@@ -65,6 +65,7 @@ static const struct of_device_id axp20x_i2c_of_match[] = { + { .compatible = "x-powers,axp202", .data = (void *)AXP202_ID }, + { .compatible = "x-powers,axp209", .data = (void *)AXP209_ID }, + { .compatible = "x-powers,axp221", .data = (void *)AXP221_ID }, ++ { .compatible = "x-powers,axp806", .data = (void *)AXP806_ID }, + { }, + }; + MODULE_DEVICE_TABLE(of, axp20x_i2c_of_match); +@@ -74,6 +75,7 @@ static const struct i2c_device_id axp20x_i2c_id[] = { + { "axp202", 0 }, + { "axp209", 0 }, + { "axp221", 0 }, ++ { "axp806", 0 }, + { }, + }; + MODULE_DEVICE_TABLE(i2c, axp20x_i2c_id); +-- + + +From bb10f5dd2933681507d316b8c84b183f678dcf31 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Thu, 26 Jul 2018 12:41:27 +0800 +Subject: [PATCH 36/45] arm64: allwinner: dts: h6: fix Pine H64 MMC bus width + +Currently the enabled MMC controllers on Pine H64 do not have bus-width +set, which make them fall back to 1-bit mode and become quite slow. + +Fix this by add the corresponding bus-width properties. + +Fixes: ecbd611882a1 ("arm64: allwinner: h6: enable MMC0/2 on Pine H64") +Signed-off-by: Icenowy Zheng +--- + arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts +index bf0a88294ae4..3c74cbed319b 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts +@@ -97,6 +97,7 @@ + pinctrl-0 = <&mmc0_pins>; + vmmc-supply = <®_cldo1>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; ++ bus-width = <4>; + status = "okay"; + }; + +@@ -107,6 +108,7 @@ + vqmmc-supply = <®_bldo2>; + non-removable; + cap-mmc-hw-reset; ++ bus-width = <8>; + status = "okay"; + }; + +-- +2.17.1 + + +From 6bfc6aab9a9cd82578a7e782c83d04f4cf7fe6c4 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 27 Jul 2018 16:22:01 +0800 +Subject: [PATCH 37/45] nvmem: sunxi-sid: add support for H6 SID + +The SID controller in Allwinner H6 SoC is similar to the one in +Allwinner A64, except the size of the eFUSE is enlarged to 512 bytes +(4Kbit). + +Add support for it. + +Signed-off-by: Icenowy Zheng +--- + .../devicetree/bindings/nvmem/allwinner,sunxi-sid.txt | 1 + + drivers/nvmem/sunxi_sid.c | 6 ++++++ + 2 files changed, 7 insertions(+) + +diff --git a/Documentation/devicetree/bindings/nvmem/allwinner,sunxi-sid.txt b/Documentation/devicetree/bindings/nvmem/allwinner,sunxi-sid.txt +index e319fe5e205a..332de580e321 100644 +--- a/Documentation/devicetree/bindings/nvmem/allwinner,sunxi-sid.txt ++++ b/Documentation/devicetree/bindings/nvmem/allwinner,sunxi-sid.txt +@@ -7,6 +7,7 @@ Required properties: + "allwinner,sun8i-a83t-sid" + "allwinner,sun8i-h3-sid" + "allwinner,sun50i-a64-sid" ++ "allwinner,sun50i-h6-sid" + + - reg: Should contain registers location and length + +diff --git a/drivers/nvmem/sunxi_sid.c b/drivers/nvmem/sunxi_sid.c +index d020f89248fd..fa58c3574afa 100644 +--- a/drivers/nvmem/sunxi_sid.c ++++ b/drivers/nvmem/sunxi_sid.c +@@ -232,11 +232,17 @@ static const struct sunxi_sid_cfg sun50i_a64_cfg = { + .size = 0x100, + }; + ++static const struct sunxi_sid_cfg sun50i_h6_cfg = { ++ .value_offset = 0x200, ++ .size = 0x200, ++}; ++ + static const struct of_device_id sunxi_sid_of_match[] = { + { .compatible = "allwinner,sun4i-a10-sid", .data = &sun4i_a10_cfg }, + { .compatible = "allwinner,sun7i-a20-sid", .data = &sun7i_a20_cfg }, + { .compatible = "allwinner,sun8i-h3-sid", .data = &sun8i_h3_cfg }, + { .compatible = "allwinner,sun50i-a64-sid", .data = &sun50i_a64_cfg }, ++ { .compatible = "allwinner,sun50i-h6-sid", .data = &sun50i_h6_cfg }, + {/* sentinel */}, + }; + MODULE_DEVICE_TABLE(of, sunxi_sid_of_match); +-- +2.17.1 + + +From de62065cf1b55e48049c44076500a32eac08fe2f Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 27 Jul 2018 16:24:18 +0800 +Subject: [PATCH 38/45] arm64: allwinner: dts: h6: add H6 SID device tree node + +The Allwinner H6 SoC has a SID like previous Allwinner SoCs. + +Add a device tree node for it. + +Signed-off-by: Icenowy Zheng +--- + arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +index 1a8086476514..8e3c47c7c797 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +@@ -174,6 +174,11 @@ + #interrupt-cells = <3>; + }; + ++ sid: efuse@3006000 { ++ compatible = "allwinner,sun50i-h6-sid"; ++ reg = <0x03006000 0x1000>; ++ }; ++ + pio: pinctrl@300b000 { + compatible = "allwinner,sun50i-h6-pinctrl"; + reg = <0x0300b000 0x400>; +-- +2.17.1 + + +From 8cdaf449f2936b608862b0a0175dd05fb52233b1 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 27 Jul 2018 17:34:35 +0800 +Subject: [PATCH 39/45] nvmem: sunxi-sid: fix endian + +The data in the SID is stored as little endian. However, when accessing +the SID via sunxi-sid driver, it converts little endian to big endian at +4 byte border. This makes addressing sub-4-byte items in the SID wrong. + +Fix the endian by read out the SID 4-byte words as little endian, not +big endian. + +Signed-off-by: Icenowy Zheng +--- + drivers/nvmem/sunxi_sid.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/drivers/nvmem/sunxi_sid.c b/drivers/nvmem/sunxi_sid.c +index fa58c3574afa..af30d62b1426 100644 +--- a/drivers/nvmem/sunxi_sid.c ++++ b/drivers/nvmem/sunxi_sid.c +@@ -63,7 +63,7 @@ static u8 sunxi_sid_read_byte(const struct sunxi_sid *sid, + { + u32 sid_key; + +- sid_key = ioread32be(sid->base + round_down(offset, 4)); ++ sid_key = readl(sid->base + round_down(offset, 4)); + sid_key >>= (offset % 4) * 8; + + return sid_key; /* Only return the last byte */ +-- +2.17.1 + + +From e7690d51c51dd6c97475bef2b207244d3a5f91b3 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 27 Jul 2018 16:18:35 +0800 +Subject: [PATCH 40/45] sun50i-h6-ths + +Signed-off-by: Icenowy Zheng +--- + drivers/thermal/Kconfig | 11 + + drivers/thermal/Makefile | 1 + + drivers/thermal/sun50i_h6_ths.c | 365 ++++++++++++++++++++++++++++++++ + 3 files changed, 377 insertions(+) + create mode 100644 drivers/thermal/sun50i_h6_ths.c + +diff --git a/drivers/thermal/Kconfig b/drivers/thermal/Kconfig +index 82979880f985..1b302248633a 100644 +--- a/drivers/thermal/Kconfig ++++ b/drivers/thermal/Kconfig +@@ -415,6 +415,17 @@ config MTK_THERMAL + Enable this option if you want to have support for thermal management + controller present in Mediatek SoCs + ++config SUN50I_H6_THS ++ tristate "Thermal sensor driver for Allwinner H6" ++ depends on ARCH_SUNXI || COMPILE_TEST ++ depends on HAS_IOMEM ++ depends on NVMEM ++ depends on OF ++ depends on RESET_CONTROLLER ++ help ++ Enable this option if you want to have support for thermal reporting ++ on Allwinner H6. ++ + menu "Broadcom thermal drivers" + depends on ARCH_BCM || ARCH_BRCMSTB || ARCH_BCM2835 || COMPILE_TEST + source "drivers/thermal/broadcom/Kconfig" +diff --git a/drivers/thermal/Makefile b/drivers/thermal/Makefile +index 610344eb3e03..bdc5ba49f170 100644 +--- a/drivers/thermal/Makefile ++++ b/drivers/thermal/Makefile +@@ -58,6 +58,7 @@ obj-$(CONFIG_QCOM_TSENS) += qcom/ + obj-y += tegra/ + obj-$(CONFIG_HISI_THERMAL) += hisi_thermal.o + obj-$(CONFIG_MTK_THERMAL) += mtk_thermal.o ++obj-$(CONFIG_SUN50I_H6_THS) += sun50i_h6_ths.o + obj-$(CONFIG_GENERIC_ADC_THERMAL) += thermal-generic-adc.o + obj-$(CONFIG_ZX2967_THERMAL) += zx2967_thermal.o + obj-$(CONFIG_UNIPHIER_THERMAL) += uniphier_thermal.o +diff --git a/drivers/thermal/sun50i_h6_ths.c b/drivers/thermal/sun50i_h6_ths.c +new file mode 100644 +index 000000000000..ad3c5f3e47c7 +--- /dev/null ++++ b/drivers/thermal/sun50i_h6_ths.c +@@ -0,0 +1,365 @@ ++/* ++ * Thermal sensor driver for Allwinner H6 ++ * ++ * Copyright (C) 2018 Icenowy Zheng ++ * ++ * Based on the work of OndÅ™ej Jirman ++ * Based on the work of Josef Gajdusek ++ * ++ * This software is licensed under the terms of the GNU General Public ++ * License version 2, as published by the Free Software Foundation, and ++ * may be copied, distributed, and modified under those terms. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define THS_H6_MAX_SENSOR_NUM 4 ++ ++#define THS_H6_CTRL0 0x00 ++#define THS_H6_CTRL2 0x04 ++#define THS_H6_PER 0x08 ++#define THS_H6_DATA_INT_CTRL 0x10 ++#define THS_H6_DATA_INT_STAT 0x20 ++#define THS_H6_FILTER 0x30 ++#define THS_H6_CDATA(n) (0xa0 + 4 * (n)) ++#define THS_H6_DATA(n) (0xc0 + 4 * (n)) ++ ++#define THS_H6_CTRL0_SENSOR_ACQ0(x) ((x) << 16) ++#define THS_H6_CTRL2_SENSE_EN(n) BIT(0 + (n)) ++#define THS_H6_PER_THERMAL_PER(x) ((x) << 12) ++#define THS_H6_INT_CTRL_DATA_IRQ_EN(n) BIT(0 + (n)) ++#define THS_H6_STAT_DATA_IRQ_STS(n) BIT(0 + (n)) ++#define THS_H6_FILTER_TYPE(x) ((x) << 0) ++#define THS_H6_FILTER_EN BIT(2) ++ ++#define THS_H6_CLK_IN 240000000 /* Hz */ ++#define THS_H6_DATA_PERIOD 10 /* ms */ ++ ++#define THS_H6_FILTER_TYPE_VALUE 2 /* average over 2^(n+1) samples */ ++#define THS_H6_FILTER_DIV (1 << (THS_H6_FILTER_TYPE_VALUE + 1)) ++#define THS_H6_INT_CTRL_THERMAL_PER_VALUE \ ++ (THS_H6_DATA_PERIOD * (THS_H6_CLK_IN / 1000) / THS_H6_FILTER_DIV / 4096 - 1) ++#define THS_H6_CTRL0_SENSOR_ACQ0_VALUE 0x1df /* 20us */ ++#define THS_H6_CTRL0_UNK 0x0000002f ++ ++#define THS_H6_CAL_FT_TEMP_MASK 0x0fff ++#define THS_H6_CAL_FT_TEMP_DEVIATION_EN 0x3000 ++#define THS_H6_CAL_DEFAULT 0x800 ++#define THS_H6_CAL_VAL_MASK 0xfff ++ ++struct sun50i_h6_ths_data; ++ ++struct sun50i_h6_ths_sensor { ++ struct sun50i_h6_ths_data *data; ++ int id; ++ struct thermal_zone_device *tzd; ++ u32 val; ++}; ++ ++struct sun50i_h6_ths_cfg { ++ int sensor_num; ++ int (*calc_temp)(u32 val); ++}; ++ ++struct sun50i_h6_ths_data { ++ struct reset_control *reset; ++ struct clk *busclk; ++ void __iomem *regs; ++ const struct sun50i_h6_ths_cfg *cfg; ++ struct nvmem_cell *calcell; ++ struct sun50i_h6_ths_sensor sensors[THS_H6_MAX_SENSOR_NUM]; ++}; ++ ++static int sun50i_h6_ths_calc_temp(u32 val) ++{ ++ return (187744 - (int)((val * 1000000) / 14882)); ++} ++ ++static u16 sun50i_h6_ths_recalc_reg(u32 temp) ++{ ++ return (u16)(2794 - temp * 14882 / 1000000); ++} ++ ++static int sun50i_h6_ths_get_temp(void *_data, int *out) ++{ ++ struct sun50i_h6_ths_sensor *sensor = _data; ++ ++ if (sensor->val == 0) ++ return -EBUSY; ++ ++ /* Formula and parameters from the Allwinner 3.4 kernel */ ++ *out = sensor->data->cfg->calc_temp(sensor->val); ++ return 0; ++} ++ ++static irqreturn_t sun50i_h6_ths_irq_thread(int irq, void *_data) ++{ ++ struct sun50i_h6_ths_data *data = _data; ++ int i; ++ ++ for (i = 0; i < data->cfg->sensor_num; i++) { ++ if (!(readl(data->regs + THS_H6_DATA_INT_STAT) & ++ THS_H6_STAT_DATA_IRQ_STS(i))) ++ continue; ++ ++ writel(THS_H6_STAT_DATA_IRQ_STS(i), ++ data->regs + THS_H6_DATA_INT_STAT); ++ ++ data->sensors[i].val = readl(data->regs + THS_H6_DATA(i)); ++ if (data->sensors[i].val) ++ thermal_zone_device_update(data->sensors[i].tzd, ++ THERMAL_EVENT_TEMP_SAMPLE); ++ } ++ ++ return IRQ_HANDLED; ++} ++ ++static void sun50i_h6_ths_init(struct sun50i_h6_ths_data *data) ++{ ++ u32 val; ++ int i; ++ ++ writel(THS_H6_CTRL0_SENSOR_ACQ0(THS_H6_CTRL0_SENSOR_ACQ0_VALUE) | ++ THS_H6_CTRL0_UNK, data->regs + THS_H6_CTRL0); ++ writel(THS_H6_FILTER_EN | THS_H6_FILTER_TYPE(THS_H6_FILTER_TYPE_VALUE), ++ data->regs + THS_H6_FILTER); ++ ++ val = 0; ++ for (i = 0; i < data->cfg->sensor_num; i++) ++ val |= THS_H6_CTRL2_SENSE_EN(i); ++ writel(val, data->regs + THS_H6_CTRL2); ++ ++ val = THS_H6_PER_THERMAL_PER(THS_H6_INT_CTRL_THERMAL_PER_VALUE); ++ writel(val, data->regs + THS_H6_PER); ++ ++ val = 0; ++ for (i = 0; i < data->cfg->sensor_num; i++) ++ val |= THS_H6_INT_CTRL_DATA_IRQ_EN(i); ++ writel(val, data->regs + THS_H6_DATA_INT_CTRL); ++} ++ ++static const struct thermal_zone_of_device_ops sun50i_h6_ths_thermal_ops = { ++ .get_temp = sun50i_h6_ths_get_temp, ++}; ++ ++static int sun50i_h6_ths_calibrate(struct sun50i_h6_ths_data *data) ++{ ++ u16 *caldata; ++ size_t callen; ++ int i; ++ int ft_temp; ++ s16 ft_temp_orig_reg, diff, cal_val; ++ u32 reg_val; ++ ++ caldata = nvmem_cell_read(data->calcell, &callen); ++ if (IS_ERR(caldata)) ++ return PTR_ERR(caldata); ++ ++ if (callen < 2 + 2 * data->cfg->sensor_num) ++ return -EINVAL; ++ ++ if (!caldata[0]) ++ return -EINVAL; ++ ++ /* ++ * The calbration data on H6 is stored as temperature-value ++ * pair when being filled at factory test stage. ++ * The unit of stored FT temperature is 0.1 degreee celusis. ++ */ ++ ft_temp = (caldata[0] & THS_H6_CAL_FT_TEMP_MASK) * 100; ++ ft_temp_orig_reg = sun50i_h6_ths_recalc_reg(ft_temp); ++ ++ for (i = 0; i < data->cfg->sensor_num; i++) ++ { ++ diff = (ft_temp_orig_reg - (s16)caldata[1 + i]); ++ cal_val = THS_H6_CAL_DEFAULT - diff; ++ ++ if (cal_val & ~THS_H6_CAL_VAL_MASK) { ++ pr_warn("Faulty thermal sensor %d calibration value, beyond the valid range.\n", i); ++ continue; ++ } ++ ++ if (i % 2) { ++ reg_val = readl(data->regs + THS_H6_CDATA(i / 2)); ++ reg_val &= 0xffff; ++ reg_val |= cal_val << 16; ++ writel(reg_val, data->regs + THS_H6_CDATA(i / 2)); ++ } else { ++ writel(cal_val, data->regs + THS_H6_CDATA(i / 2)); ++ } ++ } ++ ++ kfree(caldata); ++ return 0; ++} ++ ++static int sun50i_h6_ths_probe(struct platform_device *pdev) ++{ ++ struct sun50i_h6_ths_data *data; ++ struct resource *res; ++ int ret, irq, i; ++ ++ data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL); ++ if (!data) ++ return -ENOMEM; ++ ++ data->cfg = of_device_get_match_data(&pdev->dev); ++ if (!data->cfg) ++ return -EINVAL; ++ ++ res = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ if (!res) { ++ dev_err(&pdev->dev, "no memory resources defined\n"); ++ return -EINVAL; ++ } ++ ++ data->regs = devm_ioremap_resource(&pdev->dev, res); ++ if (IS_ERR(data->regs)) { ++ ret = PTR_ERR(data->regs); ++ dev_err(&pdev->dev, "failed to ioremap THS registers: %d\n", ret); ++ return ret; ++ } ++ ++ irq = platform_get_irq(pdev, 0); ++ if (irq < 0) { ++ dev_err(&pdev->dev, "failed to get IRQ: %d\n", irq); ++ return irq; ++ } ++ ++ ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, ++ sun50i_h6_ths_irq_thread, IRQF_ONESHOT, ++ dev_name(&pdev->dev), data); ++ if (ret) ++ return ret; ++ ++ data->busclk = devm_clk_get(&pdev->dev, "bus"); ++ if (IS_ERR(data->busclk)) { ++ ret = PTR_ERR(data->busclk); ++ dev_err(&pdev->dev, "failed to get ahb clk: %d\n", ret); ++ return ret; ++ } ++ ++ data->reset = devm_reset_control_get(&pdev->dev, NULL); ++ if (IS_ERR(data->reset)) { ++ ret = PTR_ERR(data->reset); ++ dev_err(&pdev->dev, "failed to get reset: %d\n", ret); ++ return ret; ++ } ++ ++ ret = reset_control_deassert(data->reset); ++ if (ret) { ++ dev_err(&pdev->dev, "reset deassert failed: %d\n", ret); ++ return ret; ++ } ++ ++ ret = clk_prepare_enable(data->busclk); ++ if (ret) { ++ dev_err(&pdev->dev, "failed to enable bus clk: %d\n", ret); ++ goto err_assert_reset; ++ } ++ ++ data->calcell = devm_nvmem_cell_get(&pdev->dev, "calibration"); ++ if (IS_ERR(data->calcell)) { ++ if (PTR_ERR(data->calcell) == -EPROBE_DEFER) { ++ ret = PTR_ERR(data->calcell); ++ goto err_disable_bus; ++ } ++ /* ++ * Even if the external calibration data stored in eFUSE is ++ * not accessible, the THS hardware can still work, although ++ * the data won't be so accurate. ++ * The default value of calibration register is 0x800 for ++ * every sensor, and the calibration value is usually 0x7xx ++ * or 0x8xx, so they won't be away from the default value ++ * for a lot. ++ * So here we do not return if the calibartion data is not ++ * available, except the probe needs deferring. ++ */ ++ } else { ++ ret = sun50i_h6_ths_calibrate(data); ++ if (ret) { ++ /* Revert calibrating */ ++ for (i = 0; i < data->cfg->sensor_num; i += 2) { ++ writew(THS_H6_CAL_DEFAULT, ++ data->regs + THS_H6_CDATA(i / 2)); ++ } ++ } ++ } ++ ++ for (i = 0; i < data->cfg->sensor_num; i++) { ++ data->sensors[i].data = data; ++ data->sensors[i].id = i; ++ data->sensors[i].tzd = ++ devm_thermal_zone_of_sensor_register(&pdev->dev, ++ i, &data->sensors[i], &sun50i_h6_ths_thermal_ops); ++ if (IS_ERR(data->sensors[i].tzd)) { ++ ret = PTR_ERR(data->sensors[i].tzd); ++ dev_err(&pdev->dev, ++ "failed to register thermal zone %d: %d\n", ++ i, ret); ++ goto err_disable_bus; ++ } ++ } ++ ++ sun50i_h6_ths_init(data); ++ ++ platform_set_drvdata(pdev, data); ++ return 0; ++ ++err_disable_bus: ++ clk_disable_unprepare(data->busclk); ++err_assert_reset: ++ reset_control_assert(data->reset); ++ return ret; ++} ++ ++static int sun50i_h6_ths_remove(struct platform_device *pdev) ++{ ++ struct sun50i_h6_ths_data *data = platform_get_drvdata(pdev); ++ ++ reset_control_assert(data->reset); ++ clk_disable_unprepare(data->busclk); ++ return 0; ++} ++ ++static const struct sun50i_h6_ths_cfg sun50i_h6_ths_cfg = { ++ .sensor_num = 2, ++ .calc_temp = sun50i_h6_ths_calc_temp, ++}; ++ ++static const struct of_device_id sun50i_h6_ths_id_table[] = { ++ { .compatible = "allwinner,sun50i-h6-ths", .data = &sun50i_h6_ths_cfg }, ++ { /* sentinel */ }, ++}; ++MODULE_DEVICE_TABLE(of, sun50i_h6_ths_id_table); ++ ++static struct platform_driver sun50i_h6_ths_driver = { ++ .probe = sun50i_h6_ths_probe, ++ .remove = sun50i_h6_ths_remove, ++ .driver = { ++ .name = "sun50i_h6_ths", ++ .of_match_table = sun50i_h6_ths_id_table, ++ }, ++}; ++ ++module_platform_driver(sun50i_h6_ths_driver); ++ ++MODULE_AUTHOR("Icenowy Zheng "); ++MODULE_DESCRIPTION("Thermal sensor driver for Allwinner H6"); ++MODULE_LICENSE("GPL v2"); +-- +2.17.1 + + +From b2efe78569663e3188d712699209126a535df23d Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 27 Jul 2018 16:18:42 +0800 +Subject: [PATCH 41/45] basic ths dt + +Signed-off-by: Icenowy Zheng +--- + arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 35 ++++++++++++++++++++ + 1 file changed, 35 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +index 8e3c47c7c797..cf125ebd1c7b 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +@@ -10,6 +10,7 @@ + #include + #include + #include ++#include + + / { + interrupt-parent = <&gic>; +@@ -177,6 +178,12 @@ + sid: efuse@3006000 { + compatible = "allwinner,sun50i-h6-sid"; + reg = <0x03006000 0x1000>; ++ #address-cells = <1>; ++ #size-cells = <1>; ++ ++ ths_calib: thermal-sensor-calibration@14 { ++ reg = <0x14 0x6>; ++ }; + }; + + pio: pinctrl@300b000 { +@@ -445,6 +452,18 @@ + }; + }; + ++ ths: ths@5070400 { ++ compatible = "allwinner,sun50i-h6-ths"; ++ reg = <0x05070400 0x100>; ++ interrupts = ; ++ clocks = <&ccu CLK_BUS_THS>; ++ clock-names = "bus"; ++ resets = <&ccu RST_BUS_THS>; ++ nvmem-cells = <&ths_calib>; ++ nvmem-cell-names = "calibration"; ++ #thermal-sensor-cells = <1>; ++ }; ++ + r_ccu: clock@7010000 { + compatible = "allwinner,sun50i-h6-r-ccu"; + reg = <0x07010000 0x400>; +@@ -495,4 +514,20 @@ + #size-cells = <0>; + }; + }; ++ ++ thermal-zones { ++ cpu_thermal { ++ /* milliseconds */ ++ polling-delay-passive = <250>; ++ polling-delay = <1000>; ++ thermal-sensors = <&ths 0>; ++ }; ++ ++ gpu_thermal { ++ /* milliseconds */ ++ polling-delay-passive = <250>; ++ polling-delay = <1000>; ++ thermal-sensors = <&ths 1>; ++ }; ++ }; + }; +-- +2.17.1 + + +From 5568aa53d90402816fe45ce30f7aaa6e577810aa Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 27 Jul 2018 19:19:28 +0800 +Subject: [PATCH 43/45] arm64: allwinner: dts: h6: add CPU supply for Pine H64 + +The Pine H64, follows the reference design on the AXP805 DCDC +assignment, connects DCDCA (polyphased with DCDCB) to the ARM +cores' power supply. + +Add this to the device tree, to enable voltage scaling. + +Signed-off-by: Icenowy Zheng +--- + arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts +index 3c74cbed319b..fb45e68bc441 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6-pine-h64.dts +@@ -92,6 +92,10 @@ + }; + }; + ++&cpu0 { ++ cpu-supply = <®_dcdca>; ++}; ++ + &mmc0 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc0_pins>; +-- +2.17.1 + + +From 6a83e3542e2ad0388f5ee5b9beb7774467ab08bd Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 27 Jul 2018 19:28:31 +0800 +Subject: [PATCH 44/45] bind trips + +Signed-off-by: Icenowy Zheng +--- + arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 35 ++++++++++++++++++++ + 1 file changed, 35 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +index 5cc72c943374..000a681fb515 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +@@ -540,6 +540,41 @@ + polling-delay-passive = <250>; + polling-delay = <1000>; + thermal-sensors = <&ths 0>; ++ ++ cooling-maps { ++ map0 { ++ trip = <&cpu_alert0>; ++ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ ++ map1 { ++ trip = <&cpu_alert1>; ++ cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; ++ }; ++ }; ++ ++ trips { ++ cpu_alert0: cpu_alert0 { ++ /* milliCelsius */ ++ temperature = <75000>; ++ hysteresis = <2000>; ++ type = "passive"; ++ }; ++ ++ cpu_alert1: cpu_alert1 { ++ /* milliCelsius */ ++ temperature = <90000>; ++ hysteresis = <2000>; ++ type = "hot"; ++ }; ++ ++ cpu_crit: cpu_crit { ++ /* milliCelsius */ ++ temperature = <1000000>; ++ hysteresis = <2000>; ++ type = "critical"; ++ }; ++ }; + }; + + gpu_thermal { +-- +2.17.1 + + +From 32a3eba2d813fb311430f2275ba1dbe73c37da73 Mon Sep 17 00:00:00 2001 +From: Icenowy Zheng +Date: Fri, 27 Jul 2018 19:30:10 +0800 +Subject: [PATCH 45/45] add extra opps + +Signed-off-by: Icenowy Zheng +--- + arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +index 000a681fb515..bec8c4a46ec7 100644 +--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi ++++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi +@@ -41,6 +41,24 @@ + opp-microvolt = <880000>; + clock-latency-ns = <244144>; /* 8 32k periods */ + }; ++ ++ opp-1008000000 { ++ opp-hz = /bits/ 64 <1008000000>; ++ opp-microvolt = <940000>; ++ clock-latency-ns = <244144>; /* 8 32k periods */ ++ }; ++ ++ opp-1320000000 { ++ opp-hz = /bits/ 64 <1320000000>; ++ opp-microvolt = <1000000>; ++ clock-latency-ns = <244144>; /* 8 32k periods */ ++ }; ++ ++ opp-1488000000 { ++ opp-hz = /bits/ 64 <1488000000>; ++ opp-microvolt = <1060000>; ++ clock-latency-ns = <244144>; /* 8 32k periods */ ++ }; + }; + + cpus { +-- +2.17.1 + diff --git a/patch/u-boot/u-boot-sun50iw6/0001-add-orangepione_plus.patch b/patch/u-boot/u-boot-sun50iw6/0001-add-orangepione_plus.patch deleted file mode 100644 index 0a5a4d6f59..0000000000 --- a/patch/u-boot/u-boot-sun50iw6/0001-add-orangepione_plus.patch +++ /dev/null @@ -1,103 +0,0 @@ -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 3669bdf..866e468 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -362,7 +362,8 @@ dtb-$(CONFIG_MACH_SUN50I_H5) += \ - sun50i-h5-orangepi-prime.dtb \ - sun50i-h5-orangepi-zero-plus2.dtb - dtb-$(CONFIG_MACH_SUN50I_H6) += \ -- sun50i-h6-pine-h64.dtb -+ sun50i-h6-pine-h64.dtb \ -+ sun50i-h6-orangepi-one-plus.dtb - dtb-$(CONFIG_MACH_SUN50I) += \ - sun50i-a64-bananapi-m64.dtb \ - sun50i-a64-nanopi-a64.dtb \ -diff --git a/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts b/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts -new file mode 100644 -index 0000000..7191127 ---- /dev/null -+++ b/arch/arm/dts/sun50i-h6-orangepi-one-plus.dts -@@ -0,0 +1,64 @@ -+/* -+ * Copyright (c) 2017 Icenowy Zheng -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively, -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use, -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+ -+/dts-v1/; -+ -+#include "sun50i-h6.dtsi" -+ -+#include -+ -+/ { -+ model = "Orange Pi One+"; -+ compatible = "pine64,pine-h64", "allwinner,sun50i-h6"; -+ -+ aliases { -+ serial0 = &uart0; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+}; -+ -+&uart0 { -+ status = "okay"; -+}; -diff --git a/configs/orangepi_one_plus_defconfig b/configs/orangepi_one_plus_defconfig -new file mode 100644 -index 0000000..ded0df6 ---- /dev/null -+++ b/configs/orangepi_one_plus_defconfig -@@ -0,0 +1,13 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_SUNXI=y -+CONFIG_MACH_SUN50I_H6=y -+CONFIG_DRAM_ODT_EN=y -+# CONFIG_PSCI_RESET is not set -+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-orangepi-one-plus" -+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -+CONFIG_SPL=y -+# CONFIG_CMD_FLASH is not set -+# CONFIG_CMD_FPGA is not set -+# CONFIG_SPL_DOS_PARTITION is not set -+# CONFIG_SPL_ISO_PARTITION is not set -+# CONFIG_SPL_EFI_PARTITION is not set diff --git a/patch/u-boot/u-boot-sun50iw6/0002-add-orangepilite_2.patch b/patch/u-boot/u-boot-sun50iw6/0002-add-orangepilite_2.patch deleted file mode 100644 index 13b4313bec..0000000000 --- a/patch/u-boot/u-boot-sun50iw6/0002-add-orangepilite_2.patch +++ /dev/null @@ -1,103 +0,0 @@ -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 3669bdf..866e468 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -363,7 +363,8 @@ dtb-$(CONFIG_MACH_SUN50I_H5) += \ - sun50i-h5-orangepi-zero-plus2.dtb - dtb-$(CONFIG_MACH_SUN50I_H6) += \ - sun50i-h6-pine-h64.dtb \ -- sun50i-h6-orangepi-one-plus.dtb -+ sun50i-h6-orangepi-one-plus.dtb \ -+ sun50i-h6-orangepi-lite2.dtb - dtb-$(CONFIG_MACH_SUN50I) += \ - sun50i-a64-bananapi-m64.dtb \ - sun50i-a64-nanopi-a64.dtb \ -diff --git a/arch/arm/dts/sun50i-h6-orangepi-lite2.dts b/arch/arm/dts/sun50i-h6-orangepi-lite2.dts -new file mode 100644 -index 0000000..7191127 ---- /dev/null -+++ b/arch/arm/dts/sun50i-h6-orangepi-lite2.dts -@@ -0,0 +1,64 @@ -+/* -+ * Copyright (c) 2017 Icenowy Zheng -+ * -+ * This file is dual-licensed: you can use it either under the terms -+ * of the GPL or the X11 license, at your option. Note that this dual -+ * licensing only applies to this file, and not this project as a -+ * whole. -+ * -+ * a) This library is free software; you can redistribute it and/or -+ * modify it under the terms of the GNU General Public License as -+ * published by the Free Software Foundation; either version 2 of the -+ * License, or (at your option) any later version. -+ * -+ * This library is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * Or, alternatively, -+ * -+ * b) Permission is hereby granted, free of charge, to any person -+ * obtaining a copy of this software and associated documentation -+ * files (the "Software"), to deal in the Software without -+ * restriction, including without limitation the rights to use, -+ * copy, modify, merge, publish, distribute, sublicense, and/or -+ * sell copies of the Software, and to permit persons to whom the -+ * Software is furnished to do so, subject to the following -+ * conditions: -+ * -+ * The above copyright notice and this permission notice shall be -+ * included in all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -+ * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -+ * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -+ * OTHER DEALINGS IN THE SOFTWARE. -+ */ -+ -+/dts-v1/; -+ -+#include "sun50i-h6.dtsi" -+ -+#include -+ -+/ { -+ model = "Orange Pi Lite 2"; -+ compatible = "pine64,pine-h64", "allwinner,sun50i-h6"; -+ -+ aliases { -+ serial0 = &uart0; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+}; -+ -+&uart0 { -+ status = "okay"; -+}; -diff --git a/configs/orangepi_lite2_defconfig b/configs/orangepi_lite2_defconfig -new file mode 100644 -index 0000000..ded0df6 ---- /dev/null -+++ b/configs/orangepi_lite2_defconfig -@@ -0,0 +1,13 @@ -+CONFIG_ARM=y -+CONFIG_ARCH_SUNXI=y -+CONFIG_MACH_SUN50I_H6=y -+CONFIG_DRAM_ODT_EN=y -+# CONFIG_PSCI_RESET is not set -+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-orangepi-lite2" -+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set -+CONFIG_SPL=y -+# CONFIG_CMD_FLASH is not set -+# CONFIG_CMD_FPGA is not set -+# CONFIG_SPL_DOS_PARTITION is not set -+# CONFIG_SPL_ISO_PARTITION is not set -+# CONFIG_SPL_EFI_PARTITION is not set diff --git a/patch/u-boot/u-boot-sun50iw6/add-orangepilite_2.patch b/patch/u-boot/u-boot-sun50iw6/add-orangepilite_2.patch new file mode 100644 index 0000000000..b915084d6e --- /dev/null +++ b/patch/u-boot/u-boot-sun50iw6/add-orangepilite_2.patch @@ -0,0 +1,188 @@ +diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile +index 89032bb..2309a6d 100644 +--- a/arch/arm/dts/Makefile ++++ b/arch/arm/dts/Makefile +@@ -392,6 +392,7 @@ dtb-$(CONFIG_MACH_SUN50I_H5) += \ + sun50i-h5-orangepi-zero-plus2.dtb + dtb-$(CONFIG_MACH_SUN50I_H6) += \ + sun50i-h6-orangepi-one-plus.dtb \ ++ sun50i-h6-orangepi-lite2.dtb \ + sun50i-h6-pine-h64.dtb + dtb-$(CONFIG_MACH_SUN50I) += \ + sun50i-a64-amarula-relic.dtb \ +diff --git a/arch/arm/dts/sun50i-h6-orangepi-lite2.dts b/arch/arm/dts/sun50i-h6-orangepi-lite2.dts +new file mode 100644 +index 0000000..a1fa1a7 +--- /dev/null ++++ b/arch/arm/dts/sun50i-h6-orangepi-lite2.dts +@@ -0,0 +1,150 @@ ++// SPDX-License-Identifier: (GPL-2.0+ or MIT) ++/* ++ * Copyright (C) 2018 Amarula Solutions ++ * Author: Jagan Teki ++ */ ++ ++/dts-v1/; ++ ++#include "sun50i-h6.dtsi" ++ ++#include ++ ++/ { ++ model = "OrangePi Lite 2"; ++ compatible = "xunlong,orangepi-lite2", "allwinner,sun50i-h6"; ++ ++ aliases { ++ serial0 = &uart0; ++ }; ++ ++ chosen { ++ stdout-path = "serial0:115200n8"; ++ }; ++}; ++ ++&mmc0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc0_pins>; ++ vmmc-supply = <®_cldo1>; ++ cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; ++ bus-width = <4>; ++ status = "okay"; ++}; ++ ++&r_i2c { ++ status = "okay"; ++ ++ axp805: pmic@36 { ++ compatible = "x-powers,axp805", "x-powers,axp806"; ++ reg = <0x36>; ++ interrupt-parent = <&r_intc>; ++ interrupts = <0 IRQ_TYPE_LEVEL_LOW>; ++ interrupt-controller; ++ #interrupt-cells = <1>; ++ x-powers,self-working-mode; ++ ++ regulators { ++ reg_aldo1: aldo1 { ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-pl"; ++ }; ++ ++ reg_aldo2: aldo2 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-ac200"; ++ }; ++ ++ reg_aldo3: aldo3 { ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc25-dram"; ++ }; ++ ++ reg_bldo1: bldo1 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-bias-pll"; ++ }; ++ ++ reg_bldo2: bldo2 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-efuse-pcie-hdmi-io"; ++ }; ++ ++ reg_bldo3: bldo3 { ++ regulator-always-on; ++ regulator-min-microvolt = <1800000>; ++ regulator-max-microvolt = <1800000>; ++ regulator-name = "vcc-dcxoio"; ++ }; ++ ++ bldo4 { ++ /* unused */ ++ }; ++ ++ reg_cldo1: cldo1 { ++ regulator-always-on; ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-3v3"; ++ }; ++ ++ reg_cldo2: cldo2 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-wifi-1"; ++ }; ++ ++ reg_cldo3: cldo3 { ++ regulator-min-microvolt = <3300000>; ++ regulator-max-microvolt = <3300000>; ++ regulator-name = "vcc-wifi-2"; ++ }; ++ ++ reg_dcdca: dcdca { ++ regulator-always-on; ++ regulator-min-microvolt = <810000>; ++ regulator-max-microvolt = <1080000>; ++ regulator-name = "vdd-cpu"; ++ }; ++ ++ reg_dcdcc: dcdcc { ++ regulator-min-microvolt = <810000>; ++ regulator-max-microvolt = <1080000>; ++ regulator-name = "vdd-gpu"; ++ }; ++ ++ reg_dcdcd: dcdcd { ++ regulator-always-on; ++ regulator-min-microvolt = <960000>; ++ regulator-max-microvolt = <960000>; ++ regulator-name = "vdd-sys"; ++ }; ++ ++ reg_dcdce: dcdce { ++ regulator-always-on; ++ regulator-min-microvolt = <1200000>; ++ regulator-max-microvolt = <1200000>; ++ regulator-name = "vcc-dram"; ++ }; ++ ++ sw { ++ /* unused */ ++ }; ++ }; ++ }; ++}; ++ ++&uart0 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart0_ph_pins>; ++ status = "okay"; ++}; +diff --git a/configs/orangepi_lite2_defconfig b/configs/orangepi_lite2_defconfig +index 13db9a7..030e865 100644 +--- /dev/null ++++ b/configs/orangepi_lite2_defconfig +@@ -0,0 +1,15 @@ ++CONFIG_ARM=y ++CONFIG_ARCH_SUNXI=y ++CONFIG_MACH_SUN50I_H6=y ++CONFIG_DRAM_ODT_EN=y ++CONFIG_MMC0_CD_PIN="PF6" ++CONFIG_HDMI_DDC_EN="PH2" ++# CONFIG_PSCI_RESET is not set ++CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-orangepi-lite2" ++# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set ++CONFIG_SPL=y ++# CONFIG_CMD_FLASH is not set ++# CONFIG_CMD_FPGA is not set ++# CONFIG_SPL_DOS_PARTITION is not set ++# CONFIG_SPL_ISO_PARTITION is not set ++# CONFIG_SPL_EFI_PARTITION is not set