sunxi: Add basic H3 support
Add initial sun8i H3 support, only uart + mmc are supported for now. Signed-off-by: Jens Kuske <jenskuske@gmail.com> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
6047a3a9c9
commit
1c27b7dcd0
|
@ -72,6 +72,10 @@ static int gpio_init(void)
|
||||||
sunxi_gpio_set_cfgpin(SUNXI_GPB(0), SUN8I_A33_GPB_UART0);
|
sunxi_gpio_set_cfgpin(SUNXI_GPB(0), SUN8I_A33_GPB_UART0);
|
||||||
sunxi_gpio_set_cfgpin(SUNXI_GPB(1), SUN8I_A33_GPB_UART0);
|
sunxi_gpio_set_cfgpin(SUNXI_GPB(1), SUN8I_A33_GPB_UART0);
|
||||||
sunxi_gpio_set_pull(SUNXI_GPB(1), SUNXI_GPIO_PULL_UP);
|
sunxi_gpio_set_pull(SUNXI_GPB(1), SUNXI_GPIO_PULL_UP);
|
||||||
|
#elif CONFIG_CONS_INDEX == 1 && defined(CONFIG_MACH_SUN8I_H3)
|
||||||
|
sunxi_gpio_set_cfgpin(SUNXI_GPA(4), SUN8I_H3_GPA_UART0);
|
||||||
|
sunxi_gpio_set_cfgpin(SUNXI_GPA(5), SUN8I_H3_GPA_UART0);
|
||||||
|
sunxi_gpio_set_pull(SUNXI_GPA(5), SUNXI_GPIO_PULL_UP);
|
||||||
#elif CONFIG_CONS_INDEX == 1 && defined(CONFIG_MACH_SUN9I)
|
#elif CONFIG_CONS_INDEX == 1 && defined(CONFIG_MACH_SUN9I)
|
||||||
sunxi_gpio_set_cfgpin(SUNXI_GPH(12), SUN9I_GPH_UART0);
|
sunxi_gpio_set_cfgpin(SUNXI_GPH(12), SUN9I_GPH_UART0);
|
||||||
sunxi_gpio_set_cfgpin(SUNXI_GPH(13), SUN9I_GPH_UART0);
|
sunxi_gpio_set_cfgpin(SUNXI_GPH(13), SUN9I_GPH_UART0);
|
||||||
|
|
|
@ -69,6 +69,8 @@ int print_cpuinfo(void)
|
||||||
puts("CPU: Allwinner A23 (SUN8I)\n");
|
puts("CPU: Allwinner A23 (SUN8I)\n");
|
||||||
#elif defined CONFIG_MACH_SUN8I_A33
|
#elif defined CONFIG_MACH_SUN8I_A33
|
||||||
puts("CPU: Allwinner A33 (SUN8I)\n");
|
puts("CPU: Allwinner A33 (SUN8I)\n");
|
||||||
|
#elif defined CONFIG_MACH_SUN8I_H3
|
||||||
|
puts("CPU: Allwinner H3 (SUN8I)\n");
|
||||||
#elif defined CONFIG_MACH_SUN9I
|
#elif defined CONFIG_MACH_SUN9I
|
||||||
puts("CPU: Allwinner A80 (SUN9I)\n");
|
puts("CPU: Allwinner A80 (SUN9I)\n");
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -147,6 +147,7 @@ enum sunxi_gpio_number {
|
||||||
#define SUN7I_GPA_GMAC 5
|
#define SUN7I_GPA_GMAC 5
|
||||||
#define SUN6I_GPA_SDC2 5
|
#define SUN6I_GPA_SDC2 5
|
||||||
#define SUN6I_GPA_SDC3 4
|
#define SUN6I_GPA_SDC3 4
|
||||||
|
#define SUN8I_H3_GPA_UART0 2
|
||||||
|
|
||||||
#define SUN4I_GPB_TWI0 2
|
#define SUN4I_GPB_TWI0 2
|
||||||
#define SUN4I_GPB_TWI1 2
|
#define SUN4I_GPB_TWI1 2
|
||||||
|
|
|
@ -68,6 +68,11 @@ config MACH_SUN8I_A33
|
||||||
select SUPPORT_SPL
|
select SUPPORT_SPL
|
||||||
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
|
select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT
|
||||||
|
|
||||||
|
config MACH_SUN8I_H3
|
||||||
|
bool "sun8i (Allwinner H3)"
|
||||||
|
select CPU_V7
|
||||||
|
select SUNXI_GEN_SUN6I
|
||||||
|
|
||||||
config MACH_SUN9I
|
config MACH_SUN9I
|
||||||
bool "sun9i (Allwinner A80)"
|
bool "sun9i (Allwinner A80)"
|
||||||
select CPU_V7
|
select CPU_V7
|
||||||
|
@ -78,7 +83,7 @@ endchoice
|
||||||
# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
|
# The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
|
||||||
config MACH_SUN8I
|
config MACH_SUN8I
|
||||||
bool
|
bool
|
||||||
default y if MACH_SUN8I_A23 || MACH_SUN8I_A33
|
default y if MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUN8I_H3
|
||||||
|
|
||||||
|
|
||||||
config DRAM_CLK
|
config DRAM_CLK
|
||||||
|
|
|
@ -8,7 +8,8 @@ choice
|
||||||
prompt "Select Sunxi PMIC Variant"
|
prompt "Select Sunxi PMIC Variant"
|
||||||
depends on ARCH_SUNXI
|
depends on ARCH_SUNXI
|
||||||
default AXP209_POWER if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
|
default AXP209_POWER if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I
|
||||||
default AXP221_POWER if MACH_SUN6I || MACH_SUN8I
|
default AXP221_POWER if MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33
|
||||||
|
default SUNXI_NO_PMIC if MACH_SUN8I_H3
|
||||||
|
|
||||||
config SUNXI_NO_PMIC
|
config SUNXI_NO_PMIC
|
||||||
boolean "board without a pmic"
|
boolean "board without a pmic"
|
||||||
|
@ -31,7 +32,7 @@ config AXP209_POWER
|
||||||
|
|
||||||
config AXP221_POWER
|
config AXP221_POWER
|
||||||
boolean "axp221 / axp223 pmic support"
|
boolean "axp221 / axp223 pmic support"
|
||||||
depends on MACH_SUN6I || MACH_SUN8I
|
depends on MACH_SUN6I || MACH_SUN8I_A23 || MACH_SUN8I_A33
|
||||||
---help---
|
---help---
|
||||||
Select this to enable support for the axp221/axp223 pmic found on most
|
Select this to enable support for the axp221/axp223 pmic found on most
|
||||||
A23 and A31 boards.
|
A23 and A31 boards.
|
||||||
|
|
|
@ -25,6 +25,8 @@
|
||||||
#define CONFIG_ARMV7_PSCI_NR_CPUS 2
|
#define CONFIG_ARMV7_PSCI_NR_CPUS 2
|
||||||
#elif defined(CONFIG_MACH_SUN8I_A33)
|
#elif defined(CONFIG_MACH_SUN8I_A33)
|
||||||
#define CONFIG_ARMV7_PSCI_NR_CPUS 4
|
#define CONFIG_ARMV7_PSCI_NR_CPUS 4
|
||||||
|
#elif defined(CONFIG_MACH_SUN8I_H3)
|
||||||
|
#define CONFIG_ARMV7_PSCI_NR_CPUS 4
|
||||||
#else
|
#else
|
||||||
#error Unsupported sun8i variant
|
#error Unsupported sun8i variant
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue