I took a stab at this, there are many more options to decide on than mentioned here. I enabled these as modules when possible, and generally took the default for the rest. Please look over the options below and let me know if they look reasonable.
Regarding CONFIG_PHY_SUN4I_USB, you've indicated that it should be =y but it is also available as a module. Is there any reason it cannot be =m instead?
Note that this is with a 4.12-based kernel.
CONFIG_ARCH_SUNXI=y
CONFIG_AHCI_SUNXI=m
CONFIG_DMA_SUN6I=m
CONFIG_DWMAC_SUNXI=m
CONFIG_IR_SUNXI=m
CONFIG_KEYBOARD_SUN4I_LRADC=m
CONFIG_MDIO_SUN4I=m
CONFIG_MFD_AC100=m
CONFIG_MFD_AXP20X_RSB=m
CONFIG_MFD_SUN4I_GPADC=m
CONFIG_MFD_SUN6I_PRCM=y
CONFIG_MMC_SUNXI=m
CONFIG_MTD_NAND_SUNXI=m
CONFIG_NET_VENDOR_ALLWINNER=y
CONFIG_NVMEM_SUNXI_SID=m
CONFIG_PHY_SUN4I_USB=m
CONFIG_PHY_SUN9I_USB=m
# CONFIG_PINCTRL_SUN4I_A10 is not set
CONFIG_PINCTRL_SUN50I_A64=y
CONFIG_PINCTRL_SUN50I_A64_R=y
CONFIG_PINCTRL_SUN50I_H5=y
# CONFIG_PINCTRL_SUN5I is not set
# CONFIG_PINCTRL_SUN6I_A31 is not set
# CONFIG_PINCTRL_SUN6I_A31_R is not set
# CONFIG_PINCTRL_SUN7I_A20 is not set
# CONFIG_PINCTRL_SUN8I_A23 is not set
# CONFIG_PINCTRL_SUN8I_A23_R is not set
# CONFIG_PINCTRL_SUN8I_A33 is not set
# CONFIG_PINCTRL_SUN8I_A83T is not set
# CONFIG_PINCTRL_SUN8I_H3 is not set
CONFIG_PINCTRL_SUN8I_H3_R=y
# CONFIG_PINCTRL_SUN8I_V3S is not set
# CONFIG_PINCTRL_SUN9I_A80 is not set
# CONFIG_PINCTRL_SUN9I_A80_R is not set
CONFIG_PINCTRL_SUNXI=y
CONFIG_PWM_SUN4I=m
CONFIG_RESET_SUNXI=y
CONFIG_RTC_DRV_AC100=m
CONFIG_RTC_DRV_SUN6I=y
CONFIG_SERIO_SUN4I_PS2=m
CONFIG_SND_SUN4I_CODEC=m
CONFIG_SND_SUN4I_I2S=m
CONFIG_SND_SUN4I_SPDIF=m
CONFIG_SND_SUN8I_CODEC_ANALOG=m
CONFIG_SPI_SUN4I=m
CONFIG_SPI_SUN6I=m
CONFIG_SUN4I_EMAC=m
CONFIG_SUN4I_GPADC=m
CONFIG_SUN50I_A64_CCU=y
# CONFIG_SUN8I_H3_CCU is not set
CONFIG_SUN8I_R_CCU=y
CONFIG_SUNXI_CCU=y
CONFIG_SUNXI_CCU_DIV=y
CONFIG_SUNXI_CCU_FRAC=y
CONFIG_SUNXI_CCU_GATE=y
CONFIG_SUNXI_CCU_MP=y
CONFIG_SUNXI_CCU_MUX=y
CONFIG_SUNXI_CCU_NK=y
CONFIG_SUNXI_CCU_NKM=y
CONFIG_SUNXI_CCU_NKMP=y
CONFIG_SUNXI_CCU_NM=y
CONFIG_SUNXI_CCU_PHASE=y
CONFIG_SUNXI_RSB=m
CONFIG_SUNXI_SRAM=y
CONFIG_SUNXI_WATCHDOG=m
CONFIG_TOUCHSCREEN_SUN4I=m
CONFIG_USB_MUSB_SUNXI=m
I took a stab at this, there are many more options to decide on than mentioned here. I enabled these as modules when possible, and generally took the default for the rest. Please look over the options below and let me know if they look reasonable.
Regarding CONFIG_ PHY_SUN4I_ USB, you've indicated that it should be =y but it is also available as a module. Is there any reason it cannot be =m instead?
Note that this is with a 4.12-based kernel.
CONFIG_ARCH_SUNXI=y DWMAC_SUNXI= m KEYBOARD_ SUN4I_LRADC= m MFD_AXP20X_ RSB=m MFD_SUN4I_ GPADC=m MFD_SUN6I_ PRCM=y MTD_NAND_ SUNXI=m NET_VENDOR_ ALLWINNER= y NVMEM_SUNXI_ SID=m PHY_SUN4I_ USB=m PHY_SUN9I_ USB=m PINCTRL_ SUN4I_A10 is not set PINCTRL_ SUN50I_ A64=y PINCTRL_ SUN50I_ A64_R=y PINCTRL_ SUN50I_ H5=y PINCTRL_ SUN5I is not set PINCTRL_ SUN6I_A31 is not set PINCTRL_ SUN6I_A31_ R is not set PINCTRL_ SUN7I_A20 is not set PINCTRL_ SUN8I_A23 is not set PINCTRL_ SUN8I_A23_ R is not set PINCTRL_ SUN8I_A33 is not set PINCTRL_ SUN8I_A83T is not set PINCTRL_ SUN8I_H3 is not set PINCTRL_ SUN8I_H3_ R=y PINCTRL_ SUN8I_V3S is not set PINCTRL_ SUN9I_A80 is not set PINCTRL_ SUN9I_A80_ R is not set PINCTRL_ SUNXI=y RESET_SUNXI= y RTC_DRV_ AC100=m RTC_DRV_ SUN6I=y SERIO_SUN4I_ PS2=m SND_SUN4I_ CODEC=m SND_SUN4I_ I2S=m SND_SUN4I_ SPDIF=m SND_SUN8I_ CODEC_ANALOG= m SUN4I_GPADC= m SUN50I_ A64_CCU= y SUN8I_R_ CCU=y SUNXI_CCU_ DIV=y SUNXI_CCU_ FRAC=y SUNXI_CCU_ GATE=y SUNXI_CCU_ MP=y SUNXI_CCU_ MUX=y SUNXI_CCU_ NK=y SUNXI_CCU_ NKM=y SUNXI_CCU_ NKMP=y SUNXI_CCU_ NM=y SUNXI_CCU_ PHASE=y SUNXI_WATCHDOG= m TOUCHSCREEN_ SUN4I=m USB_MUSB_ SUNXI=m
CONFIG_AHCI_SUNXI=m
CONFIG_DMA_SUN6I=m
CONFIG_
CONFIG_IR_SUNXI=m
CONFIG_
CONFIG_MDIO_SUN4I=m
CONFIG_MFD_AC100=m
CONFIG_
CONFIG_
CONFIG_
CONFIG_MMC_SUNXI=m
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
# CONFIG_
CONFIG_
CONFIG_
CONFIG_
# CONFIG_
# CONFIG_
# CONFIG_
# CONFIG_
# CONFIG_
# CONFIG_
# CONFIG_
# CONFIG_
# CONFIG_
CONFIG_
# CONFIG_
# CONFIG_
# CONFIG_
CONFIG_
CONFIG_PWM_SUN4I=m
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_SPI_SUN4I=m
CONFIG_SPI_SUN6I=m
CONFIG_SUN4I_EMAC=m
CONFIG_
CONFIG_
# CONFIG_SUN8I_H3_CCU is not set
CONFIG_
CONFIG_SUNXI_CCU=y
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_
CONFIG_SUNXI_RSB=m
CONFIG_SUNXI_SRAM=y
CONFIG_
CONFIG_
CONFIG_