Merge branch '2019-05-28-master-imports'
[oweals/u-boot.git] / arch / arm / mach-sunxi / Kconfig
index 32a46797e26d12ce6924f604d21e856274424a8c..1669e62a6d2e3dea7974dd91f421a90e625f03a3 100644 (file)
@@ -82,6 +82,7 @@ config SUN8I_RSB
 config SUNXI_SRAM_ADDRESS
        hex
        default 0x10000 if MACH_SUN9I || MACH_SUN50I || MACH_SUN50I_H5
+       default 0x20000 if MACH_SUN50I_H6
        default 0x0
        ---help---
        Older Allwinner SoCs have their mask boot ROM mapped just below 4GB,
@@ -139,6 +140,12 @@ config MACH_SUNXI_H3_H5
        select SUNXI_GEN_SUN6I
        select SUPPORT_SPL
 
+# TODO: try out A80's 8GiB DRAM space
+config SUNXI_DRAM_MAX_SIZE
+       hex
+       default 0xC0000000 if MACH_SUN50I || MACH_SUN50I_H5 || MACH_SUN50I_H6
+       default 0x80000000
+
 choice
        prompt "Sunxi SoC Variant"
        optional
@@ -147,8 +154,6 @@ config MACH_SUN4I
        bool "sun4i (Allwinner A10)"
        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
@@ -223,6 +228,7 @@ config MACH_SUN8I_A83T
        select PHY_SUN4I_USB
        select SUNXI_GEN_SUN6I
        select MMC_SUNXI_HAS_NEW_MODE
+       select MMC_SUNXI_HAS_MODE_SWITCH
        select SUPPORT_SPL
 
 config MACH_SUN8I_H3
@@ -271,8 +277,10 @@ config MACH_SUN50I
        select ARM64
        select DM_I2C
        select PHY_SUN4I_USB
+       select SUN6I_PRCM
        select SUNXI_DE2
        select SUNXI_GEN_SUN6I
+       select MMC_SUNXI_HAS_NEW_MODE
        select SUPPORT_SPL
        select SUNXI_DRAM_DW
        select SUNXI_DRAM_DW_32BIT
@@ -287,6 +295,14 @@ config MACH_SUN50I_H5
        select FIT
        select SPL_LOAD_FIT
 
+config MACH_SUN50I_H6
+       bool "sun50i (Allwinner H6)"
+       select ARM64
+       select SUPPORT_SPL
+       select FIT
+       select SPL_LOAD_FIT
+       select DRAM_SUN50I_H6
+
 endchoice
 
 # The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
@@ -380,6 +396,7 @@ config DRAM_CLK
        default 360 if MACH_SUN4I || MACH_SUN5I || MACH_SUN7I || \
                       MACH_SUN8I_V3S
        default 672 if MACH_SUN50I
+       default 744 if MACH_SUN50I_H6
        ---help---
        Set the dram clock speed, valid range 240 - 480 (prior to sun9i),
        must be a multiple of 24. For the sun9i (A80), the tested values
@@ -396,10 +413,11 @@ endif
 
 config DRAM_ZQ
        int "sunxi dram zq value"
-       default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || MACH_SUN8I
+       default 123 if MACH_SUN4I || MACH_SUN5I || MACH_SUN6I || \
+                      MACH_SUN8I_A23 || MACH_SUN8I_A33 || MACH_SUN8I_A83T
        default 127 if MACH_SUN7I
        default 14779 if MACH_SUN8I_V3S
-       default 3881979 if MACH_SUN8I_R40
+       default 3881979 if MACH_SUNXI_H3_H5 || MACH_SUN8I_R40 || MACH_SUN50I_H6
        default 4145117 if MACH_SUN9I
        default 3881915 if MACH_SUN50I
        ---help---
@@ -407,10 +425,11 @@ config DRAM_ZQ
 
 config DRAM_ODT_EN
        bool "sunxi dram odt enable"
-       default n if !MACH_SUN8I_A23
        default y if MACH_SUN8I_A23
+       default y if MACH_SUNXI_H3_H5
        default y if MACH_SUN8I_R40
        default y if MACH_SUN50I
+       default y if MACH_SUN50I_H6
        ---help---
        Select this to enable dram odt (on die termination).
 
@@ -501,6 +520,7 @@ config SYS_CLK_FREQ
        default 816000000 if MACH_SUN50I || MACH_SUN50I_H5
        default 1008000000 if MACH_SUN8I
        default 1008000000 if MACH_SUN9I
+       default 888000000 if MACH_SUN50I_H6
 
 config SYS_CONFIG_NAME
        default "sun4i" if MACH_SUN4I
@@ -510,6 +530,7 @@ config SYS_CONFIG_NAME
        default "sun8i" if MACH_SUN8I
        default "sun9i" if MACH_SUN9I
        default "sun50i" if MACH_SUN50I
+       default "sun50i" if MACH_SUN50I_H6
 
 config SYS_BOARD
        default "sunxi"
@@ -715,6 +736,7 @@ config VIDEO_SUNXI
        depends on !MACH_SUN8I_V3S
        depends on !MACH_SUN9I
        depends on !MACH_SUN50I
+       depends on !MACH_SUN50I_H6
        select VIDEO
        imply VIDEO_DT_SIMPLEFB
        default y
@@ -947,6 +969,7 @@ config SPL_STACK_R_ADDR
        default 0x4fe00000 if MACH_SUN8I
        default 0x2fe00000 if MACH_SUN9I
        default 0x4fe00000 if MACH_SUN50I
+       default 0x4fe00000 if MACH_SUN50I_H6
 
 config SPL_SPI_SUNXI
        bool "Support for SPI Flash on Allwinner SoCs in SPL"
@@ -956,4 +979,14 @@ config SPL_SPI_SUNXI
          sunxi SPI Flash. It uses the same method as the boot ROM, so does
          not need any extra configuration.
 
+config PINE64_DT_SELECTION
+       bool "Enable Pine64 device tree selection code"
+       depends on MACH_SUN50I
+       help
+         The original Pine A64 and Pine A64+ are similar but different
+         boards and can be differed by the DRAM size. Pine A64 has
+         512MiB DRAM, and Pine A64+ has 1GiB or 2GiB. By selecting this
+         option, the device tree selection code specific to Pine64 which
+         utilizes the DRAM size will be enabled.
+
 endif