U-Boot
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
January 2016
- 195 participants
- 740 discussions

[U-Boot] [PATCH] drivers/crypto/fsl : Allocate output ring with size aligned to CACHELNE SIZE
by Ruchika Gupta 24 Feb '16
by Ruchika Gupta 24 Feb '16
24 Feb '16
From: Ruchika Gupta <ruchika.gupta(a)freescale.com>
The output ring needs to be invalidated before enqueuing the job to SEC.
While allocation of space to output ring, it should be taken care that the
size is cacheline size aligned inorder to prevent invalidating valid data.
The patch also correct the method of aligning end of structs while flushing caches
Since start = align(start_of_struct), it is incorrect to assign
end = align(start + struct_size). It should instead be,
end = align(start_of_struct + struct_size).
Signed-off-by: Saksham Jain <saksham(a)nxp.com>
Signed-off-by: Ruchika Gupta <ruchika.gupta(a)nxp.com>
---
drivers/crypto/fsl/jr.c | 28 ++++++++++++++++------------
drivers/crypto/fsl/jr.h | 2 ++
2 files changed, 18 insertions(+), 12 deletions(-)
diff --git a/drivers/crypto/fsl/jr.c b/drivers/crypto/fsl/jr.c
index b553e3c..4566ec3 100644
--- a/drivers/crypto/fsl/jr.c
+++ b/drivers/crypto/fsl/jr.c
@@ -95,14 +95,16 @@ static int jr_init(void)
JR_SIZE * sizeof(dma_addr_t));
if (!jr.input_ring)
return -1;
+
+ jr.op_size = roundup(JR_SIZE * sizeof(struct op_ring),
+ ARCH_DMA_MINALIGN);
jr.output_ring =
- (struct op_ring *)memalign(ARCH_DMA_MINALIGN,
- JR_SIZE * sizeof(struct op_ring));
+ (struct op_ring *)memalign(ARCH_DMA_MINALIGN, jr.op_size);
if (!jr.output_ring)
return -1;
memset(jr.input_ring, 0, JR_SIZE * sizeof(dma_addr_t));
- memset(jr.output_ring, 0, JR_SIZE * sizeof(struct op_ring));
+ memset(jr.output_ring, 0, jr.op_size);
start_jr0();
@@ -190,8 +192,8 @@ static int jr_enqueue(uint32_t *desc_addr,
unsigned long start = (unsigned long)&jr.info[head] &
~(ARCH_DMA_MINALIGN - 1);
- unsigned long end = ALIGN(start + sizeof(struct jr_info),
- ARCH_DMA_MINALIGN);
+ unsigned long end = ALIGN((unsigned long)&jr.info[head] +
+ sizeof(struct jr_info), ARCH_DMA_MINALIGN);
flush_dcache_range(start, end);
#ifdef CONFIG_PHYS_64BIT
@@ -216,11 +218,19 @@ static int jr_enqueue(uint32_t *desc_addr,
#endif /* ifdef CONFIG_PHYS_64BIT */
start = (unsigned long)&jr.input_ring[head] & ~(ARCH_DMA_MINALIGN - 1);
- end = ALIGN(start + sizeof(phys_addr_t), ARCH_DMA_MINALIGN);
+ end = ALIGN((unsigned long)&jr.input_ring[head] +
+ sizeof(dma_addr_t), ARCH_DMA_MINALIGN);
flush_dcache_range(start, end);
jr.head = (head + 1) & (jr.size - 1);
+ /* Invalidate output ring */
+ start = (unsigned long)jr.output_ring &
+ ~(ARCH_DMA_MINALIGN - 1);
+ end = ALIGN((unsigned long)jr.output_ring + jr.op_size,
+ ARCH_DMA_MINALIGN);
+ invalidate_dcache_range(start, end);
+
sec_out32(®s->irja, 1);
return 0;
@@ -241,12 +251,6 @@ static int jr_dequeue(void)
#endif
while (sec_in32(®s->orsf) && CIRC_CNT(jr.head, jr.tail, jr.size)) {
- unsigned long start = (unsigned long)jr.output_ring &
- ~(ARCH_DMA_MINALIGN - 1);
- unsigned long end = ALIGN(start +
- sizeof(struct op_ring)*JR_SIZE,
- ARCH_DMA_MINALIGN);
- invalidate_dcache_range(start, end);
found = 0;
diff --git a/drivers/crypto/fsl/jr.h b/drivers/crypto/fsl/jr.h
index 5899696..545d964 100644
--- a/drivers/crypto/fsl/jr.h
+++ b/drivers/crypto/fsl/jr.h
@@ -72,6 +72,8 @@ struct jobring {
int write_idx;
/* Size of the rings. */
int size;
+ /* Op ring size aligned to cache line size */
+ int op_size;
/* The ip and output rings have to be accessed by SEC. So the
* pointers will ahve to point to the housekeeping region provided
* by SEC
--
1.8.1.4
3
2
* Increase default hugepage count to 256 from 16
* Note: default env variables are stored at 0x580200000/0x584200000
of size 0x2000
Signed-off-by: Ashish Kumar <Ashish.Kumar(a)freescale.com>
---
include/configs/ls2080a_common.h | 2 +-
include/configs/ls2080ardb.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/include/configs/ls2080a_common.h b/include/configs/ls2080a_common.h
index 4ae7d11..a503934 100644
--- a/include/configs/ls2080a_common.h
+++ b/include/configs/ls2080a_common.h
@@ -272,7 +272,7 @@ unsigned long long get_qixis_addr(void);
#define CONFIG_BOOTARGS "console=ttyS0,115200 root=/dev/ram0 " \
"earlycon=uart8250,mmio,0x21c0500" \
"ramdisk_size=0x2000000 default_hugepagesz=2m" \
- " hugepagesz=2m hugepages=16"
+ " hugepagesz=2m hugepages=256"
#define CONFIG_BOOTCOMMAND "cp.b $kernel_start $kernel_load " \
"$kernel_size && bootm $kernel_load"
#define CONFIG_BOOTDELAY 10
diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h
index 116dbcd..356d254 100644
--- a/include/configs/ls2080ardb.h
+++ b/include/configs/ls2080ardb.h
@@ -333,7 +333,7 @@ unsigned long get_board_sys_clk(void);
#define CONFIG_BOOTARGS "console=ttyS1,115200 root=/dev/ram0 " \
"earlycon=uart8250,mmio,0x21c0600" \
"ramdisk_size=0x2000000 default_hugepagesz=2m" \
- " hugepagesz=2m hugepages=16"
+ " hugepagesz=2m hugepages=256"
/* MAC/PHY configuration */
#ifdef CONFIG_FSL_MC_ENET
--
1.7.6.GIT
4
10

[U-Boot] [PATCH v2] ARM: Disable "DISCARD" for secure section if CONFIG_ARMV7_SECURE_BASE isn't defined
by Dongsheng Wang 24 Feb '16
by Dongsheng Wang 24 Feb '16
24 Feb '16
From: Wang Dongsheng <dongsheng.wang(a)nxp.com>
"DISCARD" will remove ._secure.text relocate, but PSCI framework
has already used some absolute address those need to relocate.
Use readelf -t -r u-boot show us:
.__secure_start addr: 601408e4
.__secure_end addr: 60141460
60141140 00000017 R_ARM_RELATIVE
46 _secure_monitor:
47 #ifdef CONFIG_ARMV7_PSCI
48 ldr r5, =_psci_vectors
60141194 00000017 R_ARM_RELATIVE
6014119c 00000017 R_ARM_RELATIVE
601411a4 00000017 R_ARM_RELATIVE
601411ac 00000017 R_ARM_RELATIVE
64 _psci_table:
66 .word psci_cpu_suspend
...
72 .word psci_migrate
60141344 00000017 R_ARM_RELATIVE
6014145c 00000017 R_ARM_RELATIVE
202 ldr r5, =psci_text_end
Solutions:
1. Change absolute address to RelAdr.
Based on LDR (immediate, ARM), we only have 4K offset to jump.
Now PSCI code size is close to 4K size that is LDR limit jump size,
so even if the LDR is based on the current instruction address,
there is also have a risk for RelAdr. If we use two jump steps I
think we can fix this issue, but looks too hack, so give up this way.
2. Enable "DISCARD" only for CONFIG_ARMV7_SECURE_BASE has defined.
If CONFIG_ARMV7_SECURE_BASE is defined in platform, all of secure
will in the BASE address that is absolute.
Signed-off-by: Wang Dongsheng <dongsheng.wang(a)nxp.com>
diff --git a/arch/arm/cpu/u-boot.lds b/arch/arm/cpu/u-boot.lds
index d48a905..e148ab7 100644
--- a/arch/arm/cpu/u-boot.lds
+++ b/arch/arm/cpu/u-boot.lds
@@ -14,23 +14,24 @@ OUTPUT_ARCH(arm)
ENTRY(_start)
SECTIONS
{
+#if defined(CONFIG_ARMV7_SECURE_BASE) && defined(CONFIG_ARMV7_NONSEC)
/*
- * Discard the relocation entries for secure text.
- * The secure code is bundled with u-boot image, so there will
- * be relocations entries for the secure code, since we use
- * "-mword-relocations" to compile and "-pie" to link into the
- * final image. We do not need the relocation entries for secure
- * code, because secure code will not be relocated, it only needs
- * to be copied from loading address to CONFIG_ARMV7_SECURE_BASE,
- * which is the linking and running address for secure code.
- * If keep the relocation entries in .rel.dyn section,
- * "relocation offset + linking address" may locates into an
- * address that is reserved by SoC, then will trigger data abort.
+ * If CONFIG_ARMV7_SECURE_BASE is true, secure code will not
+ * bundle with u-boot, and code offsets are fixed. Secure zone
+ * only needs to be copied from the loading address to
+ * CONFIG_ARMV7_SECURE_BASE, which is the linking and running
+ * address for secure code.
*
- * The reason that move .rel._secure at the beginning, is to
- * avoid hole in the final image.
+ * If CONFIG_ARMV7_SECURE_BASE is undefined, the secure zone will
+ * be included in u-boot address space, and some absolute address
+ * were used in secure code. The absolute addresses of the secure
+ * code also needs to be relocated along with the accompanying u-boot
+ * code.
+ *
+ * So DISCARD is only for CONFIG_ARMV7_SECURE_BASE.
*/
/DISCARD/ : { *(.rel._secure*) }
+#endif
. = 0x00000000;
. = ALIGN(4);
--
2.1.0.27.g96db324
3
3
For the Chain of Trust, the esbc_validate command supports
32 bit fields for location of the image. In the header structure
definition, these were declared as pointers which made them
64 bit on a 64 bit core.
Signed-off-by: Aneesh Bansal <aneesh.bansal(a)freescale.com>
---
Changes in v3:
Patch Rebased and removed compile time warnings
board/freescale/common/fsl_validate.c | 20 ++++++++++----------
include/fsl_validate.h | 14 +++++++-------
2 files changed, 17 insertions(+), 17 deletions(-)
diff --git a/board/freescale/common/fsl_validate.c b/board/freescale/common/fsl_validate.c
index 5283648..465676f 100644
--- a/board/freescale/common/fsl_validate.c
+++ b/board/freescale/common/fsl_validate.c
@@ -63,12 +63,12 @@ static u32 check_ie(struct fsl_secboot_img_priv *img)
* address
*/
#if defined(CONFIG_MPC85xx)
-int get_csf_base_addr(ulong *csf_addr, ulong *flash_base_addr)
+int get_csf_base_addr(u32 *csf_addr, u32 *flash_base_addr)
{
struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
u32 csf_hdr_addr = in_be32(&gur->scratchrw[0]);
u32 csf_flash_offset = csf_hdr_addr & ~(CONFIG_SYS_PBI_FLASH_BASE);
- ulong flash_addr, addr;
+ u32 flash_addr, addr;
int found = 0;
int i = 0;
@@ -76,7 +76,7 @@ int get_csf_base_addr(ulong *csf_addr, ulong *flash_base_addr)
flash_addr = flash_info[i].start[0];
addr = flash_info[i].start[0] + csf_flash_offset;
if (memcmp((u8 *)addr, barker_code, ESBC_BARKER_LEN) == 0) {
- debug("Barker found on addr %lx\n", addr);
+ debug("Barker found on addr %x\n", addr);
found = 1;
break;
}
@@ -94,7 +94,7 @@ int get_csf_base_addr(ulong *csf_addr, ulong *flash_base_addr)
/* For platforms like LS1020, correct flash address is present in
* the header. So the function reqturns flash base address as 0
*/
-int get_csf_base_addr(ulong *csf_addr, ulong *flash_base_addr)
+int get_csf_base_addr(u32 *csf_addr, u32 *flash_base_addr)
{
struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR);
u32 csf_hdr_addr = in_be32(&gur->scratchrw[0]);
@@ -108,11 +108,11 @@ int get_csf_base_addr(ulong *csf_addr, ulong *flash_base_addr)
}
#endif
-static int get_ie_info_addr(ulong *ie_addr)
+static int get_ie_info_addr(u32 *ie_addr)
{
struct fsl_secboot_img_hdr *hdr;
struct fsl_secboot_sg_table *sg_tbl;
- ulong flash_base_addr, csf_addr;
+ u32 flash_base_addr, csf_addr;
if (get_csf_base_addr(&csf_addr, &flash_base_addr))
return -1;
@@ -127,11 +127,11 @@ static int get_ie_info_addr(ulong *ie_addr)
*/
#if defined(CONFIG_FSL_TRUST_ARCH_v1) && defined(CONFIG_FSL_CORENET)
sg_tbl = (struct fsl_secboot_sg_table *)
- (((ulong)hdr->psgtable & ~(CONFIG_SYS_PBI_FLASH_BASE)) +
+ (((u32)hdr->psgtable & ~(CONFIG_SYS_PBI_FLASH_BASE)) +
flash_base_addr);
#else
sg_tbl = (struct fsl_secboot_sg_table *)(csf_addr +
- (ulong)hdr->psgtable);
+ (u32)hdr->psgtable);
#endif
/* IE Key Table is the first entry in the SG Table */
@@ -142,7 +142,7 @@ static int get_ie_info_addr(ulong *ie_addr)
*ie_addr = sg_tbl->src_addr;
#endif
- debug("IE Table address is %lx\n", *ie_addr);
+ debug("IE Table address is %x\n", *ie_addr);
return 0;
}
@@ -549,7 +549,7 @@ static int read_validate_esbc_client_header(struct fsl_secboot_img_priv *img)
if (memcmp(hdr->barker, barker_code, ESBC_BARKER_LEN))
return ERROR_ESBC_CLIENT_HEADER_BARKER;
- sprintf(buf, "%p", hdr->pimg);
+ sprintf(buf, "%x", hdr->pimg);
setenv("img_addr", buf);
if (!hdr->img_size)
diff --git a/include/fsl_validate.h b/include/fsl_validate.h
index c460534..92dd98b 100644
--- a/include/fsl_validate.h
+++ b/include/fsl_validate.h
@@ -82,14 +82,14 @@ struct fsl_secboot_img_hdr {
u32 psign; /* signature offset */
u32 sign_len; /* length of the signature in bytes */
union {
- struct fsl_secboot_sg_table *psgtable; /* ptr to SG table */
- u8 *pimg; /* ptr to ESBC client image */
+ u32 psgtable; /* ptr to SG table */
+ u32 pimg; /* ptr to ESBC client image */
};
union {
u32 sg_entries; /* no of entries in SG table */
u32 img_size; /* ESBC client image size in bytes */
};
- ulong img_start; /* ESBC client entry point */
+ u32 img_start; /* ESBC client entry point */
u32 sg_flag; /* Scatter gather flag */
u32 uid_flag;
u32 fsl_uid_0;
@@ -133,7 +133,7 @@ struct srk_table {
*/
struct fsl_secboot_sg_table {
u32 len; /* length of the segment in bytes */
- ulong src_addr; /* ptr to the data segment */
+ u32 src_addr; /* ptr to the data segment */
};
#else
/*
@@ -146,8 +146,8 @@ struct fsl_secboot_sg_table {
struct fsl_secboot_sg_table {
u32 len;
u32 trgt_id;
- ulong src_addr;
- ulong dst_addr;
+ u32 src_addr;
+ u32 dst_addr;
};
#endif
@@ -162,7 +162,7 @@ struct fsl_secboot_sg_table {
*/
struct fsl_secboot_img_priv {
uint32_t hdr_location;
- ulong ie_addr;
+ u32 ie_addr;
u32 key_len;
struct fsl_secboot_img_hdr hdr;
--
1.8.1.4
6
12
Add basic framebuffer driver for the S3C24xx family of CPUs.
Signed-off-by: Marek Vasut <marex(a)denx.de>
Cc: Anatolij Gustschin <agust(a)denx.de>
Cc: Kyungmin Park <kyungmin.park(a)samsung.com>
Cc: Lukasz Majewski <l.majewski(a)samsung.com>
Cc: Minkyu Kang <mk7.kang(a)samsung.com>
Cc: Vladimir Zapolskiy <vz(a)mleia.com>
V2: Keep the Makefile sorted.
---
drivers/video/Makefile | 1 +
drivers/video/cfb_console.c | 2 +-
drivers/video/s3c-fb.c | 172 ++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 174 insertions(+), 1 deletion(-)
create mode 100644 drivers/video/s3c-fb.c
diff --git a/drivers/video/Makefile b/drivers/video/Makefile
index 14a6781..0e407d0 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
@@ -35,6 +35,7 @@ obj-$(CONFIG_VIDEO_MX3) += mx3fb.o videomodes.o
obj-$(CONFIG_VIDEO_IPUV3) += mxc_ipuv3_fb.o ipu_common.o ipu_disp.o
obj-$(CONFIG_VIDEO_MXS) += mxsfb.o videomodes.o
obj-$(CONFIG_VIDEO_OMAP3) += omap3_dss.o
+obj-$(CONFIG_VIDEO_S3C) += s3c-fb.o videomodes.o
obj-$(CONFIG_VIDEO_SANDBOX_SDL) += sandbox_sdl.o
obj-$(CONFIG_VIDEO_SED13806) += sed13806.o
obj-$(CONFIG_VIDEO_SM501) += sm501.o
diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
index 9231927..98d10e3 100644
--- a/drivers/video/cfb_console.c
+++ b/drivers/video/cfb_console.c
@@ -135,7 +135,7 @@
#endif
#endif
-#ifdef CONFIG_VIDEO_MXS
+#if defined(CONFIG_VIDEO_MXS) || defined(CONFIG_VIDEO_S3C)
#define VIDEO_FB_16BPP_WORD_SWAP
#endif
diff --git a/drivers/video/s3c-fb.c b/drivers/video/s3c-fb.c
new file mode 100644
index 0000000..521eb75
--- /dev/null
+++ b/drivers/video/s3c-fb.c
@@ -0,0 +1,172 @@
+/*
+ * S3C24x0 LCD driver
+ *
+ * NOTE: Only 16/24 bpp operation with TFT LCD is supported.
+ *
+ * Copyright (C) 2014 Marek Vasut <marex(a)denx.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+#include <common.h>
+#include <malloc.h>
+#include <video_fb.h>
+
+#include <asm/errno.h>
+#include <asm/io.h>
+#include <asm/arch/s3c24x0_cpu.h>
+
+#include "videomodes.h"
+
+static GraphicDevice panel;
+
+/* S3C requires the FB to be 4MiB aligned. */
+#define S3CFB_ALIGN (4 << 20)
+
+#define S3CFB_LCDCON1_CLKVAL(x) ((x) << 8)
+#define S3CFB_LCDCON1_PNRMODE_TFT (0x3 << 5)
+#define S3CFB_LCDCON1_BPPMODE_TFT_16BPP (0xc << 1)
+#define S3CFB_LCDCON1_BPPMODE_TFT_24BPP (0xd << 1)
+
+#define S3CFB_LCDCON2_VBPD(x) ((x) << 24)
+#define S3CFB_LCDCON2_LINEVAL(x) ((x) << 14)
+#define S3CFB_LCDCON2_VFPD(x) ((x) << 6)
+#define S3CFB_LCDCON2_VSPW(x) ((x) << 0)
+
+#define S3CFB_LCDCON3_HBPD(x) ((x) << 19)
+#define S3CFB_LCDCON3_HOZVAL(x) ((x) << 8)
+#define S3CFB_LCDCON3_HFPD(x) ((x) << 0)
+
+#define S3CFB_LCDCON4_HSPW(x) ((x) << 0)
+
+#define S3CFB_LCDCON5_BPP24BL (1 << 12)
+#define S3CFB_LCDCON5_FRM565 (1 << 11)
+#define S3CFB_LCDCON5_HWSWP (1 << 0)
+
+#define PS2KHZ(ps) (1000000000UL / (ps))
+
+/*
+ * Example:
+ * setenv videomode video=ctfb:x:800,y:480,depth:16,mode:0,\
+ * pclk:30066,le:41,ri:89,up:45,lo:12,
+ * hs:1,vs:1,sync:100663296,vmode:0
+ */
+static void s3c_lcd_init(GraphicDevice *panel,
+ struct ctfb_res_modes *mode, int bpp)
+{
+ uint32_t clk_divider;
+ struct s3c24x0_lcd *regs = s3c24x0_get_base_lcd();
+
+ /* Stop the controller. */
+ clrbits_le32(®s->lcdcon1, 1);
+
+ /* Calculate clock divider. */
+ clk_divider = (get_HCLK() / PS2KHZ(mode->pixclock)) / 1000;
+ clk_divider = DIV_ROUND_UP(clk_divider, 2);
+ if (clk_divider)
+ clk_divider -= 1;
+
+ /* Program LCD configuration. */
+ switch (bpp) {
+ case 16:
+ writel(S3CFB_LCDCON1_BPPMODE_TFT_16BPP |
+ S3CFB_LCDCON1_PNRMODE_TFT |
+ S3CFB_LCDCON1_CLKVAL(clk_divider),
+ ®s->lcdcon1);
+ writel(S3CFB_LCDCON5_HWSWP | S3CFB_LCDCON5_FRM565,
+ ®s->lcdcon5);
+ break;
+ case 24:
+ writel(S3CFB_LCDCON1_BPPMODE_TFT_24BPP |
+ S3CFB_LCDCON1_PNRMODE_TFT |
+ S3CFB_LCDCON1_CLKVAL(clk_divider),
+ ®s->lcdcon1);
+ writel(S3CFB_LCDCON5_BPP24BL, ®s->lcdcon5);
+ break;
+ }
+
+ writel(S3CFB_LCDCON2_LINEVAL(mode->yres - 1) |
+ S3CFB_LCDCON2_VBPD(mode->upper_margin - 1) |
+ S3CFB_LCDCON2_VFPD(mode->lower_margin - 1) |
+ S3CFB_LCDCON2_VSPW(mode->vsync_len - 1),
+ ®s->lcdcon2);
+
+ writel(S3CFB_LCDCON3_HBPD(mode->right_margin - 1) |
+ S3CFB_LCDCON3_HFPD(mode->left_margin - 1) |
+ S3CFB_LCDCON3_HOZVAL(mode->xres - 1),
+ ®s->lcdcon3);
+
+ writel(S3CFB_LCDCON4_HSPW(mode->hsync_len - 1),
+ ®s->lcdcon4);
+
+ /* Write FB address. */
+ writel(panel->frameAdrs >> 1, ®s->lcdsaddr1);
+ writel((panel->frameAdrs +
+ (mode->xres * mode->yres * panel->gdfBytesPP)) >> 1,
+ ®s->lcdsaddr2);
+ writel(mode->xres * bpp / 16, ®s->lcdsaddr3);
+
+ /* Start the controller. */
+ setbits_le32(®s->lcdcon1, 1);
+}
+
+void *video_hw_init(void)
+{
+ int bpp = -1;
+ char *penv;
+ void *fb;
+ struct ctfb_res_modes mode;
+
+ puts("Video: ");
+
+ /* Suck display configuration from "videomode" variable */
+ penv = getenv("videomode");
+ if (!penv) {
+ puts("S3CFB: 'videomode' variable not set!\n");
+ return NULL;
+ }
+
+ bpp = video_get_params(&mode, penv);
+
+ /* fill in Graphic device struct */
+ sprintf(panel.modeIdent, "%dx%dx%d", mode.xres, mode.yres, bpp);
+
+ panel.winSizeX = mode.xres;
+ panel.winSizeY = mode.yres;
+ panel.plnSizeX = mode.xres;
+ panel.plnSizeY = mode.yres;
+
+ switch (bpp) {
+ case 24:
+ panel.gdfBytesPP = 4;
+ panel.gdfIndex = GDF_32BIT_X888RGB;
+ break;
+ case 16:
+ panel.gdfBytesPP = 2;
+ panel.gdfIndex = GDF_16BIT_565RGB;
+ break;
+ default:
+ printf("S3CFB: Invalid BPP specified! (bpp = %i)\n", bpp);
+ return NULL;
+ }
+
+ panel.memSize = mode.xres * mode.yres * panel.gdfBytesPP;
+
+ /* Allocate framebuffer */
+ fb = memalign(S3CFB_ALIGN, roundup(panel.memSize, S3CFB_ALIGN));
+ if (!fb) {
+ printf("S3CFB: Error allocating framebuffer!\n");
+ return NULL;
+ }
+
+ /* Wipe framebuffer */
+ memset(fb, 0, panel.memSize);
+
+ panel.frameAdrs = (u32)fb;
+
+ printf("%s\n", panel.modeIdent);
+
+ /* Start framebuffer */
+ s3c_lcd_init(&panel, &mode, bpp);
+
+ return (void *)&panel;
+}
--
2.1.1
6
33

22 Feb '16
We need a way to support more than one board per binary in U-Boot with
device tree. Various methods have been discussed. The one that seems to make
the most sense is to adjust SPL so that it can load a FIT which contains
U-Boot and several device tree binaries. This is how things with with Linux:
load a FIT and select the correct device tree to pass to Linux.
This series:
- Adjusts the build system to optionally build a u-boot.img in FIT format
that includes the U-Boot binary and >1 device tree files
- Adjusts SPL to support loading this
- Adds a way for SPL to determine which device tree to select (by calling a
board-specific function)
- Adjusts SPL to pass this selected device tree to U-Boot when it starts
It would be painful to require an .its file for each board just to support
this feature. In any case various people have commented that it would be
nice not to have to write this file in general. Therefore, this series
enhances mkimage to automatically generate a FIT without a .its file. So far
it understands how to add a main image and a number of device tree files. It
does not support hashing or verified boot as yet.
One problem with the FIT format as it stands is that all the data is inline.
This means that the entire file must be read in order to figure out what
device-tree files are available. It is then possible to copy the images into
place.
This is not really suitable for SPL since copying can be slow, and reading
unnecessary data would make the FIT format less efficient than the legacy
format.
Therefore this series adds a new feature to FIT which allows the images to
be stored immediately after the FIT itself ends. This makes the FIT very
small. It can be read quickly and in its entirety. Then the images can be
loaded one by one as needed. This allows SPL to support FITs containing lots
of images very efficiently.
To achieve this, mkimage is enhanced to convert between the 'normal' and
'external' version of a FIT file. The latter is only used for the SPL loader.
The main difference is that viewing an 'external' FIT will not show the
contents of each image.
This series also includes a few other tidy-ups, such as moving mkimage's
tricky argument-processing code to use getopt().
NOTE: There are a few problems remaining with the Kconfig conversion. I'm
still fiddling with this but thought it best to send this series out for
comment in the meantime.
This series is available at u-boot-fdt/spl-working.
Simon Glass (26):
mkimage: Move argument processing into its own function
mkimage: Convert to use getopt()
mkimage: Sort the option processing code by option
mkimage: Move usage() up to the top
mkimage: Show an error message when usage() is called
mkimage: Make 'params' static
libfdt: Add a function to write a property placeholder
Correct defconfig ordering
Move CONFIG_OF_LIBFDT to Kconfig
Kconfig: Move CONFIG_FIT and CONFIG_OF_*_SETUP to Kconfig
fdt: Adjust DEFAULT_DEVICE_TREE to device on OF_CONTROL
fdt: Allow libfdt to be used in SPL
sunxi: Display the board model on start-up
tools: Include fdt_sw.o in libfdt for mkimage
mkimage: Allow a FIT to include an image of any type
tools: Add a function to obtain the size of a file
image: Add functions to obtain short names
mkimage: Support automatic creating of a FIT without a .its
mkimage: Support adding device tree files to a FIT
mkimage: Support placing data outside the FIT
mkimage: Bring data into the FIT before processing
spl: Add a way for boards to select which device tree to load
spl: Add an option to load a FIT containing U-Boot
spl: Add a way to specify a list of device trees to include
spl: Support loading a FIT from MMC
RFC: sunxi: Enable SPL FIT support
Kconfig | 11 +
Makefile | 10 +-
arch/arm/cpu/armv7/sunxi/board.c | 5 +
cmd/disk.c | 6 +-
common/Kconfig | 28 ++
common/Makefile | 6 +-
common/bootm.c | 14 +-
common/image-fdt.c | 8 +-
common/image-fit.c | 3 +-
common/image.c | 50 +-
common/spl/Makefile | 1 +
common/spl/spl_fit.c | 192 ++++++++
common/spl/spl_mmc.c | 75 ++-
configs/10m50_defconfig | 1 +
configs/3c120_defconfig | 1 +
configs/A10-OLinuXino-Lime_defconfig | 1 +
configs/A10s-OLinuXino-M_defconfig | 1 +
configs/A13-OLinuXinoM_defconfig | 1 +
configs/A13-OLinuXino_defconfig | 1 +
configs/A20-OLinuXino-Lime2_defconfig | 1 +
configs/A20-OLinuXino-Lime_defconfig | 1 +
configs/A20-OLinuXino_MICRO_defconfig | 1 +
configs/A20-Olimex-SOM-EVB_defconfig | 1 +
configs/Ainol_AW1_defconfig | 1 +
configs/Ampe_A76_defconfig | 1 +
configs/Auxtek-T003_defconfig | 1 +
configs/Auxtek-T004_defconfig | 1 +
configs/B4420QDS_NAND_defconfig | 3 +
configs/B4420QDS_SPIFLASH_defconfig | 3 +
configs/B4420QDS_defconfig | 3 +
configs/B4860QDS_NAND_defconfig | 3 +
configs/B4860QDS_SECURE_BOOT_defconfig | 3 +
configs/B4860QDS_SPIFLASH_defconfig | 3 +
configs/B4860QDS_SRIO_PCIE_BOOT_defconfig | 3 +
configs/B4860QDS_defconfig | 3 +
configs/BSC9131RDB_NAND_SYSCLK100_defconfig | 3 +
configs/BSC9131RDB_NAND_defconfig | 3 +
configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig | 3 +
configs/BSC9131RDB_SPIFLASH_defconfig | 3 +
configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig | 3 +
configs/BSC9132QDS_NAND_DDRCLK100_defconfig | 3 +
configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig | 3 +
configs/BSC9132QDS_NAND_DDRCLK133_defconfig | 3 +
configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig | 3 +
configs/BSC9132QDS_NOR_DDRCLK100_defconfig | 3 +
configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig | 3 +
configs/BSC9132QDS_NOR_DDRCLK133_defconfig | 3 +
.../BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig | 3 +
configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig | 3 +
.../BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig | 3 +
configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig | 3 +
.../BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig | 3 +
configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig | 3 +
.../BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig | 3 +
configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig | 3 +
configs/Bananapi_defconfig | 1 +
configs/Bananapro_defconfig | 1 +
configs/C29XPCIE_NAND_defconfig | 3 +
configs/C29XPCIE_NOR_SECBOOT_defconfig | 3 +
configs/C29XPCIE_SPIFLASH_SECBOOT_defconfig | 3 +
configs/C29XPCIE_SPIFLASH_defconfig | 3 +
configs/C29XPCIE_defconfig | 3 +
configs/CHIP_defconfig | 1 +
configs/CPCI4052_defconfig | 2 +
configs/CSQ_CS908_defconfig | 1 +
configs/Chuwi_V7_CW0825_defconfig | 1 +
configs/Colombus_defconfig | 1 +
configs/Cubieboard2_defconfig | 1 +
configs/Cubieboard_defconfig | 1 +
configs/Cubietruck_defconfig | 1 +
configs/Cyrus_P5020_defconfig | 3 +
configs/Cyrus_P5040_defconfig | 3 +
configs/Empire_electronix_d709_defconfig | 1 +
configs/Hummingbird_A31_defconfig | 1 +
configs/Hyundai_A7HD_defconfig | 1 +
configs/Lamobo_R1_defconfig | 1 +
configs/Linksprite_pcDuino3_Nano_defconfig | 1 +
configs/Linksprite_pcDuino3_defconfig | 4 +
configs/Linksprite_pcDuino_defconfig | 1 +
configs/MK808C_defconfig | 1 +
configs/MPC8308RDB_defconfig | 3 +
configs/MPC8313ERDB_33_defconfig | 2 +
configs/MPC8313ERDB_66_defconfig | 2 +
configs/MPC8313ERDB_NAND_33_defconfig | 2 +
configs/MPC8313ERDB_NAND_66_defconfig | 2 +
configs/MPC8315ERDB_defconfig | 2 +
configs/MPC8323ERDB_defconfig | 2 +
configs/MPC832XEMDS_ATM_defconfig | 2 +
configs/MPC832XEMDS_HOST_33_defconfig | 2 +
configs/MPC832XEMDS_HOST_66_defconfig | 2 +
configs/MPC832XEMDS_SLAVE_defconfig | 2 +
configs/MPC832XEMDS_defconfig | 2 +
configs/MPC8349EMDS_defconfig | 2 +
configs/MPC8349ITXGP_defconfig | 2 +
configs/MPC8349ITX_LOWBOOT_defconfig | 2 +
configs/MPC8349ITX_defconfig | 2 +
configs/MPC837XEMDS_HOST_defconfig | 2 +
configs/MPC837XEMDS_defconfig | 2 +
configs/MPC837XERDB_defconfig | 2 +
configs/MPC8536DS_36BIT_defconfig | 2 +
configs/MPC8536DS_SDCARD_defconfig | 2 +
configs/MPC8536DS_SPIFLASH_defconfig | 2 +
configs/MPC8536DS_defconfig | 2 +
configs/MPC8540ADS_defconfig | 2 +
configs/MPC8541CDS_defconfig | 2 +
configs/MPC8541CDS_legacy_defconfig | 2 +
configs/MPC8544DS_defconfig | 2 +
configs/MPC8548CDS_36BIT_defconfig | 2 +
configs/MPC8548CDS_defconfig | 2 +
configs/MPC8548CDS_legacy_defconfig | 2 +
configs/MPC8555CDS_defconfig | 2 +
configs/MPC8555CDS_legacy_defconfig | 2 +
configs/MPC8560ADS_defconfig | 2 +
configs/MPC8568MDS_defconfig | 2 +
configs/MPC8569MDS_ATM_defconfig | 2 +
configs/MPC8569MDS_defconfig | 2 +
configs/MPC8572DS_36BIT_defconfig | 3 +
configs/MPC8572DS_defconfig | 3 +
configs/MPC8610HPCD_defconfig | 2 +
configs/MPC8641HPCN_36BIT_defconfig | 2 +
configs/MPC8641HPCN_defconfig | 2 +
configs/MSI_Primo73_defconfig | 1 +
configs/MSI_Primo81_defconfig | 1 +
configs/Marsboard_A10_defconfig | 1 +
configs/Mele_A1000G_quad_defconfig | 1 +
configs/Mele_A1000_defconfig | 1 +
configs/Mele_I7_defconfig | 1 +
configs/Mele_M3_defconfig | 1 +
configs/Mele_M5_defconfig | 1 +
configs/Mele_M9_defconfig | 1 +
configs/Mini-X_defconfig | 1 +
configs/MiniFAP_defconfig | 2 +
configs/O2D300_defconfig | 2 +
configs/O2DNT2_RAMBOOT_defconfig | 2 +
configs/O2DNT2_defconfig | 2 +
configs/O2D_defconfig | 2 +
configs/O2I_defconfig | 2 +
configs/O2MNT_O2M110_defconfig | 2 +
configs/O2MNT_O2M112_defconfig | 2 +
configs/O2MNT_O2M113_defconfig | 2 +
configs/O2MNT_defconfig | 2 +
configs/O3DNT_defconfig | 2 +
configs/Orangepi_defconfig | 1 +
configs/Orangepi_mini_defconfig | 1 +
configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig | 3 +
configs/P1010RDB-PA_36BIT_NAND_defconfig | 3 +
configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig | 3 +
configs/P1010RDB-PA_36BIT_NOR_defconfig | 3 +
configs/P1010RDB-PA_36BIT_SDCARD_defconfig | 3 +
.../P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig | 3 +
configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig | 3 +
configs/P1010RDB-PA_NAND_SECBOOT_defconfig | 3 +
configs/P1010RDB-PA_NAND_defconfig | 3 +
configs/P1010RDB-PA_NOR_SECBOOT_defconfig | 3 +
configs/P1010RDB-PA_NOR_defconfig | 3 +
configs/P1010RDB-PA_SDCARD_defconfig | 3 +
configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig | 3 +
configs/P1010RDB-PA_SPIFLASH_defconfig | 3 +
configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig | 3 +
configs/P1010RDB-PB_36BIT_NAND_defconfig | 3 +
configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig | 3 +
configs/P1010RDB-PB_36BIT_NOR_defconfig | 3 +
configs/P1010RDB-PB_36BIT_SDCARD_defconfig | 3 +
.../P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig | 3 +
configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig | 3 +
configs/P1010RDB-PB_NAND_SECBOOT_defconfig | 3 +
configs/P1010RDB-PB_NAND_defconfig | 3 +
configs/P1010RDB-PB_NOR_SECBOOT_defconfig | 3 +
configs/P1010RDB-PB_NOR_defconfig | 3 +
configs/P1010RDB-PB_SDCARD_defconfig | 3 +
configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig | 3 +
configs/P1010RDB-PB_SPIFLASH_defconfig | 3 +
configs/P1020MBG-PC_36BIT_SDCARD_defconfig | 3 +
configs/P1020MBG-PC_36BIT_defconfig | 3 +
configs/P1020MBG-PC_SDCARD_defconfig | 3 +
configs/P1020MBG-PC_defconfig | 3 +
configs/P1020RDB-PC_36BIT_NAND_defconfig | 3 +
configs/P1020RDB-PC_36BIT_SDCARD_defconfig | 3 +
configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig | 3 +
configs/P1020RDB-PC_36BIT_defconfig | 3 +
configs/P1020RDB-PC_NAND_defconfig | 3 +
configs/P1020RDB-PC_SDCARD_defconfig | 3 +
configs/P1020RDB-PC_SPIFLASH_defconfig | 3 +
configs/P1020RDB-PC_defconfig | 3 +
configs/P1020RDB-PD_NAND_defconfig | 3 +
configs/P1020RDB-PD_SDCARD_defconfig | 3 +
configs/P1020RDB-PD_SPIFLASH_defconfig | 3 +
configs/P1020RDB-PD_defconfig | 3 +
configs/P1020UTM-PC_36BIT_SDCARD_defconfig | 3 +
configs/P1020UTM-PC_36BIT_defconfig | 3 +
configs/P1020UTM-PC_SDCARD_defconfig | 3 +
configs/P1020UTM-PC_defconfig | 3 +
configs/P1021RDB-PC_36BIT_NAND_defconfig | 3 +
configs/P1021RDB-PC_36BIT_SDCARD_defconfig | 3 +
configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig | 3 +
configs/P1021RDB-PC_36BIT_defconfig | 3 +
configs/P1021RDB-PC_NAND_defconfig | 3 +
configs/P1021RDB-PC_SDCARD_defconfig | 3 +
configs/P1021RDB-PC_SPIFLASH_defconfig | 3 +
configs/P1021RDB-PC_defconfig | 3 +
configs/P1022DS_36BIT_NAND_defconfig | 3 +
configs/P1022DS_36BIT_SDCARD_defconfig | 3 +
configs/P1022DS_36BIT_SPIFLASH_defconfig | 3 +
configs/P1022DS_36BIT_defconfig | 3 +
configs/P1022DS_NAND_defconfig | 3 +
configs/P1022DS_SDCARD_defconfig | 3 +
configs/P1022DS_SPIFLASH_defconfig | 3 +
configs/P1022DS_defconfig | 3 +
configs/P1023RDB_defconfig | 3 +
configs/P1024RDB_36BIT_defconfig | 3 +
configs/P1024RDB_NAND_defconfig | 3 +
configs/P1024RDB_SDCARD_defconfig | 3 +
configs/P1024RDB_SPIFLASH_defconfig | 3 +
configs/P1024RDB_defconfig | 3 +
configs/P1025RDB_36BIT_defconfig | 3 +
configs/P1025RDB_NAND_defconfig | 3 +
configs/P1025RDB_SDCARD_defconfig | 3 +
configs/P1025RDB_SPIFLASH_defconfig | 3 +
configs/P1025RDB_defconfig | 3 +
configs/P2020RDB-PC_36BIT_NAND_defconfig | 3 +
configs/P2020RDB-PC_36BIT_SDCARD_defconfig | 3 +
configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig | 3 +
configs/P2020RDB-PC_36BIT_defconfig | 3 +
configs/P2020RDB-PC_NAND_defconfig | 3 +
configs/P2020RDB-PC_SDCARD_defconfig | 3 +
configs/P2020RDB-PC_SPIFLASH_defconfig | 3 +
configs/P2020RDB-PC_defconfig | 3 +
configs/P2041RDB_NAND_defconfig | 3 +
configs/P2041RDB_SDCARD_defconfig | 3 +
configs/P2041RDB_SECURE_BOOT_defconfig | 3 +
configs/P2041RDB_SPIFLASH_defconfig | 3 +
configs/P2041RDB_SRIO_PCIE_BOOT_defconfig | 3 +
configs/P2041RDB_defconfig | 3 +
configs/P3041DS_NAND_SECURE_BOOT_defconfig | 3 +
configs/P3041DS_NAND_defconfig | 3 +
configs/P3041DS_SDCARD_defconfig | 3 +
configs/P3041DS_SECURE_BOOT_defconfig | 3 +
configs/P3041DS_SPIFLASH_defconfig | 3 +
configs/P3041DS_SRIO_PCIE_BOOT_defconfig | 3 +
configs/P3041DS_defconfig | 3 +
configs/P4080DS_SDCARD_defconfig | 3 +
configs/P4080DS_SECURE_BOOT_defconfig | 3 +
configs/P4080DS_SPIFLASH_defconfig | 3 +
configs/P4080DS_SRIO_PCIE_BOOT_defconfig | 3 +
configs/P4080DS_defconfig | 3 +
configs/P5020DS_NAND_SECURE_BOOT_defconfig | 3 +
configs/P5020DS_NAND_defconfig | 3 +
configs/P5020DS_SDCARD_defconfig | 3 +
configs/P5020DS_SECURE_BOOT_defconfig | 3 +
configs/P5020DS_SPIFLASH_defconfig | 3 +
configs/P5020DS_SRIO_PCIE_BOOT_defconfig | 3 +
configs/P5020DS_defconfig | 3 +
configs/P5040DS_NAND_SECURE_BOOT_defconfig | 3 +
configs/P5040DS_NAND_defconfig | 3 +
configs/P5040DS_SDCARD_defconfig | 3 +
configs/P5040DS_SECURE_BOOT_defconfig | 3 +
configs/P5040DS_SPIFLASH_defconfig | 3 +
configs/P5040DS_defconfig | 3 +
configs/PLU405_defconfig | 2 +
configs/PMC405DE_defconfig | 2 +
configs/PMC440_defconfig | 2 +
configs/Sinlinx_SinA33_defconfig | 1 +
configs/Sinovoip_BPI_M2_defconfig | 1 +
configs/T1023RDB_NAND_defconfig | 3 +
configs/T1023RDB_SDCARD_defconfig | 3 +
configs/T1023RDB_SECURE_BOOT_defconfig | 3 +
configs/T1023RDB_SPIFLASH_defconfig | 3 +
configs/T1023RDB_defconfig | 3 +
configs/T1024QDS_DDR4_SECURE_BOOT_defconfig | 3 +
configs/T1024QDS_DDR4_defconfig | 3 +
configs/T1024QDS_NAND_defconfig | 3 +
configs/T1024QDS_SDCARD_defconfig | 3 +
configs/T1024QDS_SECURE_BOOT_defconfig | 3 +
configs/T1024QDS_SPIFLASH_defconfig | 3 +
configs/T1024QDS_defconfig | 3 +
configs/T1024RDB_NAND_defconfig | 3 +
configs/T1024RDB_SDCARD_defconfig | 3 +
configs/T1024RDB_SECURE_BOOT_defconfig | 3 +
configs/T1024RDB_SPIFLASH_defconfig | 3 +
configs/T1024RDB_defconfig | 3 +
configs/T1040D4RDB_NAND_defconfig | 3 +
configs/T1040D4RDB_SDCARD_defconfig | 3 +
configs/T1040D4RDB_SECURE_BOOT_defconfig | 3 +
configs/T1040D4RDB_SPIFLASH_defconfig | 3 +
configs/T1040D4RDB_defconfig | 3 +
configs/T1040QDS_DDR4_defconfig | 3 +
configs/T1040QDS_SECURE_BOOT_defconfig | 3 +
configs/T1040QDS_defconfig | 3 +
configs/T1040RDB_NAND_defconfig | 3 +
configs/T1040RDB_SDCARD_defconfig | 3 +
configs/T1040RDB_SECURE_BOOT_defconfig | 3 +
configs/T1040RDB_SPIFLASH_defconfig | 3 +
configs/T1040RDB_defconfig | 3 +
configs/T1042D4RDB_NAND_defconfig | 3 +
configs/T1042D4RDB_SDCARD_defconfig | 3 +
configs/T1042D4RDB_SECURE_BOOT_defconfig | 3 +
configs/T1042D4RDB_SPIFLASH_defconfig | 3 +
configs/T1042D4RDB_defconfig | 3 +
configs/T1042RDB_PI_NAND_defconfig | 3 +
configs/T1042RDB_PI_SDCARD_defconfig | 3 +
configs/T1042RDB_PI_SPIFLASH_defconfig | 3 +
configs/T1042RDB_PI_defconfig | 3 +
configs/T1042RDB_SECURE_BOOT_defconfig | 3 +
configs/T1042RDB_defconfig | 3 +
configs/T2080QDS_NAND_defconfig | 3 +
configs/T2080QDS_SDCARD_defconfig | 3 +
configs/T2080QDS_SECURE_BOOT_defconfig | 3 +
configs/T2080QDS_SPIFLASH_defconfig | 3 +
configs/T2080QDS_SRIO_PCIE_BOOT_defconfig | 3 +
configs/T2080QDS_defconfig | 3 +
configs/T2080RDB_NAND_defconfig | 3 +
configs/T2080RDB_SDCARD_defconfig | 3 +
configs/T2080RDB_SECURE_BOOT_defconfig | 3 +
configs/T2080RDB_SPIFLASH_defconfig | 3 +
configs/T2080RDB_SRIO_PCIE_BOOT_defconfig | 3 +
configs/T2080RDB_defconfig | 3 +
configs/T2081QDS_NAND_defconfig | 3 +
configs/T2081QDS_SDCARD_defconfig | 3 +
configs/T2081QDS_SPIFLASH_defconfig | 3 +
configs/T2081QDS_SRIO_PCIE_BOOT_defconfig | 3 +
configs/T2081QDS_defconfig | 3 +
configs/T4160QDS_NAND_defconfig | 3 +
configs/T4160QDS_SDCARD_defconfig | 3 +
configs/T4160QDS_SECURE_BOOT_defconfig | 3 +
configs/T4160QDS_defconfig | 3 +
configs/T4160RDB_defconfig | 3 +
configs/T4240QDS_NAND_defconfig | 3 +
configs/T4240QDS_SDCARD_defconfig | 3 +
configs/T4240QDS_SECURE_BOOT_defconfig | 3 +
configs/T4240QDS_SRIO_PCIE_BOOT_defconfig | 3 +
configs/T4240QDS_defconfig | 3 +
configs/T4240RDB_SDCARD_defconfig | 3 +
configs/T4240RDB_defconfig | 3 +
configs/TQM5200S_HIGHBOOT_defconfig | 2 +
configs/TQM5200S_defconfig | 2 +
configs/TQM5200_B_HIGHBOOT_defconfig | 2 +
configs/TQM5200_B_defconfig | 2 +
configs/TQM5200_STK100_defconfig | 2 +
configs/TQM5200_defconfig | 2 +
configs/TQM823L_LCD_defconfig | 2 +
configs/TQM823L_defconfig | 2 +
configs/TQM823M_defconfig | 2 +
configs/TQM834x_defconfig | 2 +
configs/TQM850L_defconfig | 2 +
configs/TQM850M_defconfig | 2 +
configs/TQM855L_defconfig | 2 +
configs/TQM855M_defconfig | 2 +
configs/TQM860L_defconfig | 2 +
configs/TQM860M_defconfig | 2 +
configs/TQM862L_defconfig | 2 +
configs/TQM862M_defconfig | 2 +
configs/TQM866M_defconfig | 2 +
configs/TQM885D_defconfig | 2 +
configs/TTTech_defconfig | 2 +
configs/TWR-P1025_defconfig | 3 +
configs/UCP1020_SPIFLASH_defconfig | 3 +
configs/UCP1020_defconfig | 3 +
configs/UTOO_P66_defconfig | 1 +
configs/VOM405_defconfig | 2 +
configs/Wexler_TAB7200_defconfig | 1 +
configs/Wits_Pro_A20_DKT_defconfig | 1 +
configs/Wobo_i5_defconfig | 1 +
configs/Yones_Toptech_BD1078_defconfig | 1 +
configs/a3m071_defconfig | 3 +
configs/a4m072_defconfig | 2 +
configs/a4m2k_defconfig | 3 +
configs/ac14xx_defconfig | 3 +
configs/acadia_defconfig | 2 +
configs/alt_defconfig | 1 +
configs/am335x_baltos_defconfig | 2 +
configs/am335x_boneblack_defconfig | 2 +
configs/am335x_evm_defconfig | 2 +
configs/am335x_evm_nor_defconfig | 2 +
configs/am335x_evm_norboot_defconfig | 2 +
configs/am335x_evm_spiboot_defconfig | 2 +
configs/am335x_evm_usbspl_defconfig | 2 +
configs/am335x_gp_evm_defconfig | 3 +-
configs/am335x_igep0033_defconfig | 1 +
configs/am335x_sl50_defconfig | 2 +
configs/am3517_evm_defconfig | 1 +
configs/am437x_sk_evm_defconfig | 6 +-
configs/am43xx_evm_defconfig | 1 +
configs/am43xx_evm_ethboot_defconfig | 1 +
configs/am43xx_evm_qspiboot_defconfig | 1 +
configs/am43xx_evm_usbhost_boot_defconfig | 1 +
configs/am57xx_evm_nodt_defconfig | 1 +
configs/apalis_t30_defconfig | 2 +-
configs/apf27_defconfig | 1 +
configs/apx4devkit_defconfig | 1 +
configs/arches_defconfig | 1 +
configs/aria_defconfig | 2 +
configs/aristainetos2_defconfig | 2 +
configs/aristainetos2b_defconfig | 2 +
configs/aristainetos_defconfig | 2 +
configs/armadillo-800eva_defconfig | 1 +
configs/arndale_defconfig | 1 +
configs/aspenite_defconfig | 1 +
configs/at91rm9200ek_defconfig | 1 +
configs/at91rm9200ek_ram_defconfig | 1 +
configs/at91sam9260ek_dataflash_cs0_defconfig | 1 +
configs/at91sam9260ek_dataflash_cs1_defconfig | 1 +
configs/at91sam9260ek_nandflash_defconfig | 1 +
configs/at91sam9261ek_dataflash_cs0_defconfig | 1 +
configs/at91sam9261ek_dataflash_cs3_defconfig | 1 +
configs/at91sam9261ek_nandflash_defconfig | 1 +
configs/at91sam9263ek_dataflash_cs0_defconfig | 1 +
configs/at91sam9263ek_dataflash_defconfig | 1 +
configs/at91sam9263ek_nandflash_defconfig | 1 +
configs/at91sam9263ek_norflash_boot_defconfig | 1 +
configs/at91sam9263ek_norflash_defconfig | 1 +
configs/at91sam9g10ek_dataflash_cs0_defconfig | 1 +
configs/at91sam9g10ek_dataflash_cs3_defconfig | 1 +
configs/at91sam9g10ek_nandflash_defconfig | 1 +
configs/at91sam9g20ek_2mmc_defconfig | 1 +
configs/at91sam9g20ek_2mmc_nandflash_defconfig | 1 +
configs/at91sam9g20ek_dataflash_cs0_defconfig | 1 +
configs/at91sam9g20ek_dataflash_cs1_defconfig | 1 +
configs/at91sam9g20ek_nandflash_defconfig | 1 +
configs/at91sam9m10g45ek_mmc_defconfig | 1 +
configs/at91sam9m10g45ek_nandflash_defconfig | 1 +
configs/at91sam9n12ek_mmc_defconfig | 1 +
configs/at91sam9n12ek_nandflash_defconfig | 1 +
configs/at91sam9n12ek_spiflash_defconfig | 1 +
configs/at91sam9rlek_dataflash_defconfig | 1 +
configs/at91sam9rlek_mmc_defconfig | 1 +
configs/at91sam9rlek_nandflash_defconfig | 1 +
configs/at91sam9x5ek_dataflash_defconfig | 1 +
configs/at91sam9x5ek_mmc_defconfig | 1 +
configs/at91sam9x5ek_nandflash_defconfig | 1 +
configs/at91sam9x5ek_spiflash_defconfig | 1 +
configs/at91sam9xeek_dataflash_cs0_defconfig | 1 +
configs/at91sam9xeek_dataflash_cs1_defconfig | 1 +
configs/at91sam9xeek_nandflash_defconfig | 1 +
configs/axm_defconfig | 1 +
configs/ba10_tv_box_defconfig | 1 +
configs/bamboo_defconfig | 2 +
configs/bayleybay_defconfig | 5 +-
configs/bcm911360_entphn-ns_defconfig | 1 +
configs/bcm911360_entphn_defconfig | 1 +
configs/bcm911360k_defconfig | 1 +
configs/bcm958300k-ns_defconfig | 1 +
configs/bcm958300k_defconfig | 1 +
configs/bcm958305k_defconfig | 1 +
configs/bcm958622hr_defconfig | 1 +
configs/beaver_defconfig | 1 +
configs/bg0900_defconfig | 1 +
configs/birdland_bav335a_defconfig | 2 +
configs/birdland_bav335b_defconfig | 2 +
configs/bubinga_defconfig | 2 +
configs/caddy2_defconfig | 2 +
configs/cairo_defconfig | 1 +
configs/cam5200_defconfig | 2 +
configs/cam5200_niosflash_defconfig | 2 +
configs/canyonlands_defconfig | 1 +
configs/cardhu_defconfig | 1 +
configs/cgtqmx6eval_defconfig | 5 +-
configs/charon_defconfig | 2 +
configs/chromebook_link_defconfig | 5 +-
configs/chromebox_panther_defconfig | 5 +-
configs/cm5200_defconfig | 2 +
configs/cm_fx6_defconfig | 2 +
configs/cm_t335_defconfig | 1 +
configs/cm_t3517_defconfig | 1 +
configs/cm_t35_defconfig | 1 +
configs/cm_t43_defconfig | 1 +
configs/cm_t54_defconfig | 2 +
configs/colibri_pxa270_defconfig | 1 +
configs/colibri_t20_defconfig | 1 +
configs/colibri_t30_defconfig | 1 +
configs/colibri_vf_defconfig | 1 +
.../controlcenterd_36BIT_SDCARD_DEVELOP_defconfig | 3 +
configs/controlcenterd_36BIT_SDCARD_defconfig | 3 +
configs/coreboot-x86_defconfig | 5 +-
configs/corvus_defconfig | 1 +
configs/crownbay_defconfig | 5 +-
configs/d2net_v2_defconfig | 1 +
configs/da850_am18xxevm_defconfig | 1 +
configs/da850evm_defconfig | 1 +
configs/da850evm_direct_nor_defconfig | 1 +
configs/dalmore_defconfig | 1 +
configs/devconcenter_defconfig | 3 +
configs/devkit3250_defconfig | 1 +
configs/devkit8000_defconfig | 1 +
configs/digsy_mtc_RAMBOOT_defconfig | 2 +
configs/digsy_mtc_defconfig | 2 +
configs/digsy_mtc_rev5_RAMBOOT_defconfig | 2 +
configs/digsy_mtc_rev5_defconfig | 2 +
configs/dlvision-10g_defconfig | 3 +
configs/dlvision_defconfig | 3 +
configs/dns325_defconfig | 1 +
configs/dockstar_defconfig | 1 +
configs/dra72_evm_defconfig | 4 +-
configs/dra74_evm_defconfig | 6 +-
configs/dra7xx_evm_defconfig | 1 +
configs/dra7xx_evm_qspiboot_defconfig | 1 +
configs/dra7xx_evm_uart3_defconfig | 1 +
configs/draco_defconfig | 1 +
configs/dreamplug_defconfig | 1 +
configs/duovero_defconfig | 1 +
configs/e2220-1170_defconfig | 1 +
configs/eco5pk_defconfig | 2 +
configs/efi-x86_defconfig | 2 +-
configs/evb-rk3036_defconfig | 25 +-
configs/firefly-rk3288_defconfig | 2 +-
configs/flea3_defconfig | 1 +
configs/fo300_defconfig | 2 +
configs/ga10h_v1_1_defconfig | 1 +
configs/galileo_defconfig | 5 +-
configs/gdppc440etx_defconfig | 2 +
configs/glacier_defconfig | 1 +
configs/glacier_ramboot_defconfig | 1 +
configs/goflexhome_defconfig | 1 +
configs/gose_defconfig | 1 +
configs/gplugd_defconfig | 1 +
configs/gt90h_v4_defconfig | 1 +
configs/guruplug_defconfig | 1 +
configs/gwventana_defconfig | 3 +
configs/h2200_defconfig | 1 +
configs/h8_homlet_v2_defconfig | 6 -
configs/haleakala_defconfig | 2 +
configs/harmony_defconfig | 1 +
configs/highbank_defconfig | 3 +
configs/hikey_defconfig | 1 +
configs/hrcon_defconfig | 3 +
configs/hrcon_dh_defconfig | 3 +
configs/i12-tvbox_defconfig | 1 +
configs/iNet_3F_defconfig | 1 +
configs/iNet_3W_defconfig | 1 +
configs/iNet_86VS_defconfig | 1 +
configs/ib62x0_defconfig | 1 +
configs/icon_defconfig | 2 +
configs/iconnect_defconfig | 1 +
configs/ids8313_defconfig | 2 +
configs/igep0020_defconfig | 3 +-
configs/igep0020_nand_defconfig | 3 +-
configs/igep0030_defconfig | 1 +
configs/igep0030_nand_defconfig | 1 +
configs/igep0032_defconfig | 3 +-
configs/inet1_defconfig | 1 +
configs/inet97fv2_defconfig | 1 +
configs/inet98v_rev2_defconfig | 1 +
configs/inet9f_rev03_defconfig | 1 +
configs/inetspace_v2_defconfig | 1 +
configs/integratorap_cm720t_defconfig | 1 +
configs/integratorap_cm920t_defconfig | 1 +
configs/integratorap_cm926ejs_defconfig | 1 +
configs/integratorap_cm946es_defconfig | 1 +
configs/integratorcp_cm1136_defconfig | 1 +
configs/integratorcp_cm920t_defconfig | 1 +
configs/integratorcp_cm926ejs_defconfig | 1 +
configs/integratorcp_cm946es_defconfig | 1 +
configs/intip_defconfig | 3 +
configs/io64_defconfig | 3 +
configs/io_defconfig | 3 +
configs/iocon_defconfig | 2 +
configs/ipek01_defconfig | 2 +
configs/jesurun_q5_defconfig | 1 +
configs/jetson-tk1_defconfig | 1 +
configs/k2e_evm_defconfig | 1 +
configs/k2g_evm_defconfig | 1 +
configs/k2hk_evm_defconfig | 1 +
configs/k2l_evm_defconfig | 1 +
configs/katmai_defconfig | 2 +
configs/kilauea_defconfig | 2 +
configs/km_kirkwood_128m16_defconfig | 1 +
configs/km_kirkwood_defconfig | 1 +
configs/km_kirkwood_pci_defconfig | 1 +
configs/kmcoge4_defconfig | 3 +
configs/kmcoge5ne_defconfig | 2 +
configs/kmcoge5un_defconfig | 1 +
configs/kmeter1_defconfig | 2 +
configs/kmlion1_defconfig | 3 +
configs/kmnusa_defconfig | 1 +
configs/kmopti2_defconfig | 2 +
configs/kmsugp1_defconfig | 1 +
configs/kmsupx5_defconfig | 2 +
configs/kmsuv31_defconfig | 1 +
configs/kmtegr1_defconfig | 2 +
configs/kmtepr2_defconfig | 2 +
configs/kmvect1_defconfig | 2 +
configs/koelsch_defconfig | 1 +
configs/kwb_defconfig | 1 +
configs/kylin-rk3036_defconfig | 16 +-
configs/kzm9g_defconfig | 1 +
configs/lager_defconfig | 1 +
configs/ls1021aqds_ddr4_nor_defconfig | 2 +
configs/ls1021aqds_ddr4_nor_lpuart_defconfig | 2 +
configs/ls1021aqds_nand_defconfig | 2 +
configs/ls1021aqds_nor_SECURE_BOOT_defconfig | 2 +
configs/ls1021aqds_nor_defconfig | 2 +
configs/ls1021aqds_nor_lpuart_defconfig | 2 +
configs/ls1021aqds_qspi_defconfig | 1 +
configs/ls1021aqds_sdcard_defconfig | 2 +
configs/ls1021atwr_nor_SECURE_BOOT_defconfig | 2 +
configs/ls1021atwr_nor_defconfig | 1 +
configs/ls1021atwr_nor_lpuart_defconfig | 1 +
configs/ls1021atwr_qspi_defconfig | 1 +
configs/ls1021atwr_sdcard_ifc_defconfig | 2 +
configs/ls1021atwr_sdcard_qspi_defconfig | 1 +
configs/ls1043aqds_defconfig | 6 +-
configs/ls1043aqds_nand_defconfig | 7 +-
configs/ls1043aqds_nor_ddr3_defconfig | 3 +
configs/ls1043aqds_sdcard_ifc_defconfig | 7 +-
configs/ls1043ardb_SECURE_BOOT_defconfig | 8 +-
configs/ls1043ardb_defconfig | 8 +-
configs/ls1043ardb_nand_defconfig | 8 +-
configs/ls1043ardb_sdcard_defconfig | 8 +-
configs/ls2080a_emu_defconfig | 3 +
configs/ls2080a_simu_defconfig | 3 +
configs/ls2080aqds_defconfig | 2 +
configs/ls2080aqds_nand_defconfig | 3 +
configs/ls2080ardb_defconfig | 2 +
configs/ls2080ardb_nand_defconfig | 3 +
configs/ls2085a_emu_defconfig | 3 +
configs/ls2085a_simu_defconfig | 3 +
configs/ls2085aqds_defconfig | 2 +
configs/ls2085aqds_nand_defconfig | 3 +
configs/ls2085ardb_defconfig | 2 +
configs/ls2085ardb_nand_defconfig | 3 +
configs/lschlv2_defconfig | 1 +
configs/lsxhl_defconfig | 1 +
configs/luan_defconfig | 2 +
configs/lwmon5_defconfig | 3 +
configs/m28evk_defconfig | 2 +
configs/m53evk_defconfig | 2 +
configs/makalu_defconfig | 2 +
configs/marsboard_defconfig | 1 +
configs/mcx_defconfig | 2 +
configs/mecp5123_defconfig | 2 +
configs/medcom-wide_defconfig | 2 +
configs/meesc_dataflash_defconfig | 2 +
configs/meesc_defconfig | 2 +
configs/mgcoge3ne_defconfig | 3 +
configs/mgcoge3un_defconfig | 1 +
configs/mgcoge_defconfig | 3 +
configs/microblaze-generic_defconfig | 1 +
configs/minnowmax_defconfig | 5 +-
configs/mixtile_loftq_defconfig | 1 +
configs/mk802_a10s_defconfig | 1 +
configs/mk802_defconfig | 1 +
configs/mk802ii_defconfig | 1 +
configs/motionpro_defconfig | 2 +
configs/mpc5121ads_defconfig | 2 +
configs/mpc5121ads_rev2_defconfig | 2 +
configs/mpc8308_p1m_defconfig | 2 +
configs/mt_ventoux_defconfig | 2 +
configs/munices_defconfig | 2 +
configs/mx23_olinuxino_defconfig | 1 +
configs/mx23evk_defconfig | 1 +
configs/mx25pdk_defconfig | 1 +
configs/mx28evk_auart_console_defconfig | 1 +
configs/mx28evk_defconfig | 1 +
configs/mx28evk_nand_defconfig | 1 +
configs/mx28evk_spi_defconfig | 1 +
configs/mx35pdk_defconfig | 1 +
configs/mx51evk_defconfig | 1 +
configs/mx53ard_defconfig | 1 +
configs/mx53evk_defconfig | 1 +
configs/mx53loco_defconfig | 1 +
configs/mx53smd_defconfig | 1 +
configs/mx6cuboxi_defconfig | 1 +
configs/mx6dlarm2_defconfig | 1 +
configs/mx6dlarm2_lpddr2_defconfig | 1 +
configs/mx6dlsabreauto_defconfig | 1 +
configs/mx6dlsabresd_defconfig | 1 +
configs/mx6qarm2_defconfig | 1 +
configs/mx6qarm2_lpddr2_defconfig | 1 +
configs/mx6qpsabreauto_defconfig | 1 +
configs/mx6qsabreauto_defconfig | 1 +
configs/mx6qsabrelite_defconfig | 1 +
configs/mx6qsabresd_defconfig | 1 +
configs/mx6sabresd_spl_defconfig | 1 +
configs/mx6slevk_defconfig | 1 +
configs/mx6slevk_spinor_defconfig | 1 +
configs/mx6slevk_spl_defconfig | 1 +
configs/mx6sxsabresd_defconfig | 1 +
configs/mx6sxsabresd_spl_defconfig | 1 +
configs/mx6ul_14x14_evk_defconfig | 1 +
configs/mx6ul_9x9_evk_defconfig | 1 +
configs/mx7dsabresd_defconfig | 1 +
configs/nas220_defconfig | 1 +
configs/neo_defconfig | 3 +
configs/net2big_v2_defconfig | 1 +
configs/netspace_lite_v2_defconfig | 1 +
configs/netspace_max_v2_defconfig | 1 +
configs/netspace_mini_v2_defconfig | 1 +
configs/netspace_v2_defconfig | 1 +
configs/nitrogen6dl2g_defconfig | 1 +
configs/nitrogen6dl_defconfig | 1 +
configs/nitrogen6q2g_defconfig | 1 +
configs/nitrogen6q_defconfig | 1 +
configs/nitrogen6s1g_defconfig | 1 +
configs/nitrogen6s_defconfig | 1 +
configs/novena_defconfig | 2 +
configs/nsa310s_defconfig | 9 +-
configs/nyan-big_defconfig | 2 +
configs/odroid-xu3_defconfig | 1 +
configs/odroid_defconfig | 1 +
configs/omap3_beagle_defconfig | 1 +
configs/omap3_ha_defconfig | 1 +
configs/omap3_logic_defconfig | 1 +
configs/omap3_overo_defconfig | 1 +
configs/omap3_pandora_defconfig | 1 +
configs/omap3_zoom1_defconfig | 1 +
configs/omap4_panda_defconfig | 1 +
configs/omap4_sdp4430_defconfig | 1 +
configs/omap5_uevm_defconfig | 1 +
configs/omapl138_lcdk_defconfig | 1 +
configs/openrd_base_defconfig | 1 +
configs/openrd_client_defconfig | 1 +
configs/openrd_ultimate_defconfig | 1 +
configs/orangepi_pc_defconfig | 2 +-
configs/ot1200_defconfig | 1 +
configs/ot1200_spl_defconfig | 1 +
configs/p2371-0000_defconfig | 1 +
configs/p2371-2180_defconfig | 3 +-
configs/p2571_defconfig | 1 +
configs/paz00_defconfig | 1 +
configs/pcm030_LOWBOOT_defconfig | 2 +
configs/pcm030_defconfig | 2 +
configs/pcm051_rev1_defconfig | 1 +
configs/pcm051_rev3_defconfig | 1 +
configs/pcm052_defconfig | 1 +
configs/pdm360ng_defconfig | 3 +
configs/peach-pi_defconfig | 1 +
configs/peach-pit_defconfig | 1 +
configs/pengwyn_defconfig | 1 +
configs/pepper_defconfig | 1 +
configs/picosam9g45_defconfig | 1 +
configs/platinum_picon_defconfig | 1 +
configs/platinum_titanium_defconfig | 1 +
configs/plutux_defconfig | 2 +
configs/pogo_e02_defconfig | 1 +
configs/porter_defconfig | 1 +
configs/portl2_defconfig | 1 +
configs/pov_protab2_ips9_defconfig | 1 +
configs/pxm2_defconfig | 2 +
configs/q8_a13_tablet_defconfig | 1 +
configs/q8_a23_tablet_800x480_defconfig | 1 +
configs/q8_a33_tablet_1024x600_defconfig | 1 +
configs/q8_a33_tablet_800x480_defconfig | 1 +
configs/qemu-ppce500_defconfig | 3 +
configs/qemu-x86_defconfig | 5 +-
configs/r7-tv-dongle_defconfig | 1 +
configs/rainier_defconfig | 2 +
configs/rainier_ramboot_defconfig | 2 +
configs/rastaban_defconfig | 1 +
configs/redwood_defconfig | 2 +
configs/riotboard_defconfig | 1 +
configs/rock2_defconfig | 2 +-
configs/rpi_2_defconfig | 2 +
configs/rpi_defconfig | 2 +
configs/rut_defconfig | 2 +
configs/sama5d2_xplained_mmc_defconfig | 1 +
configs/sama5d2_xplained_spiflash_defconfig | 1 +
configs/sama5d3_xplained_mmc_defconfig | 1 +
configs/sama5d3_xplained_nandflash_defconfig | 1 +
configs/sama5d3xek_mmc_defconfig | 1 +
configs/sama5d3xek_nandflash_defconfig | 1 +
configs/sama5d3xek_spiflash_defconfig | 1 +
configs/sama5d4_xplained_mmc_defconfig | 1 +
configs/sama5d4_xplained_nandflash_defconfig | 1 +
configs/sama5d4_xplained_spiflash_defconfig | 1 +
configs/sama5d4ek_mmc_defconfig | 1 +
configs/sama5d4ek_nandflash_defconfig | 1 +
configs/sama5d4ek_spiflash_defconfig | 1 +
configs/sandbox_defconfig | 8 +-
configs/sansa_fuze_plus_defconfig | 1 +
configs/sbc8349_PCI_33_defconfig | 2 +
configs/sbc8349_PCI_66_defconfig | 2 +
configs/sbc8349_defconfig | 2 +
configs/sbc8548_PCI_33_PCIE_defconfig | 2 +
configs/sbc8548_PCI_33_defconfig | 2 +
configs/sbc8548_PCI_66_PCIE_defconfig | 2 +
configs/sbc8548_PCI_66_defconfig | 2 +
configs/sbc8548_defconfig | 2 +
configs/sbc8641d_defconfig | 2 +
configs/sc_sps_1_defconfig | 1 +
configs/seaboard_defconfig | 1 +
configs/secomx6quq7_defconfig | 1 +
configs/sequoia_defconfig | 2 +
configs/sequoia_ramboot_defconfig | 2 +
configs/sheevaplug_defconfig | 1 +
configs/silk_defconfig | 1 +
configs/smartweb_defconfig | 2 +
configs/smdk5250_defconfig | 1 +
configs/smdk5420_defconfig | 1 +
configs/snapper9260_defconfig | 1 +
configs/snapper9g20_defconfig | 1 +
configs/sniper_defconfig | 1 +
configs/snow_defconfig | 1 +
configs/socfpga_arria5_defconfig | 8 +-
configs/socfpga_cyclone5_defconfig | 8 +-
configs/socfpga_de0_nano_soc_defconfig | 4 +-
configs/socfpga_mcvevk_defconfig | 4 +-
configs/socfpga_sockit_defconfig | 6 +-
configs/socfpga_socrates_defconfig | 6 +-
configs/socfpga_sr1500_defconfig | 10 +-
configs/socrates_defconfig | 3 +
configs/spring_defconfig | 1 +
configs/stm32f429-discovery_defconfig | 1 +
configs/stout_defconfig | 1 +
configs/strider_con_defconfig | 3 +
configs/strider_cpu_defconfig | 3 +
configs/sunxi_Gemei_G9_defconfig | 1 +
configs/suvd3_defconfig | 2 +
configs/sycamore_defconfig | 2 +
configs/t3corp_defconfig | 3 +
configs/tao3530_defconfig | 1 +
configs/taurus_defconfig | 1 +
configs/tbs2910_defconfig | 2 +
configs/tec-ng_defconfig | 2 +
configs/tec_defconfig | 2 +
configs/thuban_defconfig | 1 +
configs/ti814x_evm_defconfig | 1 +
configs/ti816x_evm_defconfig | 1 +
configs/titanium_defconfig | 1 +
configs/tqma6q_mba6_mmc_defconfig | 3 +
configs/tqma6q_mba6_spi_defconfig | 3 +
configs/tqma6s_mba6_mmc_defconfig | 3 +
configs/tqma6s_mba6_spi_defconfig | 3 +
configs/tqma6s_wru4_mmc_defconfig | 3 +
configs/trats2_defconfig | 1 +
configs/trats_defconfig | 1 +
configs/tricorder_defconfig | 1 +
configs/tricorder_flash_defconfig | 1 +
configs/trimslice_defconfig | 1 +
configs/ts4800_defconfig | 1 +
configs/tseries_mmc_defconfig | 2 +
configs/tseries_nand_defconfig | 2 +
configs/tseries_spi_defconfig | 2 +
configs/tuge1_defconfig | 2 +
configs/tuxx1_defconfig | 2 +
configs/twister_defconfig | 2 +
configs/udoo_defconfig | 1 +
configs/uniphier_ld4_sld8_defconfig | 1 -
configs/uniphier_pro4_defconfig | 1 -
configs/uniphier_pro5_defconfig | 1 -
configs/uniphier_pxs2_ld6b_defconfig | 1 -
configs/usb_a9263_dataflash_defconfig | 1 +
configs/usbarmory_defconfig | 1 +
configs/ve8313_defconfig | 2 +
configs/venice2_defconfig | 1 +
configs/ventana_defconfig | 1 +
configs/vexpress_aemv8a_dram_defconfig | 1 +
configs/vexpress_aemv8a_juno_defconfig | 1 +
configs/vexpress_aemv8a_semi_defconfig | 1 +
configs/vexpress_ca15_tc2_defconfig | 1 +
configs/vexpress_ca5x2_defconfig | 1 +
configs/vexpress_ca9x4_defconfig | 1 +
configs/vf610twr_defconfig | 1 +
configs/vf610twr_nand_defconfig | 1 +
configs/vme8349_defconfig | 2 +
configs/walnut_defconfig | 2 +
configs/wandboard_defconfig | 1 +
configs/warp_defconfig | 1 +
configs/whistler_defconfig | 1 +
configs/wtk_defconfig | 2 +
configs/x600_defconfig | 1 +
configs/xfi3_defconfig | 1 +
configs/xpedite1000_defconfig | 1 +
configs/xpedite517x_defconfig | 3 +
configs/xpedite520x_defconfig | 3 +
configs/xpedite537x_defconfig | 3 +
configs/xpedite550x_defconfig | 3 +
configs/yellowstone_defconfig | 2 +
configs/yosemite_defconfig | 2 +
configs/yucca_defconfig | 2 +
configs/zynq_zybo_defconfig | 4 +-
doc/mkimage.1 | 46 +-
doc/uImage.FIT/source_file_format.txt | 20 +-
dts/Kconfig | 11 +
include/common.h | 4 +-
include/config_distro_defaults.h | 2 -
include/configs/10m50_devboard.h | 2 -
include/configs/3c120_devboard.h | 2 -
include/configs/B4860QDS.h | 3 -
include/configs/BSC9131RDB.h | 3 -
include/configs/BSC9132QDS.h | 3 -
include/configs/C29XPCIE.h | 3 -
include/configs/CPCI4052.h | 2 -
include/configs/MPC8308RDB.h | 3 -
include/configs/MPC8313ERDB.h | 2 -
include/configs/MPC8315ERDB.h | 2 -
include/configs/MPC8323ERDB.h | 2 -
include/configs/MPC832XEMDS.h | 2 -
include/configs/MPC8349EMDS.h | 2 -
include/configs/MPC8349ITX.h | 2 -
include/configs/MPC837XEMDS.h | 2 -
include/configs/MPC837XERDB.h | 2 -
include/configs/MPC8536DS.h | 2 -
include/configs/MPC8540ADS.h | 2 -
include/configs/MPC8541CDS.h | 2 -
include/configs/MPC8544DS.h | 2 -
include/configs/MPC8548CDS.h | 2 -
include/configs/MPC8555CDS.h | 2 -
include/configs/MPC8560ADS.h | 2 -
include/configs/MPC8568MDS.h | 2 -
include/configs/MPC8569MDS.h | 2 -
include/configs/MPC8572DS.h | 3 -
include/configs/MPC8610HPCD.h | 2 -
include/configs/MPC8641HPCN.h | 2 -
include/configs/P1010RDB.h | 3 -
include/configs/P1022DS.h | 3 -
include/configs/P1023RDB.h | 3 -
include/configs/P2041RDB.h | 3 -
include/configs/PLU405.h | 2 -
include/configs/PMC405DE.h | 2 -
include/configs/PMC440.h | 2 -
include/configs/T102xQDS.h | 3 -
include/configs/T102xRDB.h | 3 -
include/configs/T1040QDS.h | 3 -
include/configs/T104xRDB.h | 3 -
include/configs/T208xQDS.h | 3 -
include/configs/T208xRDB.h | 3 -
include/configs/T4240RDB.h | 3 -
include/configs/TQM5200.h | 2 -
include/configs/TQM823L.h | 2 -
include/configs/TQM823M.h | 2 -
include/configs/TQM834x.h | 2 -
include/configs/TQM850L.h | 2 -
include/configs/TQM850M.h | 2 -
include/configs/TQM855L.h | 2 -
include/configs/TQM855M.h | 2 -
include/configs/TQM860L.h | 2 -
include/configs/TQM860M.h | 2 -
include/configs/TQM862L.h | 2 -
include/configs/TQM862M.h | 2 -
include/configs/TQM866M.h | 2 -
include/configs/TQM885D.h | 2 -
include/configs/UCP1020.h | 3 -
include/configs/VOM405.h | 2 -
include/configs/a3m071.h | 3 -
include/configs/a4m072.h | 2 -
include/configs/ac14xx.h | 3 -
include/configs/am335x_evm.h | 1 -
include/configs/am335x_sl50.h | 1 -
include/configs/am3517_evm.h | 2 -
include/configs/amcc-common.h | 2 -
include/configs/apf27.h | 2 -
include/configs/arcangel4.h | 3 -
include/configs/aria.h | 2 -
include/configs/aristainetos-common.h | 1 -
include/configs/armadillo-800eva.h | 1 -
include/configs/at91-sama5_common.h | 2 -
include/configs/at91rm9200ek.h | 1 -
include/configs/at91sam9260ek.h | 2 -
include/configs/at91sam9261ek.h | 3 -
include/configs/at91sam9263ek.h | 2 -
include/configs/at91sam9m10g45ek.h | 2 -
include/configs/at91sam9n12ek.h | 2 -
include/configs/at91sam9rlek.h | 2 -
include/configs/at91sam9x5ek.h | 2 -
include/configs/axs101.h | 2 -
include/configs/baltos.h | 1 -
include/configs/bav335x.h | 1 -
include/configs/bcm_ep_board.h | 3 -
include/configs/cm5200.h | 2 -
include/configs/cm_fx6.h | 1 -
include/configs/cm_t35.h | 2 -
include/configs/cm_t3517.h | 1 -
include/configs/cm_t54.h | 2 -
include/configs/colibri_pxa270.h | 1 -
include/configs/colibri_vf.h | 1 -
include/configs/controlcenterd.h | 3 -
include/configs/corenet_ds.h | 3 -
include/configs/corvus.h | 1 -
include/configs/cyrus.h | 3 -
include/configs/da850evm.h | 1 -
include/configs/devkit3250.h | 1 -
include/configs/digsy_mtc.h | 2 -
include/configs/dlvision-10g.h | 1 -
include/configs/dlvision.h | 1 -
include/configs/dns325.h | 5 -
include/configs/exynos5-common.h | 1 -
include/configs/flea3.h | 1 -
include/configs/gw_ventana.h | 2 -
include/configs/h2200.h | 1 -
include/configs/highbank.h | 2 -
include/configs/hikey.h | 3 -
include/configs/hrcon.h | 3 -
include/configs/ids8313.h | 2 -
include/configs/integrator-common.h | 1 -
include/configs/intip.h | 1 -
include/configs/io.h | 1 -
include/configs/io64.h | 1 -
include/configs/ipek01.h | 2 -
include/configs/jupiter.h | 2 -
include/configs/km/km-powerpc.h | 2 -
include/configs/km/km_arm.h | 3 -
include/configs/km/kmp204x-common.h | 3 -
include/configs/km82xx.h | 1 -
include/configs/kwb.h | 1 -
include/configs/kzm9g.h | 1 -
include/configs/lacie_kw.h | 5 -
include/configs/ls1021aqds.h | 2 -
include/configs/ls1021atwr.h | 2 -
include/configs/ls1043a_common.h | 3 -
include/configs/ls1043aqds.h | 2 -
include/configs/ls2080a_common.h | 3 -
include/configs/lsxl.h | 1 -
include/configs/lwmon5.h | 3 -
include/configs/m28evk.h | 1 -
include/configs/m53evk.h | 2 -
include/configs/manroland/common.h | 2 -
include/configs/mcx.h | 2 -
include/configs/mecp5123.h | 2 -
include/configs/medcom-wide.h | 1 -
include/configs/meesc.h | 2 -
include/configs/microblaze-generic.h | 2 -
include/configs/motionpro.h | 2 -
include/configs/mpc5121ads.h | 2 -
include/configs/mpc8308_p1m.h | 2 -
include/configs/munices.h | 2 -
include/configs/mv-common.h | 2 -
include/configs/mv-plug-common.h | 5 -
include/configs/mx25pdk.h | 1 -
include/configs/mx31ads.h | 2 -
include/configs/mx35pdk.h | 1 -
include/configs/mx51evk.h | 2 -
include/configs/mx53ard.h | 1 -
include/configs/mx53evk.h | 2 -
include/configs/mx53loco.h | 2 -
include/configs/mx53smd.h | 2 -
include/configs/mx6_common.h | 1 -
include/configs/mx6ul_14x14_evk.h | 1 -
include/configs/mx7_common.h | 1 -
include/configs/mxs.h | 3 -
include/configs/nas220.h | 6 -
include/configs/neo.h | 1 -
include/configs/novena.h | 1 -
include/configs/nyan-big.h | 2 -
include/configs/o2dnt-common.h | 2 -
include/configs/odroid.h | 1 -
include/configs/omapl138_lcdk.h | 1 -
include/configs/openrisc-generic.h | 1 -
include/configs/p1_p2_rdb_pc.h | 3 -
include/configs/p1_twr.h | 3 -
include/configs/pcm030.h | 2 -
include/configs/pcm052.h | 1 -
include/configs/pdm360ng.h | 3 -
include/configs/picosam9g45.h | 2 -
include/configs/plutux.h | 1 -
include/configs/pxm2.h | 1 -
include/configs/qemu-ppce500.h | 3 -
include/configs/rcar-gen2-common.h | 1 -
include/configs/rk3288_common.h | 1 -
include/configs/rpi-common.h | 1 -
include/configs/rut.h | 1 -
include/configs/s5p_goni.h | 3 -
include/configs/sandbox.h | 1 -
include/configs/sbc8349.h | 2 -
include/configs/sbc8548.h | 2 -
include/configs/sbc8641d.h | 2 -
include/configs/siemens-am33x-common.h | 1 -
include/configs/smartweb.h | 2 -
include/configs/smdkc100.h | 3 -
include/configs/snapper9260.h | 1 -
include/configs/socfpga_common.h | 2 -
include/configs/socrates.h | 4 -
include/configs/stm32f429-discovery.h | 2 -
include/configs/strider.h | 3 -
include/configs/stv0991.h | 2 -
include/configs/sunxi-common.h | 2 +-
include/configs/t3corp.h | 1 -
include/configs/t4qds.h | 3 -
include/configs/tam3517-common.h | 2 -
include/configs/tao3530.h | 2 -
include/configs/taurus.h | 1 -
include/configs/tb100.h | 2 -
include/configs/tbs2910.h | 1 -
include/configs/tec-ng.h | 1 -
include/configs/tec.h | 1 -
include/configs/tegra-common.h | 1 -
include/configs/thunderx_88xx.h | 3 -
include/configs/ti814x_evm.h | 1 -
include/configs/ti816x_evm.h | 1 -
include/configs/ti_armv7_common.h | 1 -
include/configs/ti_armv7_keystone2.h | 1 -
include/configs/tqma6.h | 3 -
include/configs/trats.h | 1 -
include/configs/trats2.h | 1 -
include/configs/tricorder.h | 2 -
include/configs/ts4800.h | 2 -
include/configs/tseries.h | 2 -
include/configs/uniphier.h | 3 -
include/configs/usb_a9263.h | 1 -
include/configs/usbarmory.h | 1 -
include/configs/ve8313.h | 2 -
include/configs/vexpress_aemv8a.h | 3 -
include/configs/vf610twr.h | 1 -
include/configs/vme8349.h | 2 -
include/configs/x600.h | 1 -
include/configs/x86-common.h | 2 -
include/configs/xilinx_zynqmp.h | 1 -
include/configs/xpedite1000.h | 1 -
include/configs/xpedite517x.h | 3 -
include/configs/xpedite520x.h | 3 -
include/configs/xpedite537x.h | 3 -
include/configs/xpedite550x.h | 3 -
include/configs/zynq-common.h | 3 -
include/image.h | 58 ++-
include/libfdt.h | 16 +
include/spl.h | 18 +
lib/Kconfig | 20 +
lib/Makefile | 4 +-
lib/libfdt/fdt_sw.c | 16 +-
tools/Makefile | 2 +-
tools/fit_image.c | 502 ++++++++++++++++++++-
tools/imagetool.c | 22 +
tools/imagetool.h | 24 +
tools/mkimage.c | 405 +++++++++--------
1112 files changed, 3000 insertions(+), 831 deletions(-)
create mode 100644 common/spl/spl_fit.c
--
2.7.0.rc3.207.g0ac5344
7
42

21 Feb '16
From: Peng Fan <peng.fan(a)nxp.com>
To i.MX6SX and i.MX7D, there is a M4 core embedded. Resources
can be shared or occupied exclusively by setting Resource
domain controller between A9/7 core and M4 core.
Refer "Chapter 52 Resource Domain Controller (RDC)" of i.MX 6SoloX
RM and "Chapter 3.2 Resource Domain Controller (RDC)" of i.MX 7Dual RM
for detailed infomation.
To bootup M4 core, a new command 'bootaux' is introduced. To i.MX7D,
we need to setting RDC when booting M4 core, so make RDC and boot
auxiliary core patches into one patch set.
Since we also sometimes put the M4 image in QSPI to let M4 directly fecth
code in the memory mapped QSPI space, we can not support such as libz
compressed image.
Peng Fan (11):
imx: mx6: introduce rdc regs
imx: imx-common: introduce Resource Domain Controller support
imx: mx6sx Add RDC mappings of masters and peripherals
imx: mx7d: Add RDC support
imx: mx7d: clock support for RDC
imx: imx-common: introduce boot auxiliary core
imx: mx6: implement functions to boot auxiliary core
imx: mx6sxsabresd: add command and macros for boot m4 core
imx: mx7: implement functions to boot auxiliary core
imx: mx7dsabresd: add command and macros for boot m4 core
imx: mx7d: isolate resources to domain 0 for A7 core
arch/arm/cpu/armv7/mx6/soc.c | 38 ++++++
arch/arm/cpu/armv7/mx7/clock.c | 6 +
arch/arm/cpu/armv7/mx7/soc.c | 100 ++++++++++++++++
arch/arm/imx-common/Kconfig | 14 +++
arch/arm/imx-common/Makefile | 2 +
arch/arm/imx-common/imx_bootaux.c | 72 ++++++++++++
arch/arm/imx-common/rdc-sema.c | 183 +++++++++++++++++++++++++++++
arch/arm/include/asm/arch-mx6/imx-rdc.h | 16 +++
arch/arm/include/asm/arch-mx6/imx-regs.h | 29 +++++
arch/arm/include/asm/arch-mx6/mx6sx_rdc.h | 155 ++++++++++++++++++++++++
arch/arm/include/asm/arch-mx7/imx-rdc.h | 16 +++
arch/arm/include/asm/arch-mx7/imx-regs.h | 8 ++
arch/arm/include/asm/arch-mx7/mx7d_rdc.h | 163 +++++++++++++++++++++++++
arch/arm/include/asm/imx-common/rdc-sema.h | 100 ++++++++++++++++
configs/mx7dsabresd_defconfig | 2 +
include/configs/mx6sxsabresd.h | 24 ++++
include/configs/mx7dsabresd.h | 24 ++++
17 files changed, 952 insertions(+)
create mode 100644 arch/arm/imx-common/imx_bootaux.c
create mode 100644 arch/arm/imx-common/rdc-sema.c
create mode 100644 arch/arm/include/asm/arch-mx6/imx-rdc.h
create mode 100644 arch/arm/include/asm/arch-mx6/mx6sx_rdc.h
create mode 100644 arch/arm/include/asm/arch-mx7/imx-rdc.h
create mode 100644 arch/arm/include/asm/arch-mx7/mx7d_rdc.h
create mode 100644 arch/arm/include/asm/imx-common/rdc-sema.h
--
2.6.2
2
12
This series adds Intel FSP support to IvyBridge processor and
Panther Point chipset (aka Chief River platform), and is validated
on Intel Cougar Canyon 2 board.
This only adds basic features like serial, keyboard, RTC, timer,
SPI, GPIO, PCI, SATA, USB. Other features will be enabled in future
patch set.
Bin Meng (10):
fdtdec: Add compatible string for Intel IvyBridge FSP
x86: ivybridge: Add FSP support
tools: microcode-tool: Support parsing header file with a license
block
x86: ivybridge: Add microcode blobs for all the steppings
superio: Add SMSC SIO1007 driver
x86: ivybridge: Do not require HAVE_INTEL_ME
x86: fsp: Make sure HOB list is not overwritten by U-Boot
x86: fsp: Always use hex numbers in the hob command output
x86: ivybridge: Add macros for LPC decode ranges
x86: Add Intel Cougar Canyon 2 board
arch/x86/cpu/ivybridge/Kconfig | 9 +-
arch/x86/cpu/ivybridge/Makefile | 4 +
arch/x86/cpu/ivybridge/fsp_configs.c | 45 ++
arch/x86/cpu/ivybridge/ivybridge.c | 22 +
arch/x86/dts/Makefile | 1 +
arch/x86/dts/cougarcanyon2.dts | 96 +++
arch/x86/dts/microcode/m12306a2_00000008.dtsi | 554 +++++++++++++++++
arch/x86/dts/microcode/m12306a4_00000007.dtsi | 618 +++++++++++++++++++
arch/x86/dts/microcode/m12306a5_00000007.dtsi | 618 +++++++++++++++++++
arch/x86/dts/microcode/m12306a8_00000010.dtsi | 682 +++++++++++++++++++++
.../include/asm/arch-ivybridge/fsp/fsp_configs.h | 40 ++
arch/x86/include/asm/arch-ivybridge/fsp/fsp_vpd.h | 12 +
arch/x86/include/asm/arch-ivybridge/pch.h | 10 +
arch/x86/lib/fsp/cmd_fsp.c | 4 +-
arch/x86/lib/fsp/fsp_support.c | 27 +
board/google/chromebook_link/Kconfig | 1 +
board/google/chromebox_panther/Kconfig | 1 +
board/intel/Kconfig | 9 +
board/intel/cougarcanyon2/Kconfig | 25 +
board/intel/cougarcanyon2/MAINTAINERS | 6 +
board/intel/cougarcanyon2/Makefile | 7 +
board/intel/cougarcanyon2/cougarcanyon2.c | 48 ++
board/intel/cougarcanyon2/start.S | 9 +
configs/cougarcanyon2_defconfig | 21 +
drivers/misc/Makefile | 1 +
drivers/misc/smsc_sio1007.c | 126 ++++
include/configs/cougarcanyon2.h | 34 +
include/fdtdec.h | 1 +
include/smsc_sio1007.h | 115 ++++
lib/fdtdec.c | 1 +
tools/microcode-tool.py | 14 +
31 files changed, 3158 insertions(+), 3 deletions(-)
create mode 100644 arch/x86/cpu/ivybridge/fsp_configs.c
create mode 100644 arch/x86/cpu/ivybridge/ivybridge.c
create mode 100644 arch/x86/dts/cougarcanyon2.dts
create mode 100644 arch/x86/dts/microcode/m12306a2_00000008.dtsi
create mode 100644 arch/x86/dts/microcode/m12306a4_00000007.dtsi
create mode 100644 arch/x86/dts/microcode/m12306a5_00000007.dtsi
create mode 100644 arch/x86/dts/microcode/m12306a8_00000010.dtsi
create mode 100644 arch/x86/include/asm/arch-ivybridge/fsp/fsp_configs.h
create mode 100644 arch/x86/include/asm/arch-ivybridge/fsp/fsp_vpd.h
create mode 100644 board/intel/cougarcanyon2/Kconfig
create mode 100644 board/intel/cougarcanyon2/MAINTAINERS
create mode 100644 board/intel/cougarcanyon2/Makefile
create mode 100644 board/intel/cougarcanyon2/cougarcanyon2.c
create mode 100644 board/intel/cougarcanyon2/start.S
create mode 100644 configs/cougarcanyon2_defconfig
create mode 100644 drivers/misc/smsc_sio1007.c
create mode 100644 include/configs/cougarcanyon2.h
create mode 100644 include/smsc_sio1007.h
--
1.8.2.1
2
38

19 Feb '16
We are porting android to kylin board now.
This series could let it boot up with android's boot image.
Changes in v4:
Remove unused reboot mode definitions.
Changes in v3:
Use rockchip's legacy reboot mode definitions.
Changes in v2:
Add comments.
Jeffy Chen (6):
common/image-fdt.c: Make boot_get_fdt() perform a check for Android
images
ARM: bootm: Try to use relocated ramdisk
rockchip: rk3036: Bind GPIO banks
rockchip: kylin: Add default gpt partition table
rockchip: kylin: Enable boot with android boot image
rockchip: kylin: Check fastboot request
arch/arm/lib/bootm.c | 12 ++++++-
board/kylin/kylin_rk3036/kylin_rk3036.c | 32 ++++++++++++++++++
common/image-fdt.c | 4 +++
drivers/pinctrl/rockchip/pinctrl_rk3036.c | 8 +++++
include/configs/kylin_rk3036.h | 55 +++++++++++++++++++++++++++++++
5 files changed, 110 insertions(+), 1 deletion(-)
--
2.1.4
4
26

[U-Boot] [PATCH] usb: dwc2: Enhance interrupt handling for CONTROL transaction
by Chin Liang See 19 Feb '16
by Chin Liang See 19 Feb '16
19 Feb '16
Per DesignWare USB OTG databook, driver should retry up to
3 times when transaction error (hcint.xacterr) happen. But
the 3 times doesn't count when the response is nack
(hcint.nak) or frame overrun (hcint.frmoverun)
This patch solved the enumeration error as spotted at socfpga
cyclone5_socdk when plugging in certain pendrive.
Signed-off-by: Chin Liang See <clsee(a)altera.com>
Cc: Marek Vasut <marex(a)denx.de>
Cc: Dinh Nguyen <dinguyen(a)opensource.altera.com>
Cc: Dinh Nguyen <dinh.linux(a)gmail.com>
Cc: Pavel Machek <pavel(a)denx.de>
Cc: Oleksandr Tymoshenko <gonzo(a)bluezbox.com>
Cc: Stephen Warren <swarren(a)wwwdotorg.org>
Cc: Alexander Stein <alexanders83(a)web.de>
Cc: Peter Griffin <peter.griffin(a)linaro.org>
---
drivers/usb/host/dwc2.c | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/drivers/usb/host/dwc2.c b/drivers/usb/host/dwc2.c
index 541c0f9..f00cd1b 100644
--- a/drivers/usb/host/dwc2.c
+++ b/drivers/usb/host/dwc2.c
@@ -786,15 +786,12 @@ int chunk_msg(struct dwc2_priv *priv, struct usb_device *dev,
uint32_t xfer_len;
uint32_t num_packets;
int stop_transfer = 0;
+ int error_retry_count = 0;
debug("%s: msg: pipe %lx pid %d in %d len %d\n", __func__, pipe, *pid,
in, len);
do {
- /* Initialize channel */
- dwc_otg_hc_init(regs, DWC2_HC_CHANNEL, dev, devnum, ep, in,
- eptype, max);
-
xfer_len = len - done;
if (xfer_len > CONFIG_DWC2_MAX_TRANSFER_SIZE)
xfer_len = CONFIG_DWC2_MAX_TRANSFER_SIZE - max + 1;
@@ -818,6 +815,14 @@ int chunk_msg(struct dwc2_priv *priv, struct usb_device *dev,
debug("%s: chunk: pid %d xfer_len %u pkts %u\n", __func__,
*pid, xfer_len, num_packets);
+ /* per DW spec, we can retry up to 3 times */
+ error_retry_count = 3;
+
+error_retry:
+ /* Initialize channel */
+ dwc_otg_hc_init(regs, DWC2_HC_CHANNEL, dev, devnum, ep, in,
+ eptype, max);
+
writel((xfer_len << DWC2_HCTSIZ_XFERSIZE_OFFSET) |
(num_packets << DWC2_HCTSIZ_PKTCNT_OFFSET) |
(*pid << DWC2_HCTSIZ_PID_OFFSET),
@@ -841,8 +846,14 @@ int chunk_msg(struct dwc2_priv *priv, struct usb_device *dev,
DWC2_HCCHAR_CHEN);
ret = wait_for_chhltd(regs, &sub, pid, ignore_ack);
- if (ret)
- break;
+ if (ret) {
+ if (ret == -EINVAL)
+ error_retry_count--;
+ if (error_retry_count)
+ goto error_retry;
+ else
+ break;
+ }
if (in) {
xfer_len -= sub;
--
1.9.2.468.g3f0c02a
4
26