]> git.sur5r.net Git - u-boot/blobdiff - arch/arm/mach-sunxi/Kconfig
dm: sunxi: Use DM for MMC and SATA on all A10 boards
[u-boot] / arch / arm / mach-sunxi / Kconfig
index 2cd7bae078b896c0dec41d750b7f34153b23ad56..678e33dd40e8bb6501960fd47a9d4546562cbb67 100644 (file)
@@ -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