Skip to contentSkip to conversation

sunxi: Allwinner A80 SoC support

PATCH New Hans de Goede 3 participants 15 messages May 20, 2015 – May 22, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

v2 cover sunxi: Allwinner A80 SoC support

Hi Ian,

Here is the long awaited version 2 of my Allwinner A80 support series.

Changes since v2:
-Cleaned up the sunxi-common.h #ifdef-ery to deal with the DRAM base
differences
-Added a patch for the base address of the A1 SRAM being different, using
the proper base address allows removal of the mis-use of save_boot_params to book a SYS_CTRL register really early during boot
-Added 2 new misc. preparation patches

Regards,

Hans

#1 lore raw

PATCH v2 1/6 sunxi: Use axp221 sid on a33

Unlike the A31 and the A23 the A33 actually has a SID inside the SoC again, but sid[3] is 0 (at least on some SoCs), so it is better to use the axp221 sid.

---
 arch/arm/cpu/armv7/sunxi/cpu_info.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)
arch/arm/cpu/armv7/sunxi/cpu_info.c +3 -5
index 30ec4ac..8e8c84f 100644
@@ -78,18 +78,16 @@ int print_cpuinfo(void)
 
 int sunxi_get_sid(unsigned int *sid)
 {
-#if defined CONFIG_MACH_SUN6I || defined CONFIG_MACH_SUN8I_A23
 #ifdef CONFIG_AXP221_POWER
 	return axp221_get_sid(sid);
-#else
-	return -ENODEV;
-#endif
-#else
+#elif defined SUNXI_SID_BASE
 	int i;
 
 	for (i = 0; i< 4; i++)
 		sid[i] = readl(SUNXI_SID_BASE + 4 * i);
 
 	return 0;
+#else
+	return -ENODEV;
 #endif
 }
Signature · 1 line
2.4.1
#3 lore raw

PATCH v2 2/6 sunxi: Remove support for building "old-fashioned" fel binaries

In reply to Hans de Goede

The latest versions of the fel tool support loading normal u-boot builds directly, and this is now the preferred way to use the fel boot method.

This commit removes support for the old deprecated standalone fel builds.

---
 arch/arm/cpu/armv7/sunxi/board.c |  8 --------
 board/sunxi/Kconfig              | 16 ----------------
 include/configs/sunxi-common.h   |  9 ---------
 3 files changed, 33 deletions(-)
arch/arm/cpu/armv7/sunxi/board.c +0 -8
index e6730c0..75ce7b5 100644
@@ -120,13 +120,6 @@ void s_init(void)
  */
 u32 spl_boot_device(void)
 {
-#ifdef CONFIG_SPL_FEL
-	/*
-	 * This is the legacy compile time configuration for a special FEL
-	 * enabled build. It has many restrictions and can only boot over USB.
-	 */
-	return BOOT_DEVICE_BOARD;
-#else
 	/*
 	 * When booting from the SD card, the "eGON.BT0" signature is expected
 	 * to be found in memory at the address 0x0004 (see the "mksunxiboot"
@@ -147,7 +140,6 @@ u32 spl_boot_device(void)
 		return BOOT_DEVICE_MMC1;
 	else
 		return BOOT_DEVICE_BOARD;
-#endif
 }
 
 /* No confirmation data available in SPL yet. Hardcode bootmode */
board/sunxi/Kconfig +0 -16
index a6bbf6e..ca805e4 100644
@@ -194,24 +194,8 @@ config SYS_BOARD
 config SYS_SOC
 	default "sunxi"
 
-config SPL_FEL
-	bool "SPL/FEL mode support"
-	depends on SPL
-	default n
-	help
-	  This enables support for Fast Early Loader (FEL) mode. This
-	  allows U-Boot to be loaded to the board over USB by the on-chip
-	  boot rom. U-Boot should be sent in two parts: SPL first, with
-	  'fel write 0x2000 u-boot-spl.bin; fel exe 0x2000' then U-Boot with
-	  'fel write 0x4a000000 u-boot.bin; fel exe 0x4a000000'. This option
-	  shrinks the amount of SRAM available to SPL, so only enable it if
-	  you need FEL. Note that enabling this option only allows FEL to be
-	  used; it is still possible to boot U-Boot from boot media. U-Boot
-	  SPL detects when it is being loaded using FEL.
-
 config UART0_PORT_F
 	bool "UART0 on MicroSD breakout board"
-	depends on SPL_FEL
 	default n
 	---help---
 	Repurpose the SD card slot for getting access to the UART0 serial
include/configs/sunxi-common.h +0 -9
index d829899..5dd2480 100644
@@ -162,13 +162,6 @@
 
 #define CONFIG_SPL_BOARD_LOAD_IMAGE
 
-#ifdef CONFIG_SPL_FEL
-
-#define CONFIG_SPL_TEXT_BASE		0x2000
-#define CONFIG_SPL_MAX_SIZE		0x4000		/* 16 KiB */
-
-#else /* CONFIG_SPL */
-
 #define CONFIG_SPL_BSS_START_ADDR	0x4ff80000
 #define CONFIG_SPL_BSS_MAX_SIZE		0x80000		/* 512 KiB */
 
@@ -186,8 +179,6 @@
 #define CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR	80	/* 40KiB */
 #define CONFIG_SPL_PAD_TO		32768		/* decimal for 'dd' */
 
-#endif /* CONFIG_SPL */
-
 /* end of 32 KiB in sram */
 #define LOW_LEVEL_SRAM_STACK		0x00008000 /* End of sram */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
Signature · 1 line
2.4.1
#4 lore raw

PATCH v2 2/6 sunxi: Remove support for building "old-fashioned" fel binaries

Quoted 2 lines · Hans de Goede

The latest versions of the fel tool support loading normal u-boot builds directly, and this is now the preferred way to use the fel boot method.

Has sunxi-tools with that actually been released? I don't think so, we should probably prod $whoever to release a v1.3

Regardless, I think we can move on...

Quoted 3 lines

This commit removes support for the old deprecated standalone fel builds.

#5 lore raw

PATCH v2 2/6 sunxi: Remove support for building "old-fashioned" fel binaries

Hi,

Quoted 6 lines · Ian Campbell
Quoted 2 lines · Hans de Goede

The latest versions of the fel tool support loading normal u-boot builds directly, and this is now the preferred way to use the fel boot method.

Has sunxi-tools with that actually been released? I don't think so, we should probably prod $whoever to release a v1.3

I thought that Sairhei was going to do a release with the new "fel spl" support. Sairhei?

Regards,

Hans

#6 lore raw

PATCH v2 3/6 sunxi: Update sunxi-common.h to deal with different DRAM base addr on sun9i

In reply to Hans de Goede

The DRAM Base differs between sun9i and the others, update sunxi-common.h to deal with this.

---
 include/configs/sunxi-common.h | 53 ++++++++++++++++++++++++++++--------------
 1 file changed, 35 insertions(+), 18 deletions(-)
include/configs/sunxi-common.h +35 -18
index 5dd2480..2b90681 100644
@@ -13,6 +13,8 @@
 #ifndef _SUNXI_COMMON_CONFIG_H
 #define _SUNXI_COMMON_CONFIG_H
 
+#include <linux/stringify.h>
+
 #ifdef CONFIG_OLD_SUNXI_KERNEL_COMPAT
 /*
  * The U-Boot workarounds bugs in the outdated buggy sunxi-3.4 kernels at the
@@ -39,8 +41,6 @@
 
 #include <asm/arch/cpu.h>	/* get chip and board defs */
 
-#define CONFIG_SYS_TEXT_BASE		0x4a000000
-
 #if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_DM_SERIAL)
 # define CONFIG_DW_SERIAL
 #endif
@@ -69,8 +69,34 @@
 /* CPU */
 #define CONFIG_SYS_CACHELINE_SIZE	64
 
-/* DRAM Base */
+/*
+ * The DRAM Base differs between some models. We cannot use macros for the
+ * CONFIG_FOO defines which contain the DRAM base address since they end
+ * up unexpanded in include/autoconf.mk .
+ *
+ * So we have to have this #ifdef #else #endif block for these.
+ */
+#ifdef CONFIG_MACH_SUN9I
+#define SDRAM_OFFSET(x) 0x2##x
+#define CONFIG_SYS_SDRAM_BASE		0x20000000
+#define CONFIG_SYS_LOAD_ADDR		0x22000000 /* default load address */
+#define CONFIG_SYS_TEXT_BASE		0x2a000000
+#define CONFIG_PRE_CON_BUF_ADDR		0x2f000000
+#define CONFIG_SYS_SPL_MALLOC_START	0x2ff00000
+#define CONFIG_SPL_BSS_START_ADDR	0x2ff80000
+#else
+#define SDRAM_OFFSET(x) 0x4##x
 #define CONFIG_SYS_SDRAM_BASE		0x40000000
+#define CONFIG_SYS_LOAD_ADDR		0x42000000 /* default load address */
+#define CONFIG_SYS_TEXT_BASE		0x4a000000
+#define CONFIG_PRE_CON_BUF_ADDR		0x4f000000
+#define CONFIG_SYS_SPL_MALLOC_START	0x4ff00000
+#define CONFIG_SPL_BSS_START_ADDR	0x4ff80000
+#endif
+
+#define CONFIG_SPL_BSS_MAX_SIZE		0x00080000 /* 512 KiB */
+#define CONFIG_SYS_SPL_MALLOC_SIZE	0x00080000 /* 512 KiB */
+
 #define CONFIG_SYS_INIT_RAM_ADDR	0x0
 #define CONFIG_SYS_INIT_RAM_SIZE	0x8000	/* 32 KiB */
 
@@ -129,10 +155,8 @@
 /* Boot Argument Buffer Size */
 #define CONFIG_SYS_BARGSIZE		CONFIG_SYS_CBSIZE
 
-#define CONFIG_SYS_LOAD_ADDR		0x42000000 /* default load address */
-
 /* standalone support */
-#define CONFIG_STANDALONE_LOAD_ADDR	0x42000000
+#define CONFIG_STANDALONE_LOAD_ADDR	CONFIG_SYS_LOAD_ADDR
 
 /* baudrate */
 #define CONFIG_BAUDRATE			115200
@@ -162,9 +186,6 @@
 
 #define CONFIG_SPL_BOARD_LOAD_IMAGE
 
-#define CONFIG_SPL_BSS_START_ADDR	0x4ff80000
-#define CONFIG_SPL_BSS_MAX_SIZE		0x80000		/* 512 KiB */
-
 #define CONFIG_SPL_TEXT_BASE		0x20		/* sram start+header */
 #define CONFIG_SPL_MAX_SIZE		0x5fe0		/* 24KB on sun4i/sun7i */
 
@@ -182,8 +203,6 @@
 /* end of 32 KiB in sram */
 #define LOW_LEVEL_SRAM_STACK		0x00008000 /* End of sram */
 #define CONFIG_SPL_STACK		LOW_LEVEL_SRAM_STACK
-#define CONFIG_SYS_SPL_MALLOC_START	0x4ff00000
-#define CONFIG_SYS_SPL_MALLOC_SIZE	0x00080000	/* 512 KiB */
 
 /* I2C */
 #if defined CONFIG_AXP152_POWER || defined CONFIG_AXP209_POWER
@@ -333,8 +352,6 @@ extern int soft_i2c_gpio_scl;
 /* Enable pre-console buffer to get complete log on the VGA console */
 #define CONFIG_PRE_CONSOLE_BUFFER
 #define CONFIG_PRE_CON_BUF_SZ		4096 /* Aprox 2 80*25 screens */
-/* Use the room between the end of bootm_size and the framebuffer */
-#define CONFIG_PRE_CON_BUF_ADDR		0x4f000000
 
 /*
  * 240M RAM (256M minimum minus space for the framebuffer),
@@ -343,11 +360,11 @@ extern int soft_i2c_gpio_scl;
  */
 #define MEM_LAYOUT_ENV_SETTINGS \
 	"bootm_size=0xf000000\0" \
-	"kernel_addr_r=0x42000000\0" \
-	"fdt_addr_r=0x43000000\0" \
-	"scriptaddr=0x43100000\0" \
-	"pxefile_addr_r=0x43200000\0" \
-	"ramdisk_addr_r=0x43300000\0"
+	"kernel_addr_r=" __stringify(SDRAM_OFFSET(2000000)) "\0" \
+	"fdt_addr_r=" __stringify(SDRAM_OFFSET(3000000)) "\0" \
+	"scriptaddr=" __stringify(SDRAM_OFFSET(3100000)) "\0" \
+	"pxefile_addr_r=" __stringify(SDRAM_OFFSET(3200000)) "\0" \
+	"ramdisk_addr_r=" __stringify(SDRAM_OFFSET(3300000)) "\0"
 
 #ifdef CONFIG_MMC
 #define BOOT_TARGET_DEVICES_MMC(func) func(MMC, mmc, 0)
Signature · 1 line
2.4.1
#8 lore raw

PATCH v2 4/6 sunxi: Update sunxi-common.h to deal with different A1-SRAM base addr on sun9i

In reply to Hans de Goede

The A1 SRAM Base differs between sun9i and the others, update sunxi-common.h to deal with this, so that we do not set the initial stack pointer to point to the BROM.

This removes the need for the weird undocumented register write I took from the allwiner u-boot sources and which needed #ifdef-ery in start.S as it needed to be done really early on.

---
 include/configs/sunxi-common.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)
include/configs/sunxi-common.h +12 -0
index 2b90681..76f42f5 100644
@@ -97,8 +97,20 @@
 #define CONFIG_SPL_BSS_MAX_SIZE		0x00080000 /* 512 KiB */
 #define CONFIG_SYS_SPL_MALLOC_SIZE	0x00080000 /* 512 KiB */
 
+#ifdef CONFIG_MACH_SUN9I
+/*
+ * The A80's A1 sram starts at 0x00010000 rather then at 0x00000000 and is
+ * slightly bigger. Note that it is possible to map the first 32 KiB of the
+ * A1 at 0x00000000 like with older SoCs by writing 0x16aa0001 to the
+ * undocumented 0x008000e0 SYS_CTRL register. Where the 16aa is a key and
+ * the 1 actually activates the mapping of the first 32 KiB to 0x00000000.
+ */
+#define CONFIG_SYS_INIT_RAM_ADDR	0x10000
+#define CONFIG_SYS_INIT_RAM_SIZE	0x0a000	/* 40 KiB */
+#else
 #define CONFIG_SYS_INIT_RAM_ADDR	0x0
 #define CONFIG_SYS_INIT_RAM_SIZE	0x8000	/* 32 KiB */
+#endif
 
 #define CONFIG_SYS_INIT_SP_OFFSET \
 	(CONFIG_SYS_INIT_RAM_SIZE - GENERATED_GBL_DATA_SIZE)
Signature · 1 line
2.4.1
#9 lore raw

PATCH v2 4/6 sunxi: Update sunxi-common.h to deal with different A1-SRAM base addr on sun9i

Quoted 7 lines · Hans de Goede

The A1 SRAM Base differs between sun9i and the others, update sunxi-common.h to deal with this, so that we do not set the initial stack pointer to point to the BROM.

This removes the need for the weird undocumented register write I took from the allwiner u-boot sources and which needed #ifdef-ery in start.S as it needed to be done really early on.

(typo: "allwinner")

Removes in the sense that it simply no longer appears in the series, I think? (As opposed to a removal hunk being missing from this or a subsequent patch)

Assuming that is the case:

Quoted 1 line
#10 lore raw

PATCH v2 4/6 sunxi: Update sunxi-common.h to deal with different A1-SRAM base addr on sun9i

Hi,

Quoted 9 lines · Ian Campbell
Quoted 7 lines · Hans de Goede

The A1 SRAM Base differs between sun9i and the others, update sunxi-common.h to deal with this, so that we do not set the initial stack pointer to point to the BROM.

This removes the need for the weird undocumented register write I took from the allwiner u-boot sources and which needed #ifdef-ery in start.S as it needed to be done really early on.

Quoted 5 lines

(typo: "allwinner")

Removes in the sense that it simply no longer appears in the series, I think? (As opposed to a removal hunk being missing from this or a subsequent patch)

Correct, remove as in simply no longer appears in the series.

Regsrds,

Hans

Quoted 7 lines

Assuming that is the case:

Quoted 1 line
#11 lore raw

PATCH v2 4/6 sunxi: Update sunxi-common.h to deal with different A1-SRAM base addr on sun9i

Quoted 12 lines · Hans de Goede

Hi,

Quoted 9 lines · Ian Campbell
Quoted 7 lines · Hans de Goede

The A1 SRAM Base differs between sun9i and the others, update sunxi-common.h to deal with this, so that we do not set the initial stack pointer to point to the BROM.

This removes the need for the weird undocumented register write I took from the allwiner u-boot sources and which needed #ifdef-ery in start.S as it needed to be done really early on.

Quoted 7 lines
Quoted 5 lines

(typo: "allwinner")

Removes in the sense that it simply no longer appears in the series, I think? (As opposed to a removal hunk being missing from this or a subsequent patch)

Correct, remove as in simply no longer appears in the series.

Perhaps s/removes/avoids/ and s/write I took/write I previously took/ to clarify?

Ack regardless.

Quoted 13 lines

Regsrds,

Hans

Quoted 7 lines

Assuming that is the case:

Quoted 1 line
#12 lore raw

PATCH v2 4/6 sunxi: Update sunxi-common.h to deal with different A1-SRAM base addr on sun9i

Hi,

Quoted 15 lines · Ian Campbell
Quoted 14 lines · Hans de Goede

Hi,

Quoted 11 lines · Ian Campbell
Quoted 7 lines · Hans de Goede

The A1 SRAM Base differs between sun9i and the others, update sunxi-common.h to deal with this, so that we do not set the initial stack pointer to point to the BROM.

This removes the need for the weird undocumented register write I took from the allwiner u-boot sources and which needed #ifdef-ery in start.S as it needed to be done really early on.

(typo: "allwinner")

Quoted 8 lines
Quoted 5 lines
Quoted 3 lines

Removes in the sense that it simply no longer appears in the series, I think? (As opposed to a removal hunk being missing from this or a subsequent patch)

Correct, remove as in simply no longer appears in the series.

Perhaps s/removes/avoids/ and s/write I took/write I previously took/ to clarify?

Updated the commit msg with the above suggestion.

Thanks & Regards,

Hans

#13 lore raw

PATCH v2 5/6 sun9i: Basic sun9i (A80) support

In reply to Hans de Goede

Add initial sun9i (A80) support, only uart + mmc are supported for now.

---
 arch/arm/cpu/armv7/sunxi/Makefile      |  2 ++
 arch/arm/cpu/armv7/sunxi/board.c       |  4 ++++
 arch/arm/cpu/armv7/sunxi/cpu_info.c    |  3 +++
 arch/arm/include/asm/arch-sunxi/gpio.h |  1 +
 board/sunxi/Kconfig                    |  6 ++++++
 board/sunxi/board.c                    |  3 ++-
 include/configs/sun9i.h                | 21 +++++++++++++++++++++
 7 files changed, 39 insertions(+), 1 deletion(-)
 create mode 100644 include/configs/sun9i.h
arch/arm/cpu/armv7/sunxi/Makefile +2 -0
index 6a0299f..7ef6b4c 100644
@@ -13,7 +13,9 @@ obj-y	+= clock.o
 obj-y	+= cpu_info.o
 obj-y	+= dram_helpers.o
 obj-y	+= pinmux.o
+ifndef CONFIG_MACH_SUN9I
 obj-y	+= usb_phy.o
+endif
 obj-$(CONFIG_MACH_SUN6I)	+= prcm.o
 obj-$(CONFIG_MACH_SUN8I)	+= prcm.o
 obj-$(CONFIG_MACH_SUN9I)	+= prcm.o
arch/arm/cpu/armv7/sunxi/board.c +4 -0
index 75ce7b5..23aa249 100644
@@ -64,6 +64,10 @@ static int gpio_init(void)
 	sunxi_gpio_set_cfgpin(SUNXI_GPH(20), SUN6I_GPH_UART0);
 	sunxi_gpio_set_cfgpin(SUNXI_GPH(21), SUN6I_GPH_UART0);
 	sunxi_gpio_set_pull(SUNXI_GPH(21), SUNXI_GPIO_PULL_UP);
+#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(13), SUN9I_GPH_UART0);
+	sunxi_gpio_set_pull(SUNXI_GPH(13), SUNXI_GPIO_PULL_UP);
 #elif CONFIG_CONS_INDEX == 2 && defined(CONFIG_MACH_SUN5I)
 	sunxi_gpio_set_cfgpin(SUNXI_GPG(3), SUN5I_GPG_UART1);
 	sunxi_gpio_set_cfgpin(SUNXI_GPG(4), SUN5I_GPG_UART1);
arch/arm/cpu/armv7/sunxi/cpu_info.c +3 -0
index 8e8c84f..a276fad 100644
@@ -11,6 +11,7 @@
 #include <asm/arch/cpu.h>
 #include <asm/arch/clock.h>
 #include <axp221.h>
+#include <errno.h>
 
 #ifdef CONFIG_MACH_SUN6I
 int sunxi_get_ss_bonding_id(void)
@@ -68,6 +69,8 @@ int print_cpuinfo(void)
 	puts("CPU:   Allwinner A23 (SUN8I)\n");
 #elif defined CONFIG_MACH_SUN8I_A33
 	puts("CPU:   Allwinner A33 (SUN8I)\n");
+#elif defined CONFIG_MACH_SUN9I
+	puts("CPU:   Allwinner A80 (SUN9I)\n");
 #else
 #warning Please update cpu_info.c with correct CPU information
 	puts("CPU:   SUNXI Family\n");
arch/arm/include/asm/arch-sunxi/gpio.h +1 -0
index 148123a..496295d 100644
@@ -185,6 +185,7 @@ enum sunxi_gpio_number {
 #define SUN8I_GPH_TWI1		2
 #define SUN6I_GPH_TWI2		2
 #define SUN6I_GPH_UART0		2
+#define SUN9I_GPH_UART0		2
 
 #define SUNXI_GPI_SDC3		2
 #define SUN7I_GPI_TWI3		3
board/sunxi/Kconfig +6 -0
index ca805e4..6f5fde9 100644
@@ -59,6 +59,11 @@ config MACH_SUN8I_A33
 	select SUNXI_GEN_SUN6I
 	select SUPPORT_SPL
 
+config MACH_SUN9I
+	bool "sun9i (Allwinner A80)"
+	select CPU_V7
+	select SUNXI_GEN_SUN6I
+
 endchoice
 
 # The sun8i SoCs share a lot, this helps to avoid a lot of "if A23 || A33"
@@ -187,6 +192,7 @@ config SYS_CONFIG_NAME
 	default "sun6i" if MACH_SUN6I
 	default "sun7i" if MACH_SUN7I
 	default "sun8i" if MACH_SUN8I
+	default "sun9i" if MACH_SUN9I
 
 config SYS_BOARD
 	default "sunxi"
board/sunxi/board.c +2 -1
index 5f79cc1..ed60e74 100644
@@ -530,10 +530,11 @@ int misc_init_r(void)
 		}
 	}
 
+#ifndef CONFIG_MACH_SUN9I
 	ret = sunxi_usb_phy_probe();
 	if (ret)
 		return ret;
-
+#endif
 #if defined(CONFIG_MUSB_HOST) || defined(CONFIG_MUSB_GADGET)
 	musb_register(&musb_plat, NULL, (void *)SUNXI_USB0_BASE);
 #endif
include/configs/sun9i.h new file +21 -0
new file mode 100644
index 0000000..cd9e08d
@@ -0,0 +1,21 @@
+/*
+ * (C) Copyright 2015 Hans de Goede <[email protected]>
+ *
+ * Configuration settings for the Allwinner A80 (sun9i) CPU
+ *
+ * SPDX-License-Identifier:	GPL-2.0+
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+/*
+ * A80 specific configuration
+ */
+
+/*
+ * Include common sunxi configuration where most the settings are
+ */
+#include <configs/sunxi-common.h>
+
+#endif /* __CONFIG_H */
Signature · 1 line
2.4.1
#14 lore raw

PATCH v2 6/6 sun9i: Add Merrii_A80_Optimus board / defconfig file

In reply to Hans de Goede
---
 board/sunxi/MAINTAINERS              |  2 ++
 configs/Merrii_A80_Optimus_defconfig | 11 +++++++++++
 2 files changed, 13 insertions(+)
 create mode 100644 configs/Merrii_A80_Optimus_defconfig
board/sunxi/MAINTAINERS +2 -0
index a650554..22d560a 100644
@@ -40,6 +40,8 @@ F:	include/configs/sun8i.h
 F:	configs/ga10h_v1_1_defconfig
 F:	configs/Ippo_q8h_v1_2_defconfig
 F:	configs/Ippo_q8h_v1_2_a33_1024x600_defconfig
+F:	include/configs/sun9i.h
+F:	configs/Merrii_A80_Optimus_defconfig
 
 A20-OLINUXINO-LIME BOARD
 M:	FUKAUMI Naoki <[email protected]>
configs/Merrii_A80_Optimus_defconfig new file +11 -0
new file mode 100644
index 0000000..6bd5273
@@ -0,0 +1,11 @@
+CONFIG_DEFAULT_DEVICE_TREE="sun9i-a80-optimus"
+CONFIG_VIDEO=n
+CONFIG_USB_KEYBOARD=n
+CONFIG_MMC0_CD_PIN="PH18"
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_MACH_SUN9I=y
+# these are unused atm but we must set them to something
+CONFIG_DRAM_CLK=360
+CONFIG_DRAM_ZQ=123
+CONFIG_SYS_CLK_FREQ=1008000000
Signature · 1 line
2.4.1