X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=arch%2Farm%2Fmach-sunxi%2FKconfig;h=678e33dd40e8bb6501960fd47a9d4546562cbb67;hb=df63fcc06ff4b772a4c2311e4ad74a996f9b32ea;hp=2cd7bae078b896c0dec41d750b7f34153b23ad56;hpb=5619295995e3262bb5770e8b5e945ffdc5442145;p=u-boot diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig index 2cd7bae078..678e33dd40 100644 --- a/arch/arm/mach-sunxi/Kconfig +++ b/arch/arm/mach-sunxi/Kconfig @@ -6,6 +6,73 @@ config SPL_LDSCRIPT config IDENT_STRING default " Allwinner Technology" +config DRAM_SUN4I + bool + help + Select this dram controller driver for Sun4/5/7i platforms, + like A10/A13/A20. + +config DRAM_SUN6I + bool + help + Select this dram controller driver for Sun6i platforms, + like A31/A31s. + +config DRAM_SUN8I_A23 + bool + help + Select this dram controller driver for Sun8i platforms, + for A23 SOC. + +config DRAM_SUN8I_A33 + bool + help + Select this dram controller driver for Sun8i platforms, + for A33 SOC. + +config DRAM_SUN8I_A83T + bool + help + Select this dram controller driver for Sun8i platforms, + for A83T SOC. + +config DRAM_SUN9I + bool + help + Select this dram controller driver for Sun9i platforms, + like A80. + +config SUN6I_P2WI + bool "Allwinner sun6i internal P2WI controller" + help + If you say yes to this option, support will be included for the + P2WI (Push/Pull 2 Wire Interface) controller embedded in some sunxi + SOCs. + The P2WI looks like an SMBus controller (which supports only byte + accesses), except that it only supports one slave device. + This interface is used to connect to specific PMIC devices (like the + AXP221). + +config SUN6I_PRCM + bool + help + Support for the PRCM (Power/Reset/Clock Management) unit available + in A31 SoC. + +config AXP_PMIC_BUS + bool "Sunxi AXP PMIC bus access helpers" + help + Select this PMIC bus access helpers for Sunxi platform PRCM or other + AXP family PMIC devices. + +config SUN8I_RSB + bool "Allwinner sunXi Reduced Serial Bus Driver" + help + Say y here to enable support for Allwinner's Reduced Serial Bus + (RSB) support. This controller is responsible for communicating + with various RSB based devices, such as AXP223, AXP8XX PMICs, + and AC100/AC200 ICs. + config SUNXI_HIGH_SRAM bool default n @@ -17,6 +84,9 @@ config SUNXI_HIGH_SRAM Chips using the latter setup are supposed to select this option to adjust the addresses accordingly. +config SUNXI_A64_TIMER_ERRATUM + bool + # Note only one of these may be selected at a time! But hidden choices are # not supported by Kconfig config SUNXI_GEN_SUN4I @@ -57,6 +127,7 @@ endif config MACH_SUNXI_H3_H5 bool select DM_I2C + select PHY_SUN4I_USB select SUNXI_DE2 select SUNXI_DRAM_DW select SUNXI_DRAM_DW_32BIT @@ -69,67 +140,89 @@ choice config MACH_SUN4I bool "sun4i (Allwinner A10)" - select CPU_V7 + select CPU_V7A select ARM_CORTEX_CPU_IS_UP + select DM_MMC if MMC + select DM_SCSI if SCSI + select PHY_SUN4I_USB + select DRAM_SUN4I select SUNXI_GEN_SUN4I select SUPPORT_SPL config MACH_SUN5I bool "sun5i (Allwinner A13)" - select CPU_V7 + select CPU_V7A select ARM_CORTEX_CPU_IS_UP + select DRAM_SUN4I + select PHY_SUN4I_USB select SUNXI_GEN_SUN4I select SUPPORT_SPL + imply CONS_INDEX_2 if !DM_SERIAL config MACH_SUN6I bool "sun6i (Allwinner A31)" - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI + select DRAM_SUN6I + select PHY_SUN4I_USB + select SUN6I_P2WI + select SUN6I_PRCM select SUNXI_GEN_SUN6I select SUPPORT_SPL select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT config MACH_SUN7I bool "sun7i (Allwinner A20)" - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI + select DRAM_SUN4I + select PHY_SUN4I_USB select SUNXI_GEN_SUN4I select SUPPORT_SPL select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT config MACH_SUN8I_A23 bool "sun8i (Allwinner A23)" - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI + select DRAM_SUN8I_A23 + select PHY_SUN4I_USB select SUNXI_GEN_SUN6I select SUPPORT_SPL select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT + imply CONS_INDEX_5 if !DM_SERIAL config MACH_SUN8I_A33 bool "sun8i (Allwinner A33)" - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI + select DRAM_SUN8I_A33 + select PHY_SUN4I_USB select SUNXI_GEN_SUN6I select SUPPORT_SPL select ARMV7_BOOT_SEC_DEFAULT if OLD_SUNXI_KERNEL_COMPAT + imply CONS_INDEX_5 if !DM_SERIAL config MACH_SUN8I_A83T bool "sun8i (Allwinner A83T)" - select CPU_V7 + select CPU_V7A + select DRAM_SUN8I_A83T + select PHY_SUN4I_USB select SUNXI_GEN_SUN6I + select MMC_SUNXI_HAS_NEW_MODE select SUPPORT_SPL config MACH_SUN8I_H3 bool "sun8i (Allwinner H3)" - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI @@ -138,7 +231,7 @@ config MACH_SUN8I_H3 config MACH_SUN8I_R40 bool "sun8i (Allwinner R40)" - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI @@ -149,7 +242,7 @@ config MACH_SUN8I_R40 config MACH_SUN8I_V3S bool "sun8i (Allwinner V3s)" - select CPU_V7 + select CPU_V7A select CPU_V7_HAS_NONSEC select CPU_V7_HAS_VIRT select ARCH_SUPPORT_PSCI @@ -161,15 +254,19 @@ config MACH_SUN8I_V3S config MACH_SUN9I bool "sun9i (Allwinner A80)" - select CPU_V7 + select CPU_V7A + select DRAM_SUN9I + select SUN6I_PRCM select SUNXI_HIGH_SRAM select SUNXI_GEN_SUN6I + select SUN8I_RSB select SUPPORT_SPL config MACH_SUN50I bool "sun50i (Allwinner A64)" select ARM64 select DM_I2C + select PHY_SUN4I_USB select SUNXI_DE2 select SUNXI_GEN_SUN6I select SUNXI_HIGH_SRAM @@ -178,6 +275,7 @@ config MACH_SUN50I select SUNXI_DRAM_DW_32BIT select FIT select SPL_LOAD_FIT + select SUNXI_A64_TIMER_ERRATUM config MACH_SUN50I_H5 bool "sun50i (Allwinner H5)" @@ -192,6 +290,8 @@ endchoice # The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33" config MACH_SUN8I bool + select SUN8I_RSB + select SUN6I_PRCM default y if MACH_SUN8I_A23 default y if MACH_SUN8I_A33 default y if MACH_SUN8I_A83T @@ -396,9 +496,9 @@ config SYS_CLK_FREQ default 1008000000 if MACH_SUN5I default 1008000000 if MACH_SUN6I default 912000000 if MACH_SUN7I + default 816000000 if MACH_SUN50I || MACH_SUN50I_H5 default 1008000000 if MACH_SUN8I default 1008000000 if MACH_SUN9I - default 816000000 if MACH_SUN50I config SYS_CONFIG_NAME default "sun4i" if MACH_SUN4I @@ -605,7 +705,7 @@ config AXP_GPIO ---help--- Say Y here to enable support for the gpio pins of the axp PMIC ICs. -config VIDEO +config VIDEO_SUNXI bool "Enable graphical uboot console on HDMI, LCD or VGA" depends on !MACH_SUN8I_A83T depends on !MACH_SUNXI_H3_H5 @@ -613,6 +713,8 @@ config VIDEO depends on !MACH_SUN8I_V3S depends on !MACH_SUN9I depends on !MACH_SUN50I + select VIDEO + imply VIDEO_DT_SIMPLEFB default y ---help--- Say Y here to add support for using a cfb console on the HDMI, LCD @@ -621,21 +723,21 @@ config VIDEO config VIDEO_HDMI bool "HDMI output support" - depends on VIDEO && !MACH_SUN8I + depends on VIDEO_SUNXI && !MACH_SUN8I default y ---help--- Say Y here to add support for outputting video over HDMI. config VIDEO_VGA bool "VGA output support" - depends on VIDEO && (MACH_SUN4I || MACH_SUN7I) + depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN7I) default n ---help--- Say Y here to add support for outputting video over VGA. config VIDEO_VGA_VIA_LCD bool "VGA via LCD controller support" - depends on VIDEO && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I) + depends on VIDEO_SUNXI && (MACH_SUN5I || MACH_SUN6I || MACH_SUN8I) default n ---help--- Say Y here to add support for external DACs connected to the parallel @@ -662,14 +764,14 @@ config VIDEO_VGA_EXTERNAL_DAC_EN config VIDEO_COMPOSITE bool "Composite video output support" - depends on VIDEO && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I) + depends on VIDEO_SUNXI && (MACH_SUN4I || MACH_SUN5I || MACH_SUN7I) default n ---help--- Say Y here to add support for outputting composite video. config VIDEO_LCD_MODE string "LCD panel timing details" - depends on VIDEO + depends on VIDEO_SUNXI default "" ---help--- LCD panel timing details string, leave empty if there is no LCD panel. @@ -679,14 +781,14 @@ config VIDEO_LCD_MODE config VIDEO_LCD_DCLK_PHASE int "LCD panel display clock phase" - depends on VIDEO + depends on VIDEO_SUNXI || DM_VIDEO default 1 ---help--- Select LCD panel display clock phase shift, range 0-3. config VIDEO_LCD_POWER string "LCD panel power enable pin" - depends on VIDEO + depends on VIDEO_SUNXI default "" ---help--- Set the power enable pin for the LCD panel. This takes a string in the @@ -694,7 +796,7 @@ config VIDEO_LCD_POWER config VIDEO_LCD_RESET string "LCD panel reset pin" - depends on VIDEO + depends on VIDEO_SUNXI default "" ---help--- Set the reset pin for the LCD panel. This takes a string in the format @@ -702,7 +804,7 @@ config VIDEO_LCD_RESET config VIDEO_LCD_BL_EN string "LCD panel backlight enable pin" - depends on VIDEO + depends on VIDEO_SUNXI default "" ---help--- Set the backlight enable pin for the LCD panel. This takes a string in the @@ -711,7 +813,7 @@ config VIDEO_LCD_BL_EN config VIDEO_LCD_BL_PWM string "LCD panel backlight pwm pin" - depends on VIDEO + depends on VIDEO_SUNXI default "" ---help--- Set the backlight pwm pin for the LCD panel. This takes a string in the @@ -719,14 +821,14 @@ config VIDEO_LCD_BL_PWM config VIDEO_LCD_BL_PWM_ACTIVE_LOW bool "LCD panel backlight pwm is inverted" - depends on VIDEO + depends on VIDEO_SUNXI default y ---help--- Set this if the backlight pwm output is active low. config VIDEO_LCD_PANEL_I2C bool "LCD panel needs to be configured via i2c" - depends on VIDEO + depends on VIDEO_SUNXI default n select CMD_I2C ---help--- @@ -767,6 +869,7 @@ config VIDEO_DE2 depends on SUNXI_DE2 select DM_VIDEO select DISPLAY + imply VIDEO_DT_SIMPLEFB default y ---help--- Say y here if you want to build DE2 video driver which is present on @@ -775,7 +878,7 @@ config VIDEO_DE2 choice prompt "LCD panel support" - depends on VIDEO + depends on VIDEO_SUNXI ---help--- Select which type of LCD panel to support. @@ -843,4 +946,12 @@ config SPL_STACK_R_ADDR default 0x2fe00000 if MACH_SUN9I default 0x4fe00000 if MACH_SUN50I +config SPL_SPI_SUNXI + bool "Support for SPI Flash on Allwinner SoCs in SPL" + depends on MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || MACH_SUNXI_H3_H5 || MACH_SUN50I + help + Enable support for SPI Flash. This option allows SPL to read from + sunxi SPI Flash. It uses the same method as the boot ROM, so does + not need any extra configuration. + endif