From 0630d4dcd9f1f7e995d9f7bca7d6a952ba5ce92c Mon Sep 17 00:00:00 2001 From: zador-blood-stained Date: Thu, 9 Feb 2017 16:19:52 +0300 Subject: [PATCH] Switch sun8i-dev to kernel 4.10 Add extra USB ports and audio codec as DT overlays --- config/asound.state.sun8i-dev | 248 ++++++++++++++++++ config/kernel/linux-sun8i-dev.config | 159 ++++++++--- config/sources/sun8i.conf | 6 +- ....patch => add-BergMicro-SPI-flashes.patch} | 0 .../sun8i-dev/add-analog-codec-nodes.patch | 30 +++ ...=> add-configfs-overlay-for-v4.10.x.patch} | 28 -- patch/kernel/sun8i-dev/add-h3-overlays.patch | 140 ++++++++-- .../add-opi-zero-dts-with-wireless.patch | 20 +- ....patch => add-realtek-8189fs-driver.patch} | 0 ...-sun8i-ce-crypto-engine-dt.patch.disabled} | 0 ...i-ce-crypto-engine-kconfig.patch.disabled} | 0 ...add-sun8i-ce-crypto-engine.patch.disabled} | 0 ...> add-thermal-otg-wireless-opi-lite.patch} | 84 +++--- .../sun8i-dev/add-uart3-rts-cts-pins.patch | 13 + .../add-wifi-pwrseq-opi-pc-plus.patch | 38 +++ .../add_missing_SPI_for-H3_v4.9.x.patch | 90 ------- ...ssing_UARTs_I2Cs_SPI_for-H3.patch.disabled | 194 -------------- .../add_usb_ports_to_small_h3-boards.patch | 34 --- .../sun8i-dev/enable-codec-orange-pi-2.patch | 19 ++ ....patch => enable-codec-orange-pi-pc.patch} | 17 +- .../nanopi-neo-air-wireless-and-dvfs.patch | 200 ++++++-------- ...ing-4.x-DEV-with-postinstall-scripts.patch | 67 +++-- ...-rtl8189fs-sun8i-h3-orangepi-one-dts.patch | 49 ---- ...r-rtl8189fs-sun8i-h3-orangepi-pc-dts.patch | 50 ---- .../spi-sun6i-allow-large-transfers.patch | 88 ++----- .../xpackaging-4.x-DEV-cosmetics.patch | 22 -- 26 files changed, 801 insertions(+), 795 deletions(-) create mode 100644 config/asound.state.sun8i-dev rename patch/kernel/sun8i-dev/{add_BergMicro_flashes_to_SPI-NOR.patch => add-BergMicro-SPI-flashes.patch} (100%) create mode 100644 patch/kernel/sun8i-dev/add-analog-codec-nodes.patch rename patch/kernel/sun8i-dev/{add_configfs_overlay_for_v4.7.x.patch => add-configfs-overlay-for-v4.10.x.patch} (89%) rename patch/kernel/sun8i-dev/{add_8189fs_for_v4.6.x.patch => add-realtek-8189fs-driver.patch} (100%) rename patch/kernel/sun8i-dev/{add-sun8i-ce-crypto-engine-dt.patch => add-sun8i-ce-crypto-engine-dt.patch.disabled} (100%) rename patch/kernel/sun8i-dev/{integrate-sun8i-ce-crypto-engine-kconfig.patch => add-sun8i-ce-crypto-engine-kconfig.patch.disabled} (100%) rename patch/kernel/sun8i-dev/{add-sun8i-ce-crypto-engine.patch => add-sun8i-ce-crypto-engine.patch.disabled} (100%) rename patch/kernel/sun8i-dev/{add-thermal-otg-opi-lite.patch => add-thermal-otg-wireless-opi-lite.patch} (79%) create mode 100644 patch/kernel/sun8i-dev/add-uart3-rts-cts-pins.patch create mode 100644 patch/kernel/sun8i-dev/add-wifi-pwrseq-opi-pc-plus.patch delete mode 100644 patch/kernel/sun8i-dev/add_missing_SPI_for-H3_v4.9.x.patch delete mode 100644 patch/kernel/sun8i-dev/add_missing_UARTs_I2Cs_SPI_for-H3.patch.disabled delete mode 100644 patch/kernel/sun8i-dev/add_usb_ports_to_small_h3-boards.patch create mode 100644 patch/kernel/sun8i-dev/enable-codec-orange-pi-2.patch rename patch/kernel/sun8i-dev/{patch-for-eMMC-sun8i-h3-orangepi-pc-dts.patch => enable-codec-orange-pi-pc.patch} (57%) delete mode 100644 patch/kernel/sun8i-dev/patch-for-rtl8189fs-sun8i-h3-orangepi-one-dts.patch delete mode 100644 patch/kernel/sun8i-dev/patch-for-rtl8189fs-sun8i-h3-orangepi-pc-dts.patch delete mode 100644 patch/kernel/sun8i-dev/xpackaging-4.x-DEV-cosmetics.patch diff --git a/config/asound.state.sun8i-dev b/config/asound.state.sun8i-dev new file mode 100644 index 0000000000..64c9c0528b --- /dev/null +++ b/config/asound.state.sun8i-dev @@ -0,0 +1,248 @@ +state.Codec { + control.1 { + iface MIXER + name 'DAC Playback Volume' + value 63 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 63' + dbmin -7308 + dbmax 0 + dbvalue.0 0 + } + } + control.2 { + iface MIXER + name 'Line Out Playback Volume' + value 25 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 31' + dbmin -9999999 + dbmax 0 + dbvalue.0 -900 + } + } + control.3 { + iface MIXER + name 'Line Out Playback Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.4 { + iface MIXER + name 'Line In Playback Volume' + value 6 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -450 + dbmax 600 + dbvalue.0 450 + } + } + control.5 { + iface MIXER + name 'Mic1 Playback Volume' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -450 + dbmax 600 + dbvalue.0 0 + } + } + control.6 { + iface MIXER + name 'Mic2 Playback Volume' + value 4 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -450 + dbmax 600 + dbvalue.0 150 + } + } + control.7 { + iface MIXER + name 'Mic1 Boost Volume' + value 4 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin 0 + dbmax 4200 + dbvalue.0 3300 + } + } + control.8 { + iface MIXER + name 'Mic2 Boost Volume' + value 4 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin 0 + dbmax 4200 + dbvalue.0 3300 + } + } + control.9 { + iface MIXER + name 'ADC Gain Capture Volume' + value 3 + comment { + access 'read write' + type INTEGER + count 1 + range '0 - 7' + dbmin -450 + dbmax 600 + dbvalue.0 0 + } + } + control.10 { + iface MIXER + name 'DAC Playback Switch' + value.0 true + value.1 true + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.11 { + iface MIXER + name 'DAC Reversed Playback Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.12 { + iface MIXER + name 'Line In Playback Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.13 { + iface MIXER + name 'Mic1 Playback Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.14 { + iface MIXER + name 'Mic2 Playback Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.15 { + iface MIXER + name 'Mixer Capture Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.16 { + iface MIXER + name 'Mixer Reversed Capture Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.17 { + iface MIXER + name 'Line In Capture Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.18 { + iface MIXER + name 'Mic1 Capture Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.19 { + iface MIXER + name 'Mic2 Capture Switch' + value.0 false + value.1 false + comment { + access 'read write' + type BOOLEAN + count 2 + } + } + control.20 { + iface MIXER + name 'Line Out Source Playback Route' + value.0 Stereo + value.1 Stereo + comment { + access 'read write' + type ENUMERATED + count 2 + item.0 Stereo + item.1 'Mono Differential' + } + } +} diff --git a/config/kernel/linux-sun8i-dev.config b/config/kernel/linux-sun8i-dev.config index 66bb87489b..40f48c8cb9 100644 --- a/config/kernel/linux-sun8i-dev.config +++ b/config/kernel/linux-sun8i-dev.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/arm 4.9.4 Kernel Configuration +# Linux/arm 4.10.0 Kernel Configuration # CONFIG_ARM=y CONFIG_ARM_HAS_SG_CHAIN=y @@ -137,6 +137,7 @@ CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y # CONFIG_CGROUP_DEBUG is not set +CONFIG_SOCK_CGROUP_DATA=y # CONFIG_CHECKPOINT_RESTORE is not set CONFIG_NAMESPACES=y CONFIG_UTS_NS=y @@ -155,6 +156,7 @@ CONFIG_RD_LZMA=y CONFIG_RD_XZ=y CONFIG_RD_LZO=y CONFIG_RD_LZ4=y +CONFIG_INITRAMFS_COMPRESSION=".gz" CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y @@ -167,6 +169,7 @@ CONFIG_MULTIUSER=y # CONFIG_SGETMASK_SYSCALL is not set CONFIG_SYSFS_SYSCALL=y # CONFIG_SYSCTL_SYSCALL is not set +CONFIG_POSIX_TIMERS=y CONFIG_KALLSYMS=y CONFIG_KALLSYMS_ALL=y # CONFIG_KALLSYMS_ABSOLUTE_PERCPU is not set @@ -280,8 +283,10 @@ CONFIG_LBDAF=y CONFIG_BLK_DEV_BSG=y CONFIG_BLK_DEV_BSGLIB=y # CONFIG_BLK_DEV_INTEGRITY is not set +# CONFIG_BLK_DEV_ZONED is not set CONFIG_BLK_DEV_THROTTLING=y # CONFIG_BLK_CMDLINE_PARSER is not set +# CONFIG_BLK_WBT is not set # # Partition Types @@ -727,6 +732,7 @@ CONFIG_INET_XFRM_MODE_BEET=m CONFIG_INET_DIAG=m CONFIG_INET_TCP_DIAG=m CONFIG_INET_UDP_DIAG=m +CONFIG_INET_RAW_DIAG=m # CONFIG_INET_DIAG_DESTROY is not set CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BIC=m @@ -778,6 +784,9 @@ CONFIG_IPV6_SUBTREES=y CONFIG_IPV6_MROUTE=y CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y CONFIG_IPV6_PIMSM_V2=y +CONFIG_IPV6_SEG6_LWTUNNEL=y +CONFIG_IPV6_SEG6_INLINE=y +CONFIG_IPV6_SEG6_HMAC=y CONFIG_NETWORK_SECMARK=y CONFIG_NET_PTP_CLASSIFY=y CONFIG_NETWORK_PHY_TIMESTAMPING=y @@ -796,6 +805,7 @@ CONFIG_NETFILTER_NETLINK_QUEUE=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NF_CONNTRACK=m CONFIG_NF_LOG_COMMON=m +CONFIG_NF_LOG_NETDEV=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_ZONES=y @@ -804,10 +814,10 @@ CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CONNTRACK_TIMEOUT=y CONFIG_NF_CONNTRACK_TIMESTAMP=y CONFIG_NF_CONNTRACK_LABELS=y -CONFIG_NF_CT_PROTO_DCCP=m +CONFIG_NF_CT_PROTO_DCCP=y CONFIG_NF_CT_PROTO_GRE=m -CONFIG_NF_CT_PROTO_SCTP=m -CONFIG_NF_CT_PROTO_UDPLITE=m +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m @@ -824,9 +834,9 @@ CONFIG_NF_CT_NETLINK_TIMEOUT=m # CONFIG_NETFILTER_NETLINK_GLUE_CT is not set CONFIG_NF_NAT=m CONFIG_NF_NAT_NEEDED=y -CONFIG_NF_NAT_PROTO_DCCP=m -CONFIG_NF_NAT_PROTO_UDPLITE=m -CONFIG_NF_NAT_PROTO_SCTP=m +CONFIG_NF_NAT_PROTO_DCCP=y +CONFIG_NF_NAT_PROTO_UDPLITE=y +CONFIG_NF_NAT_PROTO_SCTP=y CONFIG_NF_NAT_AMANDA=m CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m @@ -839,6 +849,7 @@ CONFIG_NF_TABLES_INET=m CONFIG_NF_TABLES_NETDEV=m CONFIG_NFT_EXTHDR=m CONFIG_NFT_META=m +CONFIG_NFT_RT=m # CONFIG_NFT_NUMGEN is not set CONFIG_NFT_CT=m # CONFIG_NFT_SET_RBTREE is not set @@ -849,12 +860,15 @@ CONFIG_NFT_LIMIT=m CONFIG_NFT_MASQ=m CONFIG_NFT_REDIR=m CONFIG_NFT_NAT=m +CONFIG_NFT_OBJREF=m CONFIG_NFT_QUEUE=m # CONFIG_NFT_QUOTA is not set CONFIG_NFT_REJECT=m CONFIG_NFT_REJECT_INET=m CONFIG_NFT_COMPAT=m CONFIG_NFT_HASH=m +CONFIG_NFT_FIB=m +CONFIG_NFT_FIB_INET=m # CONFIG_NF_DUP_NETDEV is not set # CONFIG_NFT_DUP_NETDEV is not set # CONFIG_NFT_FWD_NETDEV is not set @@ -955,6 +969,7 @@ CONFIG_IP_SET_HASH_IPMARK=m CONFIG_IP_SET_HASH_IPPORT=m CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_IPMAC=m CONFIG_IP_SET_HASH_MAC=m CONFIG_IP_SET_HASH_NETPORTNET=m CONFIG_IP_SET_HASH_NET=m @@ -1010,10 +1025,12 @@ CONFIG_IP_VS_PE_SIP=m # CONFIG_NF_DEFRAG_IPV4=m CONFIG_NF_CONNTRACK_IPV4=m +CONFIG_NF_SOCKET_IPV4=m CONFIG_NF_TABLES_IPV4=m CONFIG_NFT_CHAIN_ROUTE_IPV4=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_DUP_IPV4=m +CONFIG_NFT_FIB_IPV4=m CONFIG_NF_TABLES_ARP=m CONFIG_NF_DUP_IPV4=m CONFIG_NF_LOG_ARP=m @@ -1054,10 +1071,12 @@ CONFIG_IP_NF_ARP_MANGLE=m # CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m +CONFIG_NF_SOCKET_IPV6=m CONFIG_NF_TABLES_IPV6=m CONFIG_NFT_CHAIN_ROUTE_IPV6=m CONFIG_NFT_REJECT_IPV6=m CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_FIB_IPV6=m CONFIG_NF_DUP_IPV6=m CONFIG_NF_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m @@ -1293,7 +1312,6 @@ CONFIG_NET_L3_MASTER_DEV=y CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_XPS=y -CONFIG_SOCK_CGROUP_DATA=y CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y CONFIG_NET_RX_BUSY_POLL=y @@ -1504,6 +1522,7 @@ CONFIG_CEPH_LIB=m # CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set # CONFIG_NFC is not set CONFIG_LWTUNNEL=y +CONFIG_LWTUNNEL_BPF=y CONFIG_DST_CACHE=y # CONFIG_NET_DEVLINK is not set CONFIG_MAY_USE_DEVLINK=y @@ -1533,6 +1552,7 @@ CONFIG_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set # CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set # CONFIG_SYS_HYPERVISOR is not set # CONFIG_GENERIC_CPU_DEVICES is not set CONFIG_REGMAP=y @@ -1541,7 +1561,7 @@ CONFIG_REGMAP_SPI=y CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y -# CONFIG_FENCE_TRACE is not set +# CONFIG_DMA_FENCE_TRACE is not set CONFIG_DMA_CMA=y # @@ -1689,6 +1709,7 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 # CONFIG_ATA_OVER_ETH is not set # CONFIG_MG_DISK is not set CONFIG_BLK_DEV_RBD=m +# CONFIG_NVME_FC is not set # CONFIG_NVME_TARGET is not set # @@ -1868,7 +1889,7 @@ CONFIG_BLK_DEV_DM=m # CONFIG_DM_MQ_DEFAULT is not set # CONFIG_DM_DEBUG is not set CONFIG_DM_BUFIO=m -# CONFIG_DM_DEBUG_BLOCK_STACK_TRACING is not set +# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set CONFIG_DM_BIO_PRISON=m CONFIG_DM_PERSISTENT_DATA=m CONFIG_DM_CRYPT=m @@ -1932,6 +1953,7 @@ CONFIG_ATM_DRIVERS=y # CONFIG_NET_DSA_MV88E6XXX is not set # CONFIG_NET_DSA_QCA8K is not set CONFIG_ETHERNET=y +# CONFIG_NET_VENDOR_ALACRITECH is not set CONFIG_NET_VENDOR_ALLWINNER=y CONFIG_SUN4I_EMAC=y CONFIG_SUN8I_EMAC=y @@ -1972,6 +1994,7 @@ 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_SMSC is not set CONFIG_NET_VENDOR_STMICRO=y CONFIG_STMMAC_ETH=y @@ -1984,6 +2007,7 @@ CONFIG_SYNOPSYS_DWC_ETH_QOS=m # CONFIG_NET_VENDOR_WIZNET is not set CONFIG_PHYLIB=y CONFIG_SWPHY=y +CONFIG_LED_TRIGGER_PHY=y # # MDIO bus device drivers @@ -2089,6 +2113,7 @@ CONFIG_USB_SIERRA_NET=m CONFIG_USB_VL600=m CONFIG_USB_NET_CH9200=m CONFIG_WLAN=y +# CONFIG_WIRELESS_WDS is not set CONFIG_WLAN_VENDOR_ADMTEK=y CONFIG_ATH_COMMON=m CONFIG_WLAN_VENDOR_ATH=y @@ -2459,7 +2484,6 @@ CONFIG_SERIAL_SC16IS7XX=m # CONFIG_SERIAL_FSL_LPUART is not set CONFIG_SERIAL_CONEXANT_DIGICOLOR=m # CONFIG_SERIAL_ST_ASC is not set -CONFIG_SERIAL_STM32=m # CONFIG_TTY_PRINTK is not set # CONFIG_PRINTER is not set # CONFIG_PPDEV is not set @@ -2491,6 +2515,7 @@ CONFIG_I2C_MUX_PCA954x=m CONFIG_I2C_MUX_PINCTRL=m CONFIG_I2C_MUX_REG=m # CONFIG_I2C_DEMUX_PINCTRL is not set +# CONFIG_I2C_MUX_MLXCPLD is not set CONFIG_I2C_HELPER_AUTO=y CONFIG_I2C_ALGOBIT=m @@ -2602,6 +2627,7 @@ CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set # CONFIG_PINCTRL_AMD is not set # CONFIG_PINCTRL_SINGLE is not set +# CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_SUNXI=y # CONFIG_PINCTRL_SUN4I_A10 is not set # CONFIG_PINCTRL_SUN5I_A10S is not set @@ -2632,7 +2658,6 @@ CONFIG_GPIO_SYSFS=y # CONFIG_GPIO_74XX_MMIO is not set CONFIG_GPIO_ALTERA=m # CONFIG_GPIO_DWAPB is not set -# CONFIG_GPIO_EM is not set # CONFIG_GPIO_GENERIC_PLATFORM is not set # CONFIG_GPIO_GRGPIO is not set # CONFIG_GPIO_MOCKUP is not set @@ -2640,7 +2665,6 @@ CONFIG_GPIO_ALTERA=m CONFIG_GPIO_SYSCON=m # CONFIG_GPIO_XILINX is not set # CONFIG_GPIO_ZEVIO is not set -# CONFIG_GPIO_ZX is not set # # I2C GPIO expanders @@ -2653,7 +2677,6 @@ CONFIG_GPIO_SYSCON=m CONFIG_GPIO_PCF857X=m # CONFIG_GPIO_SX150X is not set # CONFIG_GPIO_TPIC2810 is not set -# CONFIG_GPIO_TS4900 is not set # # MFD GPIO expanders @@ -2806,6 +2829,7 @@ CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_MAX31790=m CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_TC654=m CONFIG_SENSORS_ADCXX=m CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM70=m @@ -2860,6 +2884,7 @@ CONFIG_SENSORS_TC74=m CONFIG_SENSORS_THMC50=m CONFIG_SENSORS_TMP102=m CONFIG_SENSORS_TMP103=m +CONFIG_SENSORS_TMP108=m CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m CONFIG_SENSORS_VT1211=m @@ -2954,6 +2979,7 @@ CONFIG_BCMA_BLOCKIO=y # CONFIG_MFD_CORE=y # CONFIG_MFD_ACT8945A is not set +CONFIG_MFD_SUN4I_GPADC=y # CONFIG_MFD_AS3711 is not set # CONFIG_MFD_AS3722 is not set # CONFIG_PMIC_ADP5520 is not set @@ -2974,7 +3000,6 @@ CONFIG_MFD_DA9062=m # CONFIG_MFD_DA9063 is not set CONFIG_MFD_DA9150=m # CONFIG_MFD_DLN2 is not set -# CONFIG_MFD_EXYNOS_LPASS is not set # CONFIG_MFD_MC13XXX_SPI is not set # CONFIG_MFD_MC13XXX_I2C is not set # CONFIG_MFD_HI6421_PMIC is not set @@ -3001,7 +3026,7 @@ CONFIG_MFD_MT6397=m # CONFIG_MFD_RETU is not set # CONFIG_MFD_PCF50633 is not set CONFIG_UCB1400_CORE=m -# CONFIG_MFD_PM8921_CORE is not set +# CONFIG_MFD_PM8XXX is not set CONFIG_MFD_RT5033=m # CONFIG_MFD_RTSX_USB is not set # CONFIG_MFD_RC5T583 is not set @@ -3102,6 +3127,7 @@ CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y CONFIG_MEDIA_RADIO_SUPPORT=y CONFIG_MEDIA_SDR_SUPPORT=y CONFIG_MEDIA_RC_SUPPORT=y +# CONFIG_MEDIA_CEC_SUPPORT is not set CONFIG_MEDIA_CEC_EDID=y CONFIG_MEDIA_CONTROLLER=y # CONFIG_MEDIA_CONTROLLER_DVB is not set @@ -3124,6 +3150,7 @@ 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 # # Media drivers @@ -3155,6 +3182,8 @@ CONFIG_RC_DEVICES=y # CONFIG_RC_LOOPBACK is not set # CONFIG_IR_GPIO_CIR is not set CONFIG_IR_SUNXI=m +CONFIG_IR_SERIAL=m +CONFIG_IR_SERIAL_TRANSMITTER=y CONFIG_MEDIA_USB_SUPPORT=y # @@ -3791,21 +3820,24 @@ CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y # CONFIG_LOGO is not set -CONFIG_SOUND=m +CONFIG_SOUND=y # CONFIG_SOUND_OSS_CORE is not set -CONFIG_SND=m -CONFIG_SND_TIMER=m +CONFIG_SND=y +CONFIG_SND_TIMER=y CONFIG_SND_PCM=m CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_HWDEP=m CONFIG_SND_RAWMIDI=m CONFIG_SND_JACK=y CONFIG_SND_JACK_INPUT_DEV=y -# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_SEQUENCER=m +# CONFIG_SND_SEQ_DUMMY is not set # CONFIG_SND_MIXER_OSS is not set # CONFIG_SND_PCM_OSS is not set CONFIG_SND_PCM_TIMER=y -# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_SEQUENCER_OSS is not set +CONFIG_SND_HRTIMER=y +# CONFIG_SND_SEQ_HRTIMER_DEFAULT is not set # CONFIG_SND_DYNAMIC_MINORS is not set CONFIG_SND_SUPPORT_OLD_API=y CONFIG_SND_PROC_FS=y @@ -3813,15 +3845,16 @@ CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VERBOSE_PRINTK is not set # CONFIG_SND_DEBUG is not set CONFIG_SND_VMASTER=y -# CONFIG_SND_RAWMIDI_SEQ is not set +CONFIG_SND_RAWMIDI_SEQ=m # CONFIG_SND_OPL3_LIB_SEQ is not set # CONFIG_SND_OPL4_LIB_SEQ is not set # CONFIG_SND_SBAWE_SEQ is not set # CONFIG_SND_EMU10K1_SEQ is not set CONFIG_SND_AC97_CODEC=m CONFIG_SND_DRIVERS=y -# CONFIG_SND_DUMMY is not set -# CONFIG_SND_ALOOP is not set +CONFIG_SND_DUMMY=m +CONFIG_SND_ALOOP=m +CONFIG_SND_VIRMIDI=m # CONFIG_SND_MTPAV is not set # CONFIG_SND_MTS64 is not set # CONFIG_SND_SERIAL_U16550 is not set @@ -3873,8 +3906,9 @@ CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y # Allwinner SoC Audio support # CONFIG_SND_SUN4I_CODEC=m +CONFIG_SND_SUN8I_CODEC_ANALOG=m CONFIG_SND_SUN4I_I2S=m -# CONFIG_SND_SUN4I_SPDIF is not set +CONFIG_SND_SUN4I_SPDIF=m # CONFIG_SND_SOC_XTFPGA_I2S is not set CONFIG_SND_SOC_I2C_AND_SPI=m @@ -3890,9 +3924,11 @@ CONFIG_SND_SOC_I2C_AND_SPI=m # CONFIG_SND_SOC_AK4642 is not set # CONFIG_SND_SOC_AK5386 is not set # CONFIG_SND_SOC_ALC5623 is not set -# CONFIG_SND_SOC_BT_SCO is not set +CONFIG_SND_SOC_BT_SCO=m # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set +# CONFIG_SND_SOC_CS35L34 is not set +# CONFIG_SND_SOC_CS42L42 is not set # CONFIG_SND_SOC_CS42L51_I2C is not set # CONFIG_SND_SOC_CS42L52 is not set # CONFIG_SND_SOC_CS42L56 is not set @@ -3909,6 +3945,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=m # CONFIG_SND_SOC_INNO_RK3036 is not set # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX9860 is not set +# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X_SPI is not set @@ -3921,7 +3958,7 @@ CONFIG_SND_SOC_I2C_AND_SPI=m # CONFIG_SND_SOC_RT5677_SPI is not set # CONFIG_SND_SOC_SGTL5000 is not set # CONFIG_SND_SOC_SIRF_AUDIO_CODEC is not set -# CONFIG_SND_SOC_SPDIF is not set +CONFIG_SND_SOC_SPDIF=m # CONFIG_SND_SOC_SSM2602_SPI is not set # CONFIG_SND_SOC_SSM2602_I2C is not set # CONFIG_SND_SOC_SSM4567 is not set @@ -3960,8 +3997,9 @@ CONFIG_SND_SOC_I2C_AND_SPI=m # CONFIG_SND_SOC_WM8985 is not set # CONFIG_SND_SOC_NAU8810 is not set # CONFIG_SND_SOC_TPA6130A2 is not set -# CONFIG_SND_SIMPLE_CARD is not set -# CONFIG_SND_SIMPLE_SCU_CARD is not set +CONFIG_SND_SIMPLE_CARD_UTILS=m +CONFIG_SND_SIMPLE_CARD=m +CONFIG_SND_SIMPLE_SCU_CARD=m # CONFIG_SOUND_PRIME is not set CONFIG_AC97_BUS=m @@ -4023,6 +4061,7 @@ CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_LOGIG940_FF=y CONFIG_LOGIWHEELS_FF=y CONFIG_HID_MAGICMOUSE=m +# CONFIG_HID_MAYFLASH is not set CONFIG_HID_MICROSOFT=m CONFIG_HID_MONTEREY=m CONFIG_HID_MULTITOUCH=m @@ -4058,6 +4097,7 @@ CONFIG_HID_TOPSEED=m CONFIG_HID_THINGM=m CONFIG_HID_THRUSTMASTER=m CONFIG_THRUSTMASTER_FF=y +# CONFIG_HID_UDRAW_PS3 is not set CONFIG_HID_WACOM=m CONFIG_HID_WIIMOTE=m CONFIG_HID_XINMO=m @@ -4214,6 +4254,7 @@ 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=m CONFIG_USB_SERIAL_GARMIN=m CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_IUU=m @@ -4387,10 +4428,6 @@ CONFIG_MMC=y # CONFIG_MMC_DEBUG is not set CONFIG_PWRSEQ_EMMC=y CONFIG_PWRSEQ_SIMPLE=y - -# -# MMC/SD/SDIO Card Drivers -# CONFIG_MMC_BLOCK=y CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_BLOCK_BOUNCE=y @@ -4448,6 +4485,7 @@ CONFIG_LEDS_REGULATOR=m # # CONFIG_LEDS_BLINKM is not set CONFIG_LEDS_SYSCON=y +CONFIG_LEDS_USER=y # # LED Triggers @@ -4580,6 +4618,7 @@ CONFIG_RTC_DRV_ZYNQMP=m CONFIG_RTC_DRV_SUN6I=y # CONFIG_RTC_DRV_SNVS is not set # CONFIG_RTC_DRV_MT6397 is not set +# CONFIG_RTC_DRV_R7301 is not set # # HID Sensor RTC drivers @@ -4689,9 +4728,7 @@ CONFIG_88EU_AP_MODE=y # # Light sensors # -# CONFIG_SENSORS_ISL29018 is not set # CONFIG_SENSORS_ISL29028 is not set -# CONFIG_TSL2583 is not set # CONFIG_TSL2x7x is not set # @@ -4720,7 +4757,6 @@ CONFIG_88EU_AP_MODE=y # CONFIG_SPEAKUP is not set CONFIG_STAGING_MEDIA=y CONFIG_I2C_BCM2048=m -# CONFIG_MEDIA_CEC is not set # CONFIG_LIRC_STAGING is not set # @@ -4778,9 +4814,6 @@ CONFIG_HDM_I2C=m CONFIG_HDM_USB=m # CONFIG_KS7010 is not set # CONFIG_GREYBUS is not set -CONFIG_CRYPTO_DEV_SUN8I_SS=m -CONFIG_CRYPTO_DEV_SUN8I_SS_PRNG=y -CONFIG_CRYPTO_DEV_SUN8I_SS_RSA=y # CONFIG_GOLDFISH is not set # CONFIG_CHROME_PLATFORMS is not set CONFIG_CLKDEV_LOOKUP=y @@ -4801,6 +4834,13 @@ CONFIG_CLK_QORIQ=y CONFIG_COMMON_CLK_PWM=m # CONFIG_COMMON_CLK_PXA is not set # CONFIG_COMMON_CLK_PIC32 is not set +# CONFIG_COMMON_CLK_MT2701 is not set +# CONFIG_COMMON_CLK_MT2701_MMSYS is not set +# CONFIG_COMMON_CLK_MT2701_IMGSYS is not set +# CONFIG_COMMON_CLK_MT2701_VDECSYS is not set +# CONFIG_COMMON_CLK_MT2701_HIFSYS is not set +# CONFIG_COMMON_CLK_MT2701_ETHSYS is not set +# CONFIG_COMMON_CLK_MT2701_BDPSYS is not set CONFIG_SUNXI_CCU=y CONFIG_SUNXI_CCU_DIV=y CONFIG_SUNXI_CCU_FRAC=y @@ -4813,6 +4853,7 @@ CONFIG_SUNXI_CCU_NKM=y CONFIG_SUNXI_CCU_NKMP=y CONFIG_SUNXI_CCU_NM=y CONFIG_SUNXI_CCU_MP=y +# CONFIG_SUN50I_A64_CCU is not set CONFIG_SUN6I_A31_CCU=y CONFIG_SUN8I_A23_CCU=y CONFIG_SUN8I_A33_CCU=y @@ -4855,7 +4896,7 @@ CONFIG_ARM_SMMU=y # # Remoteproc drivers # -# CONFIG_STE_MODEM_RPROC is not set +# CONFIG_REMOTEPROC is not set # # Rpmsg drivers @@ -4912,8 +4953,11 @@ CONFIG_IIO=m # CONFIG_BMA180 is not set # CONFIG_BMA220 is not set # CONFIG_BMC150_ACCEL is not set +# CONFIG_DA280 is not set +# CONFIG_DA311 is not set # CONFIG_DMARD06 is not set # CONFIG_DMARD09 is not set +# CONFIG_DMARD10 is not set # CONFIG_HID_SENSOR_ACCEL_3D is not set # CONFIG_IIO_ST_ACCEL_3AXIS is not set # CONFIG_KXSD9 is not set @@ -4927,6 +4971,7 @@ CONFIG_IIO=m # CONFIG_MMA9553 is not set # CONFIG_MXC4005 is not set # CONFIG_MXC6255 is not set +# CONFIG_SCA3000 is not set # CONFIG_STK8312 is not set # CONFIG_STK8BA50 is not set @@ -4937,6 +4982,7 @@ CONFIG_IIO=m # CONFIG_AD7291 is not set # CONFIG_AD7298 is not set # CONFIG_AD7476 is not set +# CONFIG_AD7766 is not set # CONFIG_AD7791 is not set # CONFIG_AD7793 is not set # CONFIG_AD7887 is not set @@ -4944,6 +4990,7 @@ CONFIG_IIO=m # CONFIG_AD799X is not set # CONFIG_CC10001_ADC is not set # CONFIG_DA9150_GPADC is not set +# CONFIG_ENVELOPE_DETECTOR is not set # CONFIG_HI8435 is not set # CONFIG_INA2XX_ADC is not set # CONFIG_LTC2485 is not set @@ -4983,6 +5030,10 @@ CONFIG_IIO=m # # CONFIG_IIO_SSP_SENSORHUB is not set +# +# Counters +# + # # Digital to analog converters # @@ -5003,6 +5054,7 @@ CONFIG_IIO=m # CONFIG_AD5791 is not set # CONFIG_AD7303 is not set # CONFIG_AD8801 is not set +# CONFIG_DPOT_DAC is not set # CONFIG_M62332 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5821 is not set @@ -5038,6 +5090,7 @@ CONFIG_IIO=m # CONFIG_ADXRS450 is not set # CONFIG_BMG160 is not set # CONFIG_HID_SENSOR_GYRO_3D is not set +# CONFIG_MPU3050_I2C is not set # CONFIG_IIO_ST_GYRO_3AXIS is not set # CONFIG_ITG3200 is not set @@ -5058,6 +5111,7 @@ CONFIG_IIO=m # CONFIG_AM2315 is not set # CONFIG_DHT11 is not set # CONFIG_HDC100X is not set +# CONFIG_HTS221 is not set # CONFIG_HTU21 is not set # CONFIG_SI7005 is not set # CONFIG_SI7020 is not set @@ -5087,6 +5141,7 @@ CONFIG_IIO=m # CONFIG_CM3323 is not set # CONFIG_CM36651 is not set # CONFIG_GP2AP020A00F is not set +# CONFIG_SENSORS_ISL29018 is not set # CONFIG_ISL29125 is not set # CONFIG_HID_SENSOR_ALS is not set # CONFIG_HID_SENSOR_PROX is not set @@ -5101,6 +5156,7 @@ CONFIG_IIO=m # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set # CONFIG_SENSORS_TSL2563 is not set +# CONFIG_TSL2583 is not set # CONFIG_TSL4531 is not set # CONFIG_US5182D is not set # CONFIG_VCNL4000 is not set @@ -5136,9 +5192,15 @@ CONFIG_IIO=m # CONFIG_MCP4531 is not set # CONFIG_TPL0102 is not set +# +# Digital potentiostats +# +# CONFIG_LMP91000 is not set + # # Pressure sensors # +# CONFIG_ABP060MG is not set # CONFIG_BMP280 is not set # CONFIG_HID_SENSOR_PRESS is not set # CONFIG_HP03 is not set @@ -5192,6 +5254,7 @@ CONFIG_RESET_CONTROLLER=y CONFIG_RESET_SUNXI=y # CONFIG_TI_SYSCON_RESET is not set # CONFIG_RESET_ZYNQ is not set +# CONFIG_RESET_TEGRA_BPMP is not set # CONFIG_FMC is not set # @@ -5234,10 +5297,15 @@ CONFIG_STM_SOURCE_CONSOLE=m # Firmware Drivers # CONFIG_ARM_PSCI_FW=y +# CONFIG_ARM_PSCI_CHECKER is not set # CONFIG_FIRMWARE_MEMMAP is not set # CONFIG_FW_CFG_SYSFS is not set CONFIG_HAVE_ARM_SMCCC=y +# +# Tegra firmware driver +# + # # File systems # @@ -5304,6 +5372,7 @@ CONFIG_AUTOFS4_FS=y CONFIG_FUSE_FS=m CONFIG_CUSE=m CONFIG_OVERLAY_FS=m +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set # # Caches @@ -5363,7 +5432,6 @@ CONFIG_HFSPLUS_FS_POSIX_ACL=y # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set # CONFIG_JFFS2_FS is not set -# CONFIG_LOGFS is not set # CONFIG_CRAMFS is not set CONFIG_SQUASHFS=m CONFIG_SQUASHFS_FILE_CACHE=y @@ -5505,6 +5573,7 @@ CONFIG_NLS_UTF8=y # printk and dmesg options # CONFIG_PRINTK_TIME=y +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_DYNAMIC_DEBUG is not set @@ -5636,6 +5705,7 @@ CONFIG_TEST_HEXDUMP=m # CONFIG_TEST_UDELAY is not set # CONFIG_MEMTEST is not set # CONFIG_TEST_STATIC_KEYS is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set # CONFIG_SAMPLES is not set CONFIG_HAVE_ARCH_KGDB=y # CONFIG_KGDB is not set @@ -5708,6 +5778,7 @@ CONFIG_CRYPTO_AKCIPHER2=y CONFIG_CRYPTO_AKCIPHER=m CONFIG_CRYPTO_KPP2=y CONFIG_CRYPTO_KPP=m +CONFIG_CRYPTO_ACOMP2=y CONFIG_CRYPTO_RSA=m CONFIG_CRYPTO_DH=m CONFIG_CRYPTO_ECDH=m @@ -5724,8 +5795,7 @@ CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_MCRYPTD=m CONFIG_CRYPTO_AUTHENC=y # CONFIG_CRYPTO_TEST is not set -CONFIG_CRYPTO_ABLK_HELPER=m -CONFIG_CRYPTO_ENGINE=m +CONFIG_CRYPTO_SIMD=m # # Authenticated Encryption with Associated Data @@ -5827,6 +5897,7 @@ CONFIG_CRYPTO_USER_API_RNG=m CONFIG_CRYPTO_USER_API_AEAD=m CONFIG_CRYPTO_HASH_INFO=y CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_FSL_CAAM_CRYPTO_API_DESC is not set CONFIG_CRYPTO_DEV_SUN4I_SS=m CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m @@ -5851,6 +5922,8 @@ CONFIG_CRYPTO_AES_ARM=m CONFIG_CRYPTO_AES_ARM_BS=m CONFIG_CRYPTO_AES_ARM_CE=m CONFIG_CRYPTO_GHASH_ARM_CE=m +CONFIG_CRYPTO_CRCT10DIF_ARM_CE=m +CONFIG_CRYPTO_CRC32_ARM_CE=y # CONFIG_BINARY_PRINTF is not set # diff --git a/config/sources/sun8i.conf b/config/sources/sun8i.conf index 98b452f5df..9f1f81dbb6 100644 --- a/config/sources/sun8i.conf +++ b/config/sources/sun8i.conf @@ -12,7 +12,7 @@ case $BRANCH in dev) KERNELSOURCE='https://github.com/megous/linux/' - KERNELBRANCH='branch:orange-pi-4.9' + KERNELBRANCH='branch:orange-pi-4.10' KERNELDIR='linux-sun8i-mainline' ;; esac @@ -27,9 +27,11 @@ family_tweaks() sed -e 's/MODULES=""/MODULES="sunxi_cir"/g' -i $CACHEDIR/$SDCARD/etc/lirc/hardware.conf sed -e 's/DRIVER="UNCONFIGURED"/DRIVER="default"/g' -i $CACHEDIR/$SDCARD/etc/lirc/hardware.conf cp $SRC/lib/config/lirc.conf.cubietruck $CACHEDIR/$SDCARD/etc/lirc/lircd.conf + mkdir -p $CACHEDIR/$SDCARD/var/lib/alsa/ if [[ $BRANCH == default ]]; then - mkdir -p $CACHEDIR/$SDCARD/var/lib/alsa/ cp $SRC/lib/config/asound.state.sun8i-default $CACHEDIR/$SDCARD/var/lib/alsa/asound.state + else + cp $SRC/lib/config/asound.state.sun8i-dev $CACHEDIR/$SDCARD/var/lib/alsa/asound.state fi # enable serial gadget on OTG port since the board doesn't have Ethernet if [[ $BOARD == orangepilite || $BOARD == nanopiair || $BOARD == orangepizero ]]; then diff --git a/patch/kernel/sun8i-dev/add_BergMicro_flashes_to_SPI-NOR.patch b/patch/kernel/sun8i-dev/add-BergMicro-SPI-flashes.patch similarity index 100% rename from patch/kernel/sun8i-dev/add_BergMicro_flashes_to_SPI-NOR.patch rename to patch/kernel/sun8i-dev/add-BergMicro-SPI-flashes.patch diff --git a/patch/kernel/sun8i-dev/add-analog-codec-nodes.patch b/patch/kernel/sun8i-dev/add-analog-codec-nodes.patch new file mode 100644 index 0000000000..c38f0edd8c --- /dev/null +++ b/patch/kernel/sun8i-dev/add-analog-codec-nodes.patch @@ -0,0 +1,30 @@ +diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi +index e8195329..3aa77b5e 100644 +--- a/arch/arm/boot/dts/sun8i-h3.dtsi ++++ b/arch/arm/boot/dts/sun8i-h3.dtsi +@@ -585,6 +585,25 @@ + status = "disabled"; + }; + ++ codec: codec@01c22c00 { ++ #sound-dai-cells = <0>; ++ compatible = "allwinner,sun8i-h3-codec"; ++ reg = <0x01c22c00 0x400>; ++ interrupts = ; ++ clocks = <&ccu CLK_BUS_CODEC>, <&ccu CLK_AC_DIG>; ++ clock-names = "apb", "codec"; ++ resets = <&ccu RST_BUS_CODEC>; ++ dmas = <&dma 15>, <&dma 15>; ++ dma-names = "rx", "tx"; ++ allwinner,codec-analog-controls = <&codec_analog>; ++ status = "disabled"; ++ }; ++ ++ codec_analog: codec-analog@01f015c0 { ++ compatible = "allwinner,sun8i-h3-codec-analog"; ++ reg = <0x01f015c0 0x4>; ++ }; ++ + ths: ths@01c25000 { + #thermal-sensor-cells = <0>; + compatible = "allwinner,sun8i-h3-ths"; diff --git a/patch/kernel/sun8i-dev/add_configfs_overlay_for_v4.7.x.patch b/patch/kernel/sun8i-dev/add-configfs-overlay-for-v4.10.x.patch similarity index 89% rename from patch/kernel/sun8i-dev/add_configfs_overlay_for_v4.7.x.patch rename to patch/kernel/sun8i-dev/add-configfs-overlay-for-v4.10.x.patch index 226786fa78..006766a229 100644 --- a/patch/kernel/sun8i-dev/add_configfs_overlay_for_v4.7.x.patch +++ b/patch/kernel/sun8i-dev/add-configfs-overlay-for-v4.10.x.patch @@ -358,31 +358,3 @@ index dca8f9b..ec7e167 100644 { int parent, len; const struct of_bus *bus, *pbus; -diff --git a/drivers/of/resolver.c b/drivers/of/resolver.c -index 46325d6..867d1cf 100644 ---- a/drivers/of/resolver.c -+++ b/drivers/of/resolver.c -@@ -321,8 +321,10 @@ int of_resolve_phandles(struct device_node *resolve) - pr_err("%s: node %s not detached\n", __func__, - resolve->full_name); - /* the resolve node must exist, and be detached */ -- if (!resolve || !of_node_check_flag(resolve, OF_DETACHED)) -+ if (!resolve || !of_node_check_flag(resolve, OF_DETACHED)) { -+ pr_err("%s: resolve node must exist, and be detached\n", __func__); - return -EINVAL; -+ } - - /* first we need to adjust the phandles */ - phandle_delta = of_get_tree_max_phandle() + 1; -@@ -338,8 +340,10 @@ int of_resolve_phandles(struct device_node *resolve) - /* resolve root is guaranteed to be the '/' */ - err = __of_adjust_tree_phandle_references(childroot, - resolve, 0); -- if (err != 0) -+ if (err != 0) { -+ pr_err("%s: __of_adjust_tree_phandle_references failed !\n", __func__); - return err; -+ } - - BUG_ON(__of_adjust_tree_phandle_references(childroot, - resolve, phandle_delta)); diff --git a/patch/kernel/sun8i-dev/add-h3-overlays.patch b/patch/kernel/sun8i-dev/add-h3-overlays.patch index 62fcea2b94..271839b995 100644 --- a/patch/kernel/sun8i-dev/add-h3-overlays.patch +++ b/patch/kernel/sun8i-dev/add-h3-overlays.patch @@ -1,8 +1,8 @@ diff --git a/arch/arm/Makefile b/arch/arm/Makefile -index 6be9ee14..750f48a2 100644 +index ab30cc63..cc176797 100644 --- a/arch/arm/Makefile +++ b/arch/arm/Makefile -@@ -335,6 +335,9 @@ $(INSTALL_TARGETS): +@@ -339,6 +339,9 @@ $(INSTALL_TARGETS): %.dtb: | scripts $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@ @@ -23,10 +23,10 @@ index 3c79f859..eaaeb17e 100644 -*.dtb +*.dtb* diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index c558ba75..40899e4a 100644 +index 01d178a2..48e5a5f5 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -954,10 +955,16 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \ +@@ -984,10 +984,16 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \ dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb \ aspeed-ast2500-evb.dtb @@ -45,19 +45,23 @@ index c558ba75..40899e4a 100644 +dts-dirs += overlay diff --git a/arch/arm/boot/dts/overlay/Makefile b/arch/arm/boot/dts/overlay/Makefile new file mode 100644 -index 00000000..00dd8ffc +index 00000000..5153998d --- /dev/null +++ b/arch/arm/boot/dts/overlay/Makefile -@@ -0,0 +1,18 @@ +@@ -0,0 +1,22 @@ +ifeq ($(CONFIG_OF_CONFIGFS),y) + +dtbo-$(CONFIG_MACH_SUN8I) += \ ++ analog-codec.dtbo \ + i2c0.dtbo \ + spi0-spidev.dtbo \ + spi1-spidev.dtbo \ -+ uart1-enable.dtbo \ -+ uart2-enable.dtbo \ -+ uart3-enable.dtbo \ ++ uart1.dtbo \ ++ uart2.dtbo \ ++ uart3.dtbo \ ++ usbhost0.dtbo \ ++ usbhost2.dtbo \ ++ usbhost3.dtbo \ + w1.dtbo + +targets += dtbs dtbs_install @@ -67,9 +71,31 @@ index 00000000..00dd8ffc + +always := $(dtbo-y) +clean-files := *.dtbo +diff --git a/arch/arm/boot/dts/overlay/analog-codec.dts b/arch/arm/boot/dts/overlay/analog-codec.dts +new file mode 100644 +index 00000000..c788c3f0 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/analog-codec.dts +@@ -0,0 +1,16 @@ ++/dts-v1/ /plugin/; ++ ++/ { ++ compatible = "allwinner,sun8i-h3"; ++ ++ fragment@0 { ++ target = <&codec>; ++ __overlay__ { ++ allwinner,audio-routing = ++ "Line Out", "LINEOUT", ++ "MIC1", "Mic", ++ "Mic", "MBIAS"; ++ status = "okay"; ++ }; ++ }; ++}; diff --git a/arch/arm/boot/dts/overlay/i2c0.dts b/arch/arm/boot/dts/overlay/i2c0.dts new file mode 100644 -index 00000000..cbd8d801 +index 00000000..f7436137 --- /dev/null +++ b/arch/arm/boot/dts/overlay/i2c0.dts @@ -0,0 +1,19 @@ @@ -94,7 +120,7 @@ index 00000000..cbd8d801 +}; diff --git a/arch/arm/boot/dts/overlay/spi0-spidev.dts b/arch/arm/boot/dts/overlay/spi0-spidev.dts new file mode 100644 -index 00000000..5a01ef23 +index 00000000..2216a4da --- /dev/null +++ b/arch/arm/boot/dts/overlay/spi0-spidev.dts @@ -0,0 +1,26 @@ @@ -126,7 +152,7 @@ index 00000000..5a01ef23 +}; diff --git a/arch/arm/boot/dts/overlay/spi1-spidev.dts b/arch/arm/boot/dts/overlay/spi1-spidev.dts new file mode 100644 -index 00000000..92b73bc8 +index 00000000..671aaffd --- /dev/null +++ b/arch/arm/boot/dts/overlay/spi1-spidev.dts @@ -0,0 +1,26 @@ @@ -156,11 +182,11 @@ index 00000000..92b73bc8 + }; + }; +}; -diff --git a/arch/arm/boot/dts/overlay/uart1-enable.dts b/arch/arm/boot/dts/overlay/uart1-enable.dts +diff --git a/arch/arm/boot/dts/overlay/uart1.dts b/arch/arm/boot/dts/overlay/uart1.dts new file mode 100644 -index 00000000..92b73bc8 +index 00000000..cd39f21a --- /dev/null -+++ b/arch/arm/boot/dts/overlay/uart1-enable.dts ++++ b/arch/arm/boot/dts/overlay/uart1.dts @@ -0,0 +1,20 @@ +/dts-v1/ /plugin/; + @@ -182,11 +208,11 @@ index 00000000..92b73bc8 + }; + }; +}; -diff --git a/arch/arm/boot/dts/overlay/uart2-enable.dts b/arch/arm/boot/dts/overlay/uart2-enable.dts +diff --git a/arch/arm/boot/dts/overlay/uart2.dts b/arch/arm/boot/dts/overlay/uart2.dts new file mode 100644 -index 00000000..92b73bc8 +index 00000000..9a7b3d8e --- /dev/null -+++ b/arch/arm/boot/dts/overlay/uart2-enable.dts ++++ b/arch/arm/boot/dts/overlay/uart2.dts @@ -0,0 +1,20 @@ +/dts-v1/ /plugin/; + @@ -208,11 +234,11 @@ index 00000000..92b73bc8 + }; + }; +}; -diff --git a/arch/arm/boot/dts/overlay/uart3-enable.dts b/arch/arm/boot/dts/overlay/uart3-enable.dts +diff --git a/arch/arm/boot/dts/overlay/uart3.dts b/arch/arm/boot/dts/overlay/uart3.dts new file mode 100644 -index 00000000..92b73bc8 +index 00000000..b780e7f6 --- /dev/null -+++ b/arch/arm/boot/dts/overlay/uart3-enable.dts ++++ b/arch/arm/boot/dts/overlay/uart3.dts @@ -0,0 +1,20 @@ +/dts-v1/ /plugin/; + @@ -234,6 +260,78 @@ index 00000000..92b73bc8 + }; + }; +}; +diff --git a/arch/arm/boot/dts/overlay/usbhost0.dts b/arch/arm/boot/dts/overlay/usbhost0.dts +new file mode 100644 +index 00000000..6b1b85f0 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/usbhost0.dts +@@ -0,0 +1,18 @@ ++/dts-v1/ /plugin/; ++ ++/ { ++ compatible = "allwinner,sun8i-h3"; ++ ++ fragment@0 { ++ target = <&ehci0>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ fragment@1 { ++ target = <&ohci0>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/usbhost2.dts b/arch/arm/boot/dts/overlay/usbhost2.dts +new file mode 100644 +index 00000000..385811a7 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/usbhost2.dts +@@ -0,0 +1,18 @@ ++/dts-v1/ /plugin/; ++ ++/ { ++ compatible = "allwinner,sun8i-h3"; ++ ++ fragment@0 { ++ target = <&ehci2>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ fragment@1 { ++ target = <&ohci2>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/usbhost3.dts b/arch/arm/boot/dts/overlay/usbhost3.dts +new file mode 100644 +index 00000000..dd1f7601 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/usbhost3.dts +@@ -0,0 +1,18 @@ ++/dts-v1/ /plugin/; ++ ++/ { ++ compatible = "allwinner,sun8i-h3"; ++ ++ fragment@0 { ++ target = <&ehci3>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++ fragment@1 { ++ target = <&ohci3>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; diff --git a/arch/arm/boot/dts/overlay/w1.dts b/arch/arm/boot/dts/overlay/w1.dts new file mode 100644 index 00000000..faf3650e diff --git a/patch/kernel/sun8i-dev/add-opi-zero-dts-with-wireless.patch b/patch/kernel/sun8i-dev/add-opi-zero-dts-with-wireless.patch index 532216f24a..dfd91590ab 100644 --- a/patch/kernel/sun8i-dev/add-opi-zero-dts-with-wireless.patch +++ b/patch/kernel/sun8i-dev/add-opi-zero-dts-with-wireless.patch @@ -1,21 +1,21 @@ diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index c558ba75..f1ff8b90 100644 +index 48e5a5f5..f460f269 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -818,6 +818,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ +@@ -845,6 +845,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-a33-sinlinx-sina33.dtb \ sun8i-a83t-allwinner-h8homlet-v2.dtb \ sun8i-a83t-cubietruck-plus.dtb \ + sun8i-h2plus-orangepi-zero.dtb \ sun8i-h3-bananapi-m2-plus.dtb \ + sun8i-h3-nanopi-m1.dtb \ sun8i-h3-nanopi-neo.dtb \ - sun8i-h3-orangepi-2.dtb \ diff --git a/arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts new file mode 100644 -index 00000000..d262a251 +index 00000000..98a44240 --- /dev/null +++ b/arch/arm/boot/dts/sun8i-h2plus-orangepi-zero.dts -@@ -0,0 +1,88 @@ +@@ -0,0 +1,97 @@ + +#include "sun8i-h3-orangepi-one.dts" + @@ -76,6 +76,15 @@ index 00000000..d262a251 + }; +}; + ++&r_pio { ++ wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin@0 { ++ allwinner,pins = "PL7"; ++ allwinner,function = "gpio_out"; ++ allwinner,drive = ; ++ allwinner,pull = ; ++ }; ++}; ++ +&spi0 { + status = "okay"; + spi-flash@0 { @@ -104,4 +113,3 @@ index 00000000..d262a251 + }; + }; +}; -+ \ No newline at end of file diff --git a/patch/kernel/sun8i-dev/add_8189fs_for_v4.6.x.patch b/patch/kernel/sun8i-dev/add-realtek-8189fs-driver.patch similarity index 100% rename from patch/kernel/sun8i-dev/add_8189fs_for_v4.6.x.patch rename to patch/kernel/sun8i-dev/add-realtek-8189fs-driver.patch diff --git a/patch/kernel/sun8i-dev/add-sun8i-ce-crypto-engine-dt.patch b/patch/kernel/sun8i-dev/add-sun8i-ce-crypto-engine-dt.patch.disabled similarity index 100% rename from patch/kernel/sun8i-dev/add-sun8i-ce-crypto-engine-dt.patch rename to patch/kernel/sun8i-dev/add-sun8i-ce-crypto-engine-dt.patch.disabled diff --git a/patch/kernel/sun8i-dev/integrate-sun8i-ce-crypto-engine-kconfig.patch b/patch/kernel/sun8i-dev/add-sun8i-ce-crypto-engine-kconfig.patch.disabled similarity index 100% rename from patch/kernel/sun8i-dev/integrate-sun8i-ce-crypto-engine-kconfig.patch rename to patch/kernel/sun8i-dev/add-sun8i-ce-crypto-engine-kconfig.patch.disabled diff --git a/patch/kernel/sun8i-dev/add-sun8i-ce-crypto-engine.patch b/patch/kernel/sun8i-dev/add-sun8i-ce-crypto-engine.patch.disabled similarity index 100% rename from patch/kernel/sun8i-dev/add-sun8i-ce-crypto-engine.patch rename to patch/kernel/sun8i-dev/add-sun8i-ce-crypto-engine.patch.disabled diff --git a/patch/kernel/sun8i-dev/add-thermal-otg-opi-lite.patch b/patch/kernel/sun8i-dev/add-thermal-otg-wireless-opi-lite.patch similarity index 79% rename from patch/kernel/sun8i-dev/add-thermal-otg-opi-lite.patch rename to patch/kernel/sun8i-dev/add-thermal-otg-wireless-opi-lite.patch index a2eef32210..f3bcfdfbcc 100644 --- a/patch/kernel/sun8i-dev/add-thermal-otg-opi-lite.patch +++ b/patch/kernel/sun8i-dev/add-thermal-otg-wireless-opi-lite.patch @@ -1,7 +1,5 @@ diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts -old mode 100644 -new mode 100755 -index 1550fee..96c9624 +index 1550fee1..63c54989 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-lite.dts @@ -47,6 +47,7 @@ @@ -12,11 +10,18 @@ index 1550fee..96c9624 / { model = "Xunlong Orange Pi Lite"; -@@ -90,12 +91,98 @@ +@@ -90,6 +91,89 @@ gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; }; }; + ++ wifi_pwrseq: wifi_pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_pwrseq_pin_orangepi>; ++ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 WIFI_EN */ ++ }; ++ + vdd_cpux: gpio-regulator { + compatible = "regulator-gpio"; + @@ -36,8 +41,8 @@ index 1550fee..96c9624 + states = <1100000 0x0 + 1300000 0x1>; + }; - }; - ++}; ++ +&cpu0 { + operating-points = < + 1008000 1300000 @@ -92,26 +97,18 @@ index 1550fee..96c9624 + cooling-device = <&cpu0 5 THERMAL_NO_LIMIT>; + }; + }; -+}; -+ -+&de { -+ status = "okay"; -+}; -+ -+&ehci0 { -+ status = "okay"; -+}; - &ehci1 { - status = "okay"; }; -+&hdmi { -+ status = "okay"; -+}; - &ehci2 { + &ehci1 { +@@ -120,6 +204,7 @@ + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins_a>; + vmmc-supply = <®_vcc3v3>; ++ mmc-pwrseq = <&wifi_pwrseq>; + bus-width = <4>; + non-removable; status = "okay"; - }; -@@ -148,6 +235,13 @@ +@@ -148,6 +233,13 @@ allwinner,drive = ; allwinner,pull = ; }; @@ -125,7 +122,20 @@ index 1550fee..96c9624 }; &r_pio { -@@ -164,15 +258,43 @@ +@@ -158,12 +250,39 @@ + allwinner,pull = ; + }; + ++ wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin@0 { ++ allwinner,pins = "PL7"; ++ allwinner,function = "gpio_out"; ++ allwinner,drive = ; ++ allwinner,pull = ; ++ }; ++ + sw_r_opc: key_pins@0 { + allwinner,pins = "PL3"; + allwinner,function = "gpio_in"; allwinner,drive = ; allwinner,pull = ; }; @@ -143,32 +153,30 @@ index 1550fee..96c9624 + allwinner,drive = ; + allwinner,pull = ; + }; - }; - ++}; ++ +®_usb0_vbus { + pinctrl-0 = <&usb0_vbus_pin_opipc>; + gpio = <&r_pio 0 2 GPIO_ACTIVE_HIGH>; /* PL2 */ + status = "okay"; -+}; + }; + &uart0 { - pinctrl-names = "default"; - pinctrl-0 = <&uart0_pins_a>; +@@ -172,7 +291,16 @@ status = "okay"; }; --&usbphy { -- /* USB VBUS is always on */ +&usb_otg { + dr_mode = "otg"; - status = "okay"; - }; -+ -+&usbphy { -+ /* USB VBUS is always on except for the OTG port */ + status = "okay"; ++}; ++ + &usbphy { +- /* USB VBUS is always on */ ++ /* USB VBUS is always on except for the OTG port */ + status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <&usb0_id_detect_pin>; + usb0_id_det-gpios = <&pio 6 12 GPIO_ACTIVE_HIGH>; /* PG12 */ + usb0_vbus-supply = <®_usb0_vbus>; -+}; -\ No newline at end of file + }; diff --git a/patch/kernel/sun8i-dev/add-uart3-rts-cts-pins.patch b/patch/kernel/sun8i-dev/add-uart3-rts-cts-pins.patch new file mode 100644 index 0000000000..3f2c128e5f --- /dev/null +++ b/patch/kernel/sun8i-dev/add-uart3-rts-cts-pins.patch @@ -0,0 +1,13 @@ +diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi +index 12dc849a..d1b4cd79 100644 +--- a/arch/arm/boot/dts/sun8i-h3.dtsi ++++ b/arch/arm/boot/dts/sun8i-h3.dtsi +@@ -509,7 +523,7 @@ + }; + + uart3_pins: uart3 { +- allwinner,pins = "PA13", "PA14"; ++ allwinner,pins = "PA13", "PA14", "PA15", "PA16"; + allwinner,function = "uart3"; + allwinner,drive = ; + allwinner,pull = ; diff --git a/patch/kernel/sun8i-dev/add-wifi-pwrseq-opi-pc-plus.patch b/patch/kernel/sun8i-dev/add-wifi-pwrseq-opi-pc-plus.patch new file mode 100644 index 0000000000..1b78ea78b4 --- /dev/null +++ b/patch/kernel/sun8i-dev/add-wifi-pwrseq-opi-pc-plus.patch @@ -0,0 +1,38 @@ +diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts +index 851fd2c2..8673c503 100644 +--- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts ++++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc-plus.dts +@@ -51,12 +51,20 @@ + /* ethernet0 is the H3 emac, defined in sun8i-h3.dtsi */ + ethernet1 = &rtl8189ftv; + }; ++ ++ wifi_pwrseq: wifi_pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&wifi_pwrseq_pin_orangepi>; ++ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 WIFI_EN */ ++ }; + }; + + &mmc1 { + pinctrl-names = "default"; + pinctrl-0 = <&mmc1_pins_a>; + vmmc-supply = <®_vcc3v3>; ++ mmc-pwrseq = <&wifi_pwrseq>; + bus-width = <4>; + non-removable; + status = "okay"; +@@ -86,3 +94,12 @@ + /* eMMC is missing pull-ups */ + allwinner,pull = ; + }; ++ ++&r_pio { ++ wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin@0 { ++ allwinner,pins = "PL7"; ++ allwinner,function = "gpio_out"; ++ allwinner,drive = ; ++ allwinner,pull = ; ++ }; ++}; diff --git a/patch/kernel/sun8i-dev/add_missing_SPI_for-H3_v4.9.x.patch b/patch/kernel/sun8i-dev/add_missing_SPI_for-H3_v4.9.x.patch deleted file mode 100644 index a42ca484d4..0000000000 --- a/patch/kernel/sun8i-dev/add_missing_SPI_for-H3_v4.9.x.patch +++ /dev/null @@ -1,90 +0,0 @@ -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index cc2a8b4..70b2607 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -50,6 +50,11 @@ - / { - interrupt-parent = <&gic>; - -+ aliases { -+ spi0 = &spi0; -+ spi1 = &spi1; -+ }; -+ - cpus { - #address-cells = <1>; - #size-cells = <0>; -@@ -398,6 +403,34 @@ - allwinner,pull = ; - }; - -+ spi0_pins_a: spi0@0 { -+ allwinner,pins = "PC0", "PC1", "PC2"; -+ allwinner,function = "spi0"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ spi0_cs0_pins_a: spi0_cs0@0 { -+ allwinner,pins = "PC3"; -+ allwinner,function = "spi0"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ spi1_pins_a: spi1@0 { -+ allwinner,pins = "PA15", "PA16", "PA14"; -+ allwinner,function = "spi1"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ spi1_cs0_pins_a: spi1_cs0@0 { -+ allwinner,pins = "PA13"; -+ allwinner,function = "spi1"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ - uart0_pins_a: uart0@0 { - allwinner,pins = "PA4", "PA5"; - allwinner,function = "uart0"; -@@ -547,6 +580,38 @@ - #size-cells = <0>; - }; - -+ spi0: spi@01c68000 { -+ compatible = "allwinner,sun8i-h3-spi"; -+ reg = <0x01c68000 0x1000>; -+ interrupts = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&spi0_pins_a>, <&spi0_cs0_pins_a>; -+ clocks = <&ccu CLK_BUS_SPI0>, <&ccu CLK_SPI0>; -+ clock-names = "ahb", "mod"; -+ dmas = <&dma 23>, <&dma 23>; -+ dma-names = "rx", "tx"; -+ resets = <&ccu RST_BUS_SPI0>; -+ status = "disabled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ -+ spi1: spi@01c69000 { -+ compatible = "allwinner,sun8i-h3-spi"; -+ reg = <0x01c69000 0x1000>; -+ interrupts = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&spi1_pins_a>, <&spi1_cs0_pins_a>; -+ clocks = <&ccu CLK_BUS_SPI1>, <&ccu CLK_SPI1>; -+ clock-names = "ahb", "mod"; -+ dmas = <&dma 24>, <&dma 24>; -+ dma-names = "rx", "tx"; -+ resets = <&ccu RST_BUS_SPI1>; -+ status = "disabled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ - emac: ethernet@1c30000 { - compatible = "allwinner,sun8i-h3-emac"; - syscon = <&syscon>; diff --git a/patch/kernel/sun8i-dev/add_missing_UARTs_I2Cs_SPI_for-H3.patch.disabled b/patch/kernel/sun8i-dev/add_missing_UARTs_I2Cs_SPI_for-H3.patch.disabled deleted file mode 100644 index 271cdbd656..0000000000 --- a/patch/kernel/sun8i-dev/add_missing_UARTs_I2Cs_SPI_for-H3.patch.disabled +++ /dev/null @@ -1,194 +0,0 @@ -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index 8e7d38c..06aa68c 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -48,6 +48,11 @@ - / { - interrupt-parent = <&gic>; - -+ aliases { -+ spi0 = &spi0; -+ spi1 = &spi1; -+ }; -+ - cpus { - #address-cells = <1>; - #size-cells = <0>; -@@ -291,6 +296,22 @@ - "mmc2_sample"; - }; - -+ spi0_clk: clk@01c200a0 { -+ #clock-cells = <0>; -+ compatible = "allwinner,sun4i-a10-mod0-clk"; -+ reg = <0x01c200a0 0x4>; -+ clocks = <&osc24M>, <&pll6 0>; -+ clock-output-names = "spi0"; -+ }; -+ -+ spi1_clk: clk@01c200a4 { -+ #clock-cells = <0>; -+ compatible = "allwinner,sun4i-a10-mod0-clk"; -+ reg = <0x01c200a4 0x4>; -+ clocks = <&osc24M>, <&pll6 0>; -+ clock-output-names = "spi1"; -+ }; -+ - usb_clk: clk@01c200cc { - #clock-cells = <1>; - #reset-cells = <1>; -@@ -541,6 +562,76 @@ - allwinner,pull = ; - }; - -+ uart1_pins_a: uart1@0 { -+ allwinner,pins = "PG6", "PG7"; -+ allwinner,function = "uart1"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ uart2_pins_a: uart2@0 { -+ allwinner,pins = "PA0", "PA1"; -+ allwinner,function = "uart2"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ uart3_pins_a: uart3@0 { -+ allwinner,pins = "PA13", "PA14"; -+ allwinner,function = "uart3"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ i2c0_pins_a: i2c0@0 { -+ allwinner,pins = "PA11", "PA12"; -+ allwinner,function = "i2c0"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ i2c1_pins_a: i2c1@0 { -+ allwinner,pins = "PA18", "PA19"; -+ allwinner,function = "i2c1"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ i2c2_pins_a: i2c2@0 { -+ allwinner,pins = "PE12", "PE13"; -+ allwinner,function = "i2c2"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ spi0_pins_a: spi0@0 { -+ allwinner,pins = "PC0", "PC1", "PC2"; -+ allwinner,function = "spi0"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ spi0_cs0_pins_a: spi0_cs0@0 { -+ allwinner,pins = "PC3"; -+ allwinner,function = "spi0"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ spi1_pins_a: spi1@0 { -+ allwinner,pins = "PA15", "PA16", "PA14"; -+ allwinner,function = "spi1"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ spi1_cs0_pins_a: spi1_cs0@0 { -+ allwinner,pins = "PA13"; -+ allwinner,function = "spi1"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ - mmc0_pins_a: mmc0@0 { - allwinner,pins = "PF0", "PF1", "PF2", "PF3", - "PF4", "PF5"; -@@ -699,6 +790,77 @@ - status = "disabled"; - }; - -+ i2c0: i2c@01c2ac00 { -+ compatible = "allwinner,sun6i-a31-i2c"; -+ reg = <0x01c2ac00 0x400>; -+ interrupts = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c0_pins_a>; -+ clocks = <&bus_gates 96>; -+ resets = <&apb2_rst 0>; -+ status = "disabled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ -+ i2c1: i2c@01c2b000 { -+ compatible = "allwinner,sun6i-a31-i2c"; -+ reg = <0x01c2b000 0x400>; -+ interrupts = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c1_pins_a>; -+ clocks = <&bus_gates 97>; -+ resets = <&apb2_rst 1>; -+ status = "disabled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ -+ i2c2: i2c@01c2b400 { -+ compatible = "allwinner,sun6i-a31-i2c"; -+ reg = <0x01c2b400 0x400>; -+ interrupts = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c2_pins_a>; -+ clocks = <&bus_gates 98>; -+ resets = <&apb2_rst 2>; -+ status = "disabled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ -+ spi0: spi@01c68000 { -+ compatible = "allwinner,sun6i-a31-spi"; -+ reg = <0x01c68000 0x1000>; -+ interrupts = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&spi0_pins_a>, <&spi0_cs0_pins_a>; -+ clocks = <&bus_gates 20>, <&spi0_clk>; -+ clock-names = "ahb", "mod"; -+ dmas = <&dma 23>, <&dma 23>; -+ dma-names = "rx", "tx"; -+ resets = <&ahb_rst 20>; -+ status = "disabled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ -+ spi1: spi@01c69000 { -+ compatible = "allwinner,sun6i-a31-spi"; -+ reg = <0x01c69000 0x1000>; -+ interrupts = ; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&spi1_pins_a>, <&spi1_cs0_pins_a>; -+ clocks = <&bus_gates 21>, <&spi1_clk>; -+ clock-names = "ahb", "mod"; -+ dmas = <&dma 24>, <&dma 24>; -+ dma-names = "rx", "tx"; -+ resets = <&ahb_rst 21>; -+ status = "disabled"; -+ #address-cells = <1>; -+ #size-cells = <0>; -+ }; -+ - gic: interrupt-controller@01c81000 { - compatible = "arm,cortex-a7-gic", "arm,cortex-a15-gic"; - reg = <0x01c81000 0x1000>, diff --git a/patch/kernel/sun8i-dev/add_usb_ports_to_small_h3-boards.patch b/patch/kernel/sun8i-dev/add_usb_ports_to_small_h3-boards.patch deleted file mode 100644 index 29522d59f2..0000000000 --- a/patch/kernel/sun8i-dev/add_usb_ports_to_small_h3-boards.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -index 0adf932..bfbfc35 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -@@ -94,6 +94,14 @@ - status = "okay"; - }; - -+&ehci2 { -+ status = "okay"; -+}; -+ -+&ehci3 { -+ status = "okay"; -+}; -+ - &mmc0 { - pinctrl-names = "default"; - pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin>; -@@ -108,6 +116,14 @@ - status = "okay"; - }; - -+&ohci2 { -+ status = "okay"; -+}; -+ -+&ohci3 { -+ status = "okay"; -+}; -+ - &pio { - leds_opc: led_pins@0 { - allwinner,pins = "PA15"; diff --git a/patch/kernel/sun8i-dev/enable-codec-orange-pi-2.patch b/patch/kernel/sun8i-dev/enable-codec-orange-pi-2.patch new file mode 100644 index 0000000000..92c0eb9ff4 --- /dev/null +++ b/patch/kernel/sun8i-dev/enable-codec-orange-pi-2.patch @@ -0,0 +1,19 @@ +diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts +index 3c0aa14d..d47ce265 100644 +--- a/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts ++++ b/arch/arm/boot/dts/sun8i-h3-orangepi-2.dts +@@ -107,6 +107,14 @@ + }; + }; + ++&codec { ++ allwinner,audio-routing = ++ "Line Out", "LINEOUT", ++ "MIC1", "Mic", ++ "Mic", "MBIAS"; ++ status = "okay"; ++}; ++ + &de { + status = "okay"; + }; diff --git a/patch/kernel/sun8i-dev/patch-for-eMMC-sun8i-h3-orangepi-pc-dts.patch b/patch/kernel/sun8i-dev/enable-codec-orange-pi-pc.patch similarity index 57% rename from patch/kernel/sun8i-dev/patch-for-eMMC-sun8i-h3-orangepi-pc-dts.patch rename to patch/kernel/sun8i-dev/enable-codec-orange-pi-pc.patch index 81386725e0..5e765ee50b 100644 --- a/patch/kernel/sun8i-dev/patch-for-eMMC-sun8i-h3-orangepi-pc-dts.patch +++ b/patch/kernel/sun8i-dev/enable-codec-orange-pi-pc.patch @@ -1,20 +1,19 @@ diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -index 82b3fe9..3df09e8 100644 +index 91501de8..7fe29548 100644 --- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts +++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -@@ -200,6 +200,15 @@ +@@ -177,6 +177,14 @@ status = "okay"; }; -+&mmc2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc2_8bit_pins>; -+ vmmc-supply = <®_vcc3v0>; -+ bus-width = <8>; -+ non-removable; ++&codec { ++ allwinner,audio-routing = ++ "Line Out", "LINEOUT", ++ "MIC1", "Mic", ++ "Mic", "MBIAS"; + status = "okay"; +}; + - &ohci1 { + &ehci0 { status = "okay"; }; diff --git a/patch/kernel/sun8i-dev/nanopi-neo-air-wireless-and-dvfs.patch b/patch/kernel/sun8i-dev/nanopi-neo-air-wireless-and-dvfs.patch index d44c454cf5..9bab059c0a 100644 --- a/patch/kernel/sun8i-dev/nanopi-neo-air-wireless-and-dvfs.patch +++ b/patch/kernel/sun8i-dev/nanopi-neo-air-wireless-and-dvfs.patch @@ -1,29 +1,15 @@ diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts -index 3d64cafc..277a2cc4 100644 +index 8d2cc6e9..2dd98de1 100644 --- a/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts +++ b/arch/arm/boot/dts/sun8i-h3-nanopi-neo.dts -@@ -45,7 +45,9 @@ - #include "sunxi-common-regulators.dtsi" - - #include -+#include - #include -+#include - +@@ -45,4 +45,59 @@ / { model = "FriendlyARM NanoPi NEO"; -@@ -53,6 +55,7 @@ - - aliases { - serial0 = &uart0; + compatible = "friendlyarm,nanopi-neo", "allwinner,sun8i-h3"; ++ ++ aliases { + serial3 = &uart3; - }; - - chosen { -@@ -75,6 +78,89 @@ - gpios = <&pio 0 10 GPIO_ACTIVE_HIGH>; /* PA10 */ - }; - }; ++ }; + + wifi_pwrseq: wifi_pwrseq { + compatible = "mmc-pwrseq-simple"; @@ -31,6 +17,67 @@ index 3d64cafc..277a2cc4 100644 + pinctrl-0 = <&wifi_en_neoair>; + reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 */ + }; ++}; ++ ++&mmc1 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc1_pins_a>; ++ vmmc-supply = <®_vcc3v3>; ++ vqmmc-supply = <®_vcc3v3>; ++ mmc-pwrseq = <&wifi_pwrseq>; ++ bus-width = <4>; ++ non-removable; ++ status = "okay"; ++ ++ brcmf: bcrmf@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ interrupt-parent = <&pio>; ++ interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */ ++ interrupt-names = "host-wake"; ++ }; ++}; ++ ++&mmc2 { ++ pinctrl-names = "default"; ++ pinctrl-0 = <&mmc2_8bit_pins>; ++ vmmc-supply = <®_vcc3v3>; ++ vqmmc-supply = <®_vcc3v3>; ++ bus-width = <8>; ++ non-removable; ++ status = "okay"; ++}; ++ ++&r_pio { ++ wifi_en_neoair: wifi_en_pin@0 { ++ allwinner,pins = "PL7"; ++ allwinner,function = "gpio_out"; ++ allwinner,drive = ; ++ allwinner,pull = ; ++ }; ++}; ++ ++&uart3 { /* Connected to AP6212 on Neo Air */ ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uart3_pins>; ++ status = "okay"; + }; +diff --git a/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi b/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi +index 8038aa29..a6709271 100644 +--- a/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi ++++ b/arch/arm/boot/dts/sun8i-h3-nanopi.dtsi +@@ -48,6 +48,7 @@ + #include + #include + #include ++#include + + / { + aliases { +@@ -88,12 +88,95 @@ + gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; + }; + }; + + vdd_cpux: gpio-regulator { + compatible = "regulator-gpio"; @@ -108,107 +155,32 @@ index 3d64cafc..277a2cc4 100644 + }; + }; }; - + &ehci3 { -@@ -91,12 +177,41 @@ status = "okay"; }; - -+&mmc1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc1_pins_a>; -+ vmmc-supply = <®_vcc3v3>; -+ vqmmc-supply = <®_vcc3v3>; -+ mmc-pwrseq = <&wifi_pwrseq>; -+ bus-width = <4>; -+ non-removable; -+ status = "okay"; -+ -+ brcmf: bcrmf@1 { -+ reg = <1>; -+ compatible = "brcm,bcm4329-fmac"; -+ interrupt-parent = <&pio>; -+ interrupts = <6 10 IRQ_TYPE_LEVEL_LOW>; /* PG10 / EINT10 */ -+ interrupt-names = "host-wake"; -+ }; -+}; -+ -+&mmc2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc2_8bit_pins>; -+ vmmc-supply = <®_vcc3v3>; -+ vqmmc-supply = <®_vcc3v3>; -+ bus-width = <8>; -+ non-removable; -+ status = "okay"; -+}; -+ - &ohci3 { - status = "okay"; - }; - - &pio { -- leds_opc: led-pins { -+ leds_opc: led-pins@0 { - allwinner,pins = "PA10"; - allwinner,function = "gpio_out"; - allwinner,drive = ; -@@ -105,12 +220,25 @@ - }; - - &r_pio { -- leds_r_opc: led-pins { -+ leds_r_opc: led-pins@0 { - allwinner,pins = "PL10"; - allwinner,function = "gpio_out"; - allwinner,drive = ; - allwinner,pull = ; - }; -+ wifi_en_neoair: wifi_en_pin@0 { -+ allwinner,pins = "PL7"; -+ allwinner,function = "gpio_out"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; -+ -+ vdd_cpux_r_opc: regulator_pins@0 { -+ allwinner,pins = "PL6"; -+ allwinner,function = "gpio_out"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; - }; - - &uart0 { -@@ -119,6 +247,18 @@ - status = "okay"; - }; - + +&emac { + phy-handle = <&int_mii_phy>; + phy-mode = "mii"; + allwinner,leds-active-low; + status = "okay"; +}; -+&uart3 { /* Connected to AP6212 on Neo Air */ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart3_pins>; -+ status = "okay"; -+}; + - &usbphy { - /* USB VBUS is always on */ - status = "okay"; -diff --git a/arch/arm/boot/dts/sun8i-h3.dtsi b/arch/arm/boot/dts/sun8i-h3.dtsi -index 12dc849a..d1b4cd79 100644 ---- a/arch/arm/boot/dts/sun8i-h3.dtsi -+++ b/arch/arm/boot/dts/sun8i-h3.dtsi -@@ -509,7 +523,7 @@ - }; - - uart3_pins: uart3 { -- allwinner,pins = "PA13", "PA14"; -+ allwinner,pins = "PA13", "PA14", "PA15", "PA16"; - allwinner,function = "uart3"; - allwinner,drive = ; - allwinner,pull = ; + &mmc0 { + bus-width = <4>; + cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; +@@ -125,6 +208,13 @@ + allwinner,pull = ; + }; + ++ vdd_cpux_r_opc: regulator_pins@0 { ++ allwinner,pins = "PL6"; ++ allwinner,function = "gpio_out"; ++ allwinner,drive = ; ++ allwinner,pull = ; ++ }; ++ + sw_r_npi: key_pins@0 { + allwinner,pins = "PL3"; + allwinner,function = "gpio_in"; diff --git a/patch/kernel/sun8i-dev/packaging-4.x-DEV-with-postinstall-scripts.patch b/patch/kernel/sun8i-dev/packaging-4.x-DEV-with-postinstall-scripts.patch index 422e3279c4..e66f4fed6e 100644 --- a/patch/kernel/sun8i-dev/packaging-4.x-DEV-with-postinstall-scripts.patch +++ b/patch/kernel/sun8i-dev/packaging-4.x-DEV-with-postinstall-scripts.patch @@ -1,10 +1,10 @@ diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 6c3b038..cc9b3c0 100755 +index 3c575cd0..91d7a19b 100755 --- a/scripts/package/builddeb +++ b/scripts/package/builddeb -@@ -27,6 +27,28 @@ create_package() { - chown -R root:root "$pdir" - chmod -R go-w "$pdir" +@@ -29,6 +29,28 @@ 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 @@ -20,18 +20,18 @@ index 6c3b038..cc9b3c0 100755 + 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 ...\"; 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 $forcearch -Vkernel:debarch="${debarch}" -p$pname -P"$pdir" dpkg --build "$pdir" .. -@@ -93,11 +115,13 @@ tmpdir="$objtree/debian/tmp" +@@ -95,11 +117,13 @@ tmpdir="$objtree/debian/tmp" fwdir="$objtree/debian/fwtmp" kernel_headers_dir="$objtree/debian/hdrtmp" libc_headers_dir="$objtree/debian/headertmp" @@ -49,7 +49,7 @@ index 6c3b038..cc9b3c0 100755 dbg_packagename=$packagename-dbg debarch= forcearch= -@@ -124,7 +148,9 @@ esac +@@ -126,7 +150,9 @@ esac BUILD_DEBUG="$(grep -s '^CONFIG_DEBUG_INFO=y' $KCONFIG_CONFIG || true)" # Setup the directory structure @@ -60,7 +60,7 @@ index 6c3b038..cc9b3c0 100755 mkdir -m 755 -p "$tmpdir/DEBIAN" mkdir -p "$tmpdir/lib" "$tmpdir/boot" mkdir -p "$fwdir/lib/firmware/$version/" -@@ -183,6 +209,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then +@@ -185,6 +211,11 @@ if grep -q '^CONFIG_MODULES=y' $KCONFIG_CONFIG ; then fi fi @@ -72,16 +72,7 @@ index 6c3b038..cc9b3c0 100755 if [ "$ARCH" != "um" ]; then $MAKE headers_check KBUILD_SRC= $MAKE headers_install KBUILD_SRC= INSTALL_HDR_PATH="$libc_headers_dir/usr" -@@ -195,7 +226,7 @@ fi - # so do we; recent versions of dracut and initramfs-tools will obey this. - debhookdir=${KDEB_HOOKDIR:-/etc/kernel} - if grep -q '^CONFIG_BLK_DEV_INITRD=y' $KCONFIG_CONFIG; then -- want_initrd=Yes -+ want_initrd=Yes - else - want_initrd=No - fi -@@ -207,9 +238,11 @@ for script in postinst postrm preinst prerm ; do +@@ -209,9 +240,11 @@ for script in postinst postrm preinst prerm ; do set -e # Pass maintainer script parameters to hook scripts @@ -93,7 +84,7 @@ index 6c3b038..cc9b3c0 100755 export INITRD=$want_initrd test -d $debhookdir/$script.d && run-parts --arg="$version" --arg="/$installed_image_path" $debhookdir/$script.d -@@ -218,6 +251,55 @@ EOF +@@ -220,6 +253,55 @@ EOF chmod 755 "$tmpdir/DEBIAN/$script" done @@ -102,7 +93,7 @@ index 6c3b038..cc9b3c0 100755 +## +sed -e "s/set -e//g" -i $tmpdir/DEBIAN/postinst +sed -e "s/exit 0//g" -i $tmpdir/DEBIAN/postinst -+cat >> $tmpdir/DEBIAN/postinst <> $tmpdir/DEBIAN/postinst < /dev/null 2>&1 +cp /boot/uImage /tmp/uImage @@ -121,7 +112,7 @@ index 6c3b038..cc9b3c0 100755 +## +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 <> $tmpdir/DEBIAN/preinst ++echo "exit 0" >> $tmpdir/DEBIAN/preinst + # Try to determine maintainer and email values if [ -n "$DEBEMAIL" ]; then email=$DEBEMAIL -@@ -328,16 +414,24 @@ fi - (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles" +@@ -296,7 +378,7 @@ if [ "$ARCH" = "um" ]; then + cat <> debian/control + + Package: $packagename +-Provides: linux-image, linux-image-2.6, linux-modules-$version ++Provides: linux-image-$version, linux-modules-$version + Architecture: any + Description: User Mode Linux kernel, version $version + User-mode Linux is a port of the Linux kernel to its own system call +@@ -313,7 +395,7 @@ else + cat <> debian/control + + Package: $packagename +-Provides: linux-image, linux-image-2.6, linux-modules-$version ++Provides: linux-image-$version, linux-modules-$version + Suggests: $fwpackagename + Architecture: any + Description: Linux kernel, version $version +@@ -337,16 +419,24 @@ if grep -q '^CONFIG_GCC_PLUGINS=y' $KCONFIG_CONFIG ; then + fi destdir=$kernel_headers_dir/usr/src/linux-headers-$version mkdir -p "$destdir" +######################## headers patch @@ -175,7 +184,7 @@ index 6c3b038..cc9b3c0 100755 Architecture: any Description: Linux kernel headers for $KERNELRELEASE on \${kernel:debarch} This package provides kernel header files for $KERNELRELEASE on \${kernel:debarch} -@@ -363,6 +457,16 @@ fi +@@ -372,6 +462,16 @@ fi cat <> debian/control @@ -192,7 +201,7 @@ index 6c3b038..cc9b3c0 100755 Package: $libc_headers_packagename Section: devel Provides: linux-kernel-headers -@@ -374,7 +478,7 @@ EOF +@@ -383,7 +483,7 @@ EOF if [ "$ARCH" != "um" ]; then create_package "$kernel_headers_packagename" "$kernel_headers_dir" diff --git a/patch/kernel/sun8i-dev/patch-for-rtl8189fs-sun8i-h3-orangepi-one-dts.patch b/patch/kernel/sun8i-dev/patch-for-rtl8189fs-sun8i-h3-orangepi-one-dts.patch deleted file mode 100644 index 291fddd22e..0000000000 --- a/patch/kernel/sun8i-dev/patch-for-rtl8189fs-sun8i-h3-orangepi-one-dts.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -index b5acc1c..d501396 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-one.dts -@@ -105,6 +105,13 @@ - startup-delay-us = <100000>; - enable-active-high; - }; -+ -+ wifi_pwrseq: wifi_pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&wifi_pwrseq_pin_orangepi>; -+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 WIFI_EN */ -+ }; - }; - - &cpu0 { -@@ -162,6 +169,16 @@ - status = "okay"; - }; - -+&mmc1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc1_pins_a>; -+ vmmc-supply = <®_vcc3v3>; -+ mmc-pwrseq = <&wifi_pwrseq>; -+ bus-width = <4>; -+ non-removable; -+ status = "okay"; -+}; -+ - &ohci1 { - status = "okay"; - }; -@@ -258,6 +292,13 @@ - allwinner,drive = ; - allwinner,pull = ; - }; -+ -+ wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin@0 { -+ allwinner,pins = "PL7"; -+ allwinner,function = "gpio_out"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; - }; - - &uart0 { diff --git a/patch/kernel/sun8i-dev/patch-for-rtl8189fs-sun8i-h3-orangepi-pc-dts.patch b/patch/kernel/sun8i-dev/patch-for-rtl8189fs-sun8i-h3-orangepi-pc-dts.patch deleted file mode 100644 index e5784a4635..0000000000 --- a/patch/kernel/sun8i-dev/patch-for-rtl8189fs-sun8i-h3-orangepi-pc-dts.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff --git a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -index 32f35f1..0691045 100644 ---- a/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -+++ b/arch/arm/boot/dts/sun8i-h3-orangepi-pc.dts -@@ -88,6 +88,14 @@ - gpios = <&r_pio 0 3 GPIO_ACTIVE_LOW>; - }; - }; -+ -+ wifi_pwrseq: wifi_pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ pinctrl-names = "default"; -+ pinctrl-0 = <&wifi_pwrseq_pin_orangepi>; -+ reset-gpios = <&r_pio 0 7 GPIO_ACTIVE_LOW>; /* PL7 WIFI_EN */ -+ }; -+ - }; - - &cpu0 { -@@ -174,6 +200,16 @@ - status = "okay"; - }; - -+&mmc1 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&mmc1_pins_a>; -+ vmmc-supply = <®_vcc3v3>; -+ mmc-pwrseq = <&wifi_pwrseq>; -+ bus-width = <4>; -+ non-removable; -+ status = "okay"; -+}; -+ - &ohci1 { - status = "okay"; - }; -@@ -270,6 +297,13 @@ - allwinner,drive = ; - allwinner,pull = ; - }; -+ -+ wifi_pwrseq_pin_orangepi: wifi_pwrseq_pin@0 { -+ allwinner,pins = "PL7"; -+ allwinner,function = "gpio_out"; -+ allwinner,drive = ; -+ allwinner,pull = ; -+ }; - }; - - ®_usb0_vbus { diff --git a/patch/kernel/sun8i-dev/spi-sun6i-allow-large-transfers.patch b/patch/kernel/sun8i-dev/spi-sun6i-allow-large-transfers.patch index 7747b74c8c..5416257ed2 100644 --- a/patch/kernel/sun8i-dev/spi-sun6i-allow-large-transfers.patch +++ b/patch/kernel/sun8i-dev/spi-sun6i-allow-large-transfers.patch @@ -1,24 +1,8 @@ diff --git a/drivers/spi/spi-sun6i.c b/drivers/spi/spi-sun6i.c -index 9918a57..64be5aa 100644 +index e3114832..d00e2196 100644 --- a/drivers/spi/spi-sun6i.c +++ b/drivers/spi/spi-sun6i.c -@@ -17,6 +17,7 @@ - #include - #include - #include -+#include - #include - #include - #include -@@ -24,6 +25,7 @@ - #include - - #define SUN6I_FIFO_DEPTH 128 -+#define SUN8I_FIFO_DEPTH 64 - - #define SUN6I_GBL_CTL_REG 0x04 - #define SUN6I_GBL_CTL_BUS_ENABLE BIT(0) -@@ -44,6 +46,8 @@ +@@ -46,9 +46,13 @@ #define SUN6I_TFR_CTL_XCH BIT(31) #define SUN6I_INT_CTL_REG 0x10 @@ -27,12 +11,14 @@ index 9918a57..64be5aa 100644 #define SUN6I_INT_CTL_RF_OVF BIT(8) #define SUN6I_INT_CTL_TC BIT(12) -@@ -66,11 +70,13 @@ - #define SUN6I_CLK_CTL_CDR1(div) (((div) & SUN6I_CLK_CTL_CDR1_MASK) << 8) - #define SUN6I_CLK_CTL_DRS BIT(12) - +#define SUN6I_MAX_XFER_SIZE 0xffffff + + #define SUN6I_INT_STA_REG 0x14 + + #define SUN6I_FIFO_CTL_REG 0x18 +@@ -69,10 +73,10 @@ + #define SUN6I_CLK_CTL_DRS BIT(12) + #define SUN6I_BURST_CNT_REG 0x30 -#define SUN6I_BURST_CNT(cnt) ((cnt) & 0xffffff) +#define SUN6I_BURST_CNT(cnt) ((cnt) & SUN6I_MAX_XFER_SIZE) @@ -43,15 +29,7 @@ index 9918a57..64be5aa 100644 #define SUN6I_BURST_CTL_CNT_REG 0x38 #define SUN6I_BURST_CTL_CNT_STC(cnt) ((cnt) & 0xffffff) -@@ -90,6 +96,7 @@ struct sun6i_spi { - const u8 *tx_buf; - u8 *rx_buf; - int len; -+ unsigned long fifo_depth; - }; - - static inline u32 sun6i_spi_read(struct sun6i_spi *sspi, u32 reg) -@@ -102,6 +109,31 @@ static inline void sun6i_spi_write(struct sun6i_spi *sspi, u32 reg, u32 value) +@@ -105,6 +109,31 @@ static inline void sun6i_spi_write(struct sun6i_spi *sspi, u32 reg, u32 value) writel(value, sspi->base_addr + reg); } @@ -83,7 +61,7 @@ index 9918a57..64be5aa 100644 static inline void sun6i_spi_drain_fifo(struct sun6i_spi *sspi, int len) { u32 reg, cnt; -@@ -124,10 +156,13 @@ static inline void sun6i_spi_drain_fifo(struct sun6i_spi *sspi, int len) +@@ -127,10 +156,13 @@ static inline void sun6i_spi_drain_fifo(struct sun6i_spi *sspi, int len) static inline void sun6i_spi_fill_fifo(struct sun6i_spi *sspi, int len) { @@ -99,31 +77,28 @@ index 9918a57..64be5aa 100644 while (len--) { byte = sspi->tx_buf ? *sspi->tx_buf++ : 0; -@@ -155,7 +190,7 @@ static void sun6i_spi_set_cs(struct spi_device *spi, bool enable) +@@ -158,9 +190,7 @@ static void sun6i_spi_set_cs(struct spi_device *spi, bool enable) static size_t sun6i_spi_max_transfer_size(struct spi_device *spi) { -- return SUN6I_FIFO_DEPTH - 1; +- struct sun6i_spi *sspi = spi_master_get_devdata(spi->master); +- +- return sspi->fifo_depth - 1; + return SUN6I_MAX_XFER_SIZE - 1; } static int sun6i_spi_transfer_one(struct spi_master *master, -@@ -169,8 +204,7 @@ static int sun6i_spi_transfer_one(struct spi_master *master, - int ret = 0; +@@ -175,7 +205,7 @@ static int sun6i_spi_transfer_one(struct spi_master *master, u32 reg; -- /* We don't support transfer larger than the FIFO */ -- if (tfr->len > SUN6I_FIFO_DEPTH) + /* We don't support transfer larger than the FIFO */ +- if (tfr->len > sspi->fifo_depth) + if (tfr->len > SUN6I_MAX_XFER_SIZE) return -EINVAL; reinit_completion(&sspi->done); -@@ -265,10 +299,16 @@ static int sun6i_spi_transfer_one(struct spi_master *master, - SUN6I_BURST_CTL_CNT_STC(tx_len)); - - /* Fill the TX FIFO */ -- sun6i_spi_fill_fifo(sspi, SUN6I_FIFO_DEPTH); -+ sun6i_spi_fill_fifo(sspi, sspi->fifo_depth); +@@ -273,7 +303,13 @@ static int sun6i_spi_transfer_one(struct spi_master *master, + sun6i_spi_fill_fifo(sspi, sspi->fifo_depth); /* Enable the interrupts */ - sun6i_spi_write(sspi, SUN6I_INT_CTL_REG, SUN6I_INT_CTL_TC); @@ -137,16 +112,16 @@ index 9918a57..64be5aa 100644 /* Start the transfer */ reg = sun6i_spi_read(sspi, SUN6I_TFR_CTL_REG); -@@ -288,8 +328,6 @@ static int sun6i_spi_transfer_one(struct spi_master *master, +@@ -293,8 +329,6 @@ static int sun6i_spi_transfer_one(struct spi_master *master, goto out; } -- sun6i_spi_drain_fifo(sspi, SUN6I_FIFO_DEPTH); +- sun6i_spi_drain_fifo(sspi, sspi->fifo_depth); - out: sun6i_spi_write(sspi, SUN6I_INT_CTL_REG, 0); -@@ -304,10 +342,33 @@ static irqreturn_t sun6i_spi_handler(int irq, void *dev_id) +@@ -309,10 +343,33 @@ static irqreturn_t sun6i_spi_handler(int irq, void *dev_id) /* Transfer complete */ if (status & SUN6I_INT_CTL_TC) { sun6i_spi_write(sspi, SUN6I_INT_STA_REG, SUN6I_INT_CTL_TC); @@ -180,22 +155,3 @@ index 9918a57..64be5aa 100644 return IRQ_NONE; } -@@ -398,6 +459,8 @@ static int sun6i_spi_probe(struct platform_device *pdev) - } - - sspi->master = master; -+ sspi->fifo_depth = (unsigned long)of_device_get_match_data(&pdev->dev); -+ - master->max_speed_hz = 100 * 1000 * 1000; - master->min_speed_hz = 3 * 1000; - master->set_cs = sun6i_spi_set_cs; -@@ -470,7 +533,8 @@ static int sun6i_spi_remove(struct platform_device *pdev) - } - - static const struct of_device_id sun6i_spi_match[] = { -- { .compatible = "allwinner,sun6i-a31-spi", }, -+ { .compatible = "allwinner,sun6i-a31-spi", .data = (void *)SUN6I_FIFO_DEPTH }, -+ { .compatible = "allwinner,sun8i-h3-spi", .data = (void *)SUN8I_FIFO_DEPTH }, - {} - }; - MODULE_DEVICE_TABLE(of, sun6i_spi_match); diff --git a/patch/kernel/sun8i-dev/xpackaging-4.x-DEV-cosmetics.patch b/patch/kernel/sun8i-dev/xpackaging-4.x-DEV-cosmetics.patch deleted file mode 100644 index 9f0c9ad118..0000000000 --- a/patch/kernel/sun8i-dev/xpackaging-4.x-DEV-cosmetics.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/scripts/package/builddeb b/scripts/package/builddeb -index 86dc3f8..bc908b3 100755 ---- a/scripts/package/builddeb -+++ b/scripts/package/builddeb -@@ -375,7 +375,7 @@ if [ "$ARCH" = "um" ]; then - cat <> debian/control - - Package: $packagename --Provides: linux-image, linux-image-2.6, linux-modules-$version -+Provides: linux-image-$version, linux-modules-$version - Architecture: any - Description: User Mode Linux kernel, version $version - User-mode Linux is a port of the Linux kernel to its own system call -@@ -392,7 +392,7 @@ else - cat <> debian/control - - Package: $packagename --Provides: linux-image, linux-image-2.6, linux-modules-$version -+Provides: linux-image-$version, linux-modules-$version - Suggests: $fwpackagename - Architecture: any - Description: Linux kernel, version $version