# The Mele I7 is a Allwinner based Android TV box.
#
# It features a A31 SOC, 1G RAM, 8GB NAND, HDMI out, A/V out,
# SPDIF, IrDA, 3 USB A, 1 USB micro OTG and Wireless LAN.
#
# For more details see: http://linux-sunxi.org/Mele_I7
CONFIG_SPL=y
CONFIG_SYS_EXTRA_OPTIONS="USB_EHCI,SUNXI_GMAC"
CONFIG_DEFAULT_DEVICE_TREE="sun6i-a31-i7"
CONFIG_ARM=y
CONFIG_ARCH_SUNXI=y
CONFIG_MACH_SUN6I=y
CONFIG_DRAM_CLK=312
CONFIG_DRAM_ZQ=120
# The Mele I7 uses 3.3V for general IO
CONFIG_AXP221_DCDC1_VOLT=3300
# Ethernet phy power
CONFIG_AXP221_DLDO1_VOLT=3300
# USB hub power
CONFIG_AXP221_DLDO4_VOLT=3300
# Wifi power
CONFIG_AXP221_ALDO1_VOLT=3300
# Vbus gpio for usb1
CONFIG_USB1_VBUS_PIN="PC27"
# No Vbus gpio for usb2
CONFIG_USB2_VBUS_PIN=""
CONFIG_ETH_DESIGNWARE=y
CONFIG_NETDEVICES=y
CONFIG_NET=y
