diff options
-rw-r--r-- | .travis.yml | 32 | ||||
-rw-r--r-- | MAINTAINERS | 2 | ||||
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | arch/arm/Kconfig | 4 | ||||
-rw-r--r-- | board/h2200/Kconfig | 9 | ||||
-rw-r--r-- | board/h2200/MAINTAINERS | 6 | ||||
-rw-r--r-- | board/h2200/Makefile | 12 | ||||
-rw-r--r-- | board/h2200/h2200-header.S | 14 | ||||
-rw-r--r-- | board/h2200/h2200.c | 73 | ||||
-rw-r--r-- | common/image-android.c | 44 | ||||
-rw-r--r-- | configs/h2200_defconfig | 38 | ||||
-rw-r--r-- | doc/git-mailrc | 3 | ||||
-rw-r--r-- | include/android_image.h | 11 | ||||
-rw-r--r-- | include/configs/h2200.h | 128 |
14 files changed, 64 insertions, 315 deletions
diff --git a/.travis.yml b/.travis.yml index 9ca750e575..b0ef0545f1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -204,12 +204,15 @@ matrix: - name: "buildman NXP AArch64 LX216x" env: - BUILDMAN="freescale&aarch64&lx216" - - name: "buildman i.MX6 (non-NXP)" + - name: "buildman i.MX6 tqc" env: - - BUILDMAN="mx6 -x freescale,toradex,boundary,engicam" - - name: "buildman i.MX (non-NXP,i.MX6,toradex)" + - BUILDMAN="mx6&tqc" + - name: "buildman i.MX6 (catch-all)" env: - - BUILDMAN="mx -x freescale,mx6,toradex" + - BUILDMAN="mx6 -x boundary,engicam,freescale,technexion,toradex,tqc" + - name: "buildman i.MX (non-i.MX6 catch-all)" + env: + - BUILDMAN="mx -x freescale,mx6,toradex,technexion" - name: "buildman keystone 2/3" env: - BUILDMAN="k2 k3" @@ -231,9 +234,12 @@ matrix: - name: "buildman sun7i" env: - BUILDMAN="sun7i" - - name: "buildman sun8i" + - name: "buildman 64bit sun8i" + env: + - BUILDMAN="sun8i&aarch64" + - name: "buildman 32bit sun8i" env: - - BUILDMAN="sun8i" + - BUILDMAN="sun8i&armv7" - name: "buildman sun9i" env: - BUILDMAN="sun9i" @@ -242,11 +248,14 @@ matrix: - BUILDMAN="sun50i" - name: "buildman catch-all ARM" env: - - BUILDMAN="arm -x arm11,arm7,arm9,aarch64,at91,bcm,freescale,kirkwood,mvebu,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap,pxa,rockchip,toradex,socfpga,k2,k3,xilinx" + - BUILDMAN="arm -x arm11,arm7,arm9,aarch64,at91,bcm,freescale,kirkwood,mvebu,siemens,tegra,uniphier,mx,samsung,sunxi,am33xx,omap,pxa,rockchip,toradex,socfpga,k2,k3,zynq" - name: "buildman sandbox x86" env: - BUILDMAN="sandbox x86" TOOLCHAIN="i386" + - name: "buildman technexion" + env: + - BUILDMAN="technexion" - name: "buildman kirkwood" env: - BUILDMAN="kirkwood" @@ -313,7 +322,7 @@ matrix: - BUILDMAN="uniphier" - name: "buildman catch-all AArch64" env: - - BUILDMAN="aarch64 -x bcm,k3,tegra,ls1,ls2,mvebu,uniphier,sunxi,samsung,rockchip,xilinx" + - BUILDMAN="aarch64 -x bcm,k3,tegra,ls1,ls2,mvebu,uniphier,sunxi,samsung,rockchip,versal,zynq" - name: "buildman rockchip" env: - BUILDMAN="rockchip" @@ -321,9 +330,12 @@ matrix: env: - BUILDMAN="sh -x arm" TOOLCHAIN="sh" - - name: "buildman Xilinx (ARM)" + - name: "buildman Zynq* (ARMv7)" + env: + - BUILDMAN="zynq&armv7" + - name: "buildman ZynqMP and Versal" env: - - BUILDMAN="xilinx -x microblaze" + - BUILDMAN="versal|zynqmp&aarch64" - name: "buildman xtensa" env: - BUILDMAN="xtensa" diff --git a/MAINTAINERS b/MAINTAINERS index 2ef2976855..bdc998a55e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -102,7 +102,7 @@ F: doc/device-tree-bindings/mmc/snps,dw-mmc.txt F: drivers/mmc/snps_dw_mmc.c ARM -M: Albert Aribaud <albert.u.boot@aribaud.net> +M: Tom Rini <trini@konsulko.com> S: Maintained T: git https://gitlab.denx.de/u-boot/custodians/u-boot-arm.git F: arch/arm/ @@ -1808,6 +1808,9 @@ etags: cscope: $(FIND) $(FINDFLAGS) $(TAG_SUBDIRS) -name '*.[chS]' -print > \ cscope.files + @find $(TAG_SUBDIRS) -name '*.[chS]' -type l -print | \ + grep -xvf - cscope.files > cscope.files.no-symlinks; \ + mv cscope.files.no-symlinks cscope.files cscope -b -q -k SYSTEM_MAP = \ diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 1df2aba3c2..75041ce30d 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -1502,9 +1502,6 @@ config TARGET_LS1046AFRWY The LS1046A Freeway Board (FRWY) is a high-performance development platform that supports the QorIQ LS1046A Layerscape Architecture processor. -config TARGET_H2200 - bool "Support h2200" - select CPU_PXA config TARGET_COLIBRI_PXA270 bool "Support colibri_pxa270" @@ -1812,7 +1809,6 @@ source "board/freescale/mx35pdk/Kconfig" source "board/freescale/s32v234evb/Kconfig" source "board/grinn/chiliboard/Kconfig" source "board/gumstix/pepper/Kconfig" -source "board/h2200/Kconfig" source "board/hisilicon/hikey/Kconfig" source "board/hisilicon/hikey960/Kconfig" source "board/hisilicon/poplar/Kconfig" diff --git a/board/h2200/Kconfig b/board/h2200/Kconfig deleted file mode 100644 index c0e0c1e763..0000000000 --- a/board/h2200/Kconfig +++ /dev/null @@ -1,9 +0,0 @@ -if TARGET_H2200 - -config SYS_BOARD - default "h2200" - -config SYS_CONFIG_NAME - default "h2200" - -endif diff --git a/board/h2200/MAINTAINERS b/board/h2200/MAINTAINERS deleted file mode 100644 index b66ff515cf..0000000000 --- a/board/h2200/MAINTAINERS +++ /dev/null @@ -1,6 +0,0 @@ -H2200 BOARD -M: Lukasz Dalek <luk0104@gmail.com> -S: Maintained -F: board/h2200/ -F: include/configs/h2200.h -F: configs/h2200_defconfig diff --git a/board/h2200/Makefile b/board/h2200/Makefile deleted file mode 100644 index 690b766178..0000000000 --- a/board/h2200/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0+ -# -# h2200 Support -# -# Copyright (C) 2012 Lukasz Dalek <luk0104@gmail.com> - -obj-y := h2200.o - -extra-y := h2200-header.bin - -$(obj)/h2200-header.bin: $(obj)/h2200-header.o - $(OBJCOPY) -O binary $< $@ diff --git a/board/h2200/h2200-header.S b/board/h2200/h2200-header.S deleted file mode 100644 index be8b7fb923..0000000000 --- a/board/h2200/h2200-header.S +++ /dev/null @@ -1,14 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * iPAQ h2200 header - * - * Copyright (C) 2012 Lukasz Dalek <luk0104@gmail.com> - */ - - .word 0xea0003fe /* b 0x1000 */ - - .org 0x40 - .ascii "ECEC" - - .org 0x1000 - 1 - .byte 0x0 diff --git a/board/h2200/h2200.c b/board/h2200/h2200.c deleted file mode 100644 index e1b7b2ce8a..0000000000 --- a/board/h2200/h2200.c +++ /dev/null @@ -1,73 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * iPAQ h2200 board configuration - * - * Copyright (C) 2012 Lukasz Dalek <luk0104@gmail.com> - */ - -#include <common.h> -#include <asm/arch/pxa.h> -#include <asm/arch/pxa-regs.h> -#include <asm/io.h> -#include <usb.h> -#include <asm/mach-types.h> - -DECLARE_GLOBAL_DATA_PTR; - -int board_eth_init(bd_t *bis) -{ - usb_eth_initialize(bis); - return 0; -} - -void reset_cpu(ulong ignore) -{ - /* Enable VLIO interface on Hamcop */ - writeb(0x1, 0x4000); - - /* Reset board (cold reset) */ - writeb(0xff, 0x4002); -} - -int board_init(void) -{ - /* We have RAM, disable cache */ - dcache_disable(); - icache_disable(); - - gd->bd->bi_arch_number = MACH_TYPE_H2200; - - /* adress of boot parameters */ - gd->bd->bi_boot_params = 0xa0000100; - - /* Let host see that device is disconnected */ - udc_disconnect(); - mdelay(500); - - return 0; -} - -int dram_init(void) -{ - /* - * Everything except MSC0 was already set up by - * 1st stage bootloader. - * - * This setting enables access to companion chip. - */ - clrsetbits_le32(MSC0, 0xffffffff, CONFIG_SYS_MSC0_VAL); - gd->ram_size = CONFIG_SYS_SDRAM_SIZE; - return 0; -} - -#ifdef CONFIG_USB_GADGET_PXA2XX -int board_usb_init(int index, enum usb_init_type init) -{ - return 0; -} - -int board_usb_cleanup(int index, enum usb_init_type init) -{ - return 0; -} -#endif diff --git a/common/image-android.c b/common/image-android.c index 264bf90007..3564a64221 100644 --- a/common/image-android.c +++ b/common/image-android.c @@ -120,6 +120,7 @@ int android_image_check_header(const struct andr_img_hdr *hdr) ulong android_image_get_end(const struct andr_img_hdr *hdr) { ulong end; + /* * The header takes a full page, the remaining components are aligned * on page boundary @@ -130,6 +131,12 @@ ulong android_image_get_end(const struct andr_img_hdr *hdr) end += ALIGN(hdr->ramdisk_size, hdr->page_size); end += ALIGN(hdr->second_size, hdr->page_size); + if (hdr->header_version >= 1) + end += ALIGN(hdr->recovery_dtbo_size, hdr->page_size); + + if (hdr->header_version >= 2) + end += ALIGN(hdr->dtb_size, hdr->page_size); + return end; } @@ -207,21 +214,36 @@ void android_print_contents(const struct andr_img_hdr *hdr) u32 os_ver = hdr->os_version >> 11; u32 os_lvl = hdr->os_version & ((1U << 11) - 1); - printf("%skernel size: %x\n", p, hdr->kernel_size); - printf("%skernel address: %x\n", p, hdr->kernel_addr); - printf("%sramdisk size: %x\n", p, hdr->ramdisk_size); - printf("%sramdisk address: %x\n", p, hdr->ramdisk_addr); - printf("%ssecond size: %x\n", p, hdr->second_size); - printf("%ssecond address: %x\n", p, hdr->second_addr); - printf("%stags address: %x\n", p, hdr->tags_addr); - printf("%spage size: %x\n", p, hdr->page_size); + printf("%skernel size: %x\n", p, hdr->kernel_size); + printf("%skernel address: %x\n", p, hdr->kernel_addr); + printf("%sramdisk size: %x\n", p, hdr->ramdisk_size); + printf("%sramdisk address: %x\n", p, hdr->ramdisk_addr); + printf("%ssecond size: %x\n", p, hdr->second_size); + printf("%ssecond address: %x\n", p, hdr->second_addr); + printf("%stags address: %x\n", p, hdr->tags_addr); + printf("%spage size: %x\n", p, hdr->page_size); /* ver = A << 14 | B << 7 | C (7 bits for each of A, B, C) * lvl = ((Y - 2000) & 127) << 4 | M (7 bits for Y, 4 bits for M) */ - printf("%sos_version: %x (ver: %u.%u.%u, level: %u.%u)\n", + printf("%sos_version: %x (ver: %u.%u.%u, level: %u.%u)\n", p, hdr->os_version, (os_ver >> 7) & 0x7F, (os_ver >> 14) & 0x7F, os_ver & 0x7F, (os_lvl >> 4) + 2000, os_lvl & 0x0F); - printf("%sname: %s\n", p, hdr->name); - printf("%scmdline: %s\n", p, hdr->cmdline); + printf("%sname: %s\n", p, hdr->name); + printf("%scmdline: %s\n", p, hdr->cmdline); + printf("%sheader_version: %d\n", p, hdr->header_version); + + if (hdr->header_version >= 1) { + printf("%srecovery dtbo size: %x\n", p, + hdr->recovery_dtbo_size); + printf("%srecovery dtbo offset: %llx\n", p, + hdr->recovery_dtbo_offset); + printf("%sheader size: %x\n", p, + hdr->header_size); + } + + if (hdr->header_version >= 2) { + printf("%sdtb size: %x\n", p, hdr->dtb_size); + printf("%sdtb addr: %llx\n", p, hdr->dtb_addr); + } } #endif diff --git a/configs/h2200_defconfig b/configs/h2200_defconfig deleted file mode 100644 index 72bb4d3f70..0000000000 --- a/configs/h2200_defconfig +++ /dev/null @@ -1,38 +0,0 @@ -CONFIG_ARM=y -CONFIG_TARGET_H2200=y -CONFIG_SYS_TEXT_BASE=0xa0041000 -CONFIG_NR_DRAM_BANKS=1 -CONFIG_FIT=y -# CONFIG_FIT_ENABLE_SHA256_SUPPORT is not set -CONFIG_USE_BOOTARGS=y -CONFIG_BOOTARGS="root=/dev/ram0 ro console=ttyS0,115200n8" -CONFIG_SYS_CONSOLE_IS_IN_ENV=y -# CONFIG_DISPLAY_CPUINFO is not set -# CONFIG_DISPLAY_BOARDINFO is not set -CONFIG_HUSH_PARSER=y -# CONFIG_CMDLINE_EDITING is not set -# CONFIG_AUTO_COMPLETE is not set -# CONFIG_SYS_LONGHELP is not set -CONFIG_SYS_PROMPT="> " -# CONFIG_CMD_BDI is not set -# CONFIG_CMD_CONSOLE is not set -# CONFIG_CMD_BOOTD is not set -# CONFIG_CMD_XIMG is not set -# CONFIG_CMD_EDITENV is not set -# CONFIG_CMD_SAVEENV is not set -# CONFIG_CMD_ENV_EXISTS is not set -# CONFIG_CMD_MEMORY is not set -# CONFIG_CMD_FLASH is not set -# CONFIG_CMD_LOADS is not set -# CONFIG_CMD_ECHO is not set -# CONFIG_CMD_ITEST is not set -# CONFIG_CMD_SETEXPR is not set -# CONFIG_CMD_NFS is not set -CONFIG_CMD_PING=y -# CONFIG_CMD_MISC is not set -# CONFIG_MMC is not set -CONFIG_CONS_INDEX=3 -CONFIG_PXA_SERIAL=y -CONFIG_USB=y -CONFIG_USB_GADGET=y -CONFIG_USB_ETHER=y diff --git a/doc/git-mailrc b/doc/git-mailrc index fdfec85928..d29416a57a 100644 --- a/doc/git-mailrc +++ b/doc/git-mailrc @@ -10,7 +10,6 @@ alias u-boot uboot # Maintainer aliases. Use the same alias here as patchwork to keep # things simple and easy to look up/coordinate. -alias aaribaud Albert Aribaud <albert.u.boot@aribaud.net> alias abiessmann Andreas Bießmann <andreas@biessmann.org> alias abrodkin Alexey Brodkin <alexey.brodkin@synopsys.com> alias afleming Andy Fleming <afleming@gmail.com> @@ -55,7 +54,7 @@ alias arches arch alias arc uboot, abrodkin -alias arm uboot, aaribaud, trini +alias arm uboot, trini alias at91 uboot, abiessmann alias davinci ti alias imx uboot, sbabic diff --git a/include/android_image.h b/include/android_image.h index 0519ece368..54d25af068 100644 --- a/include/android_image.h +++ b/include/android_image.h @@ -11,18 +11,15 @@ #ifndef _ANDROID_IMAGE_H_ #define _ANDROID_IMAGE_H_ +#include <linux/compiler.h> +#include <linux/types.h> + #define ANDR_BOOT_MAGIC "ANDROID!" #define ANDR_BOOT_MAGIC_SIZE 8 #define ANDR_BOOT_NAME_SIZE 16 #define ANDR_BOOT_ARGS_SIZE 512 #define ANDR_BOOT_EXTRA_ARGS_SIZE 1024 -/* - * It is expected that callers would explicitly specify which version of the - * boot image header they need to use. - */ -typedef struct andr_img_hdr andr_img_hdr; - /* The bootloader expects the structure of andr_img_hdr with header * version 0 to be as follows: */ struct andr_img_hdr { @@ -115,7 +112,7 @@ struct andr_img_hdr { * +---------------------+ * | dtb | q pages * +---------------------+ - + * * n = (kernel_size + page_size - 1) / page_size * m = (ramdisk_size + page_size - 1) / page_size * o = (second_size + page_size - 1) / page_size diff --git a/include/configs/h2200.h b/include/configs/h2200.h deleted file mode 100644 index 1abf283e26..0000000000 --- a/include/configs/h2200.h +++ /dev/null @@ -1,128 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * iPAQ h2200 board configuration - * - * Copyright (C) 2012 Lukasz Dalek <luk0104@gmail.com> - */ - -#ifndef __CONFIG_H -#define __CONFIG_H - -#define CONFIG_MACH_TYPE MACH_TYPE_H2200 - -#define CONFIG_CPU_PXA25X 1 - -#define PHYS_SDRAM_1 0xa0000000 /* SDRAM Bank #1 */ -#define PHYS_SDRAM_1_SIZE 0x04000000 /* 64 MB */ - -#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 -#define CONFIG_SYS_SDRAM_SIZE PHYS_SDRAM_1_SIZE - -#define CONFIG_SYS_INIT_SP_ADDR 0xfffff800 - -#define CONFIG_ENV_SIZE 0x00040000 -#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128*1024) - -#define CONFIG_SYS_LOAD_ADDR 0xa3000000 /* default load address */ - -/* - * iPAQ 1st stage bootloader loads 2nd stage bootloader - * at address 0xa0040000 but bootloader requires header - * which is 0x1000 long. - * - * --- Header begin --- - * .word 0xea0003fe ; b 0x1000 - * - * .org 0x40 - * .ascii "ECEC" - * - * .org 0x1000 - * --- Header end --- - */ - -/* - * Static chips - */ - -#define CONFIG_SYS_MSC0_VAL 0x246c7ffc -#define CONFIG_SYS_MSC1_VAL 0x7ff07ff0 -#define CONFIG_SYS_MSC2_VAL 0x7ff07ff0 - -/* - * PCMCIA and CF Interfaces - */ - -#define CONFIG_SYS_MECR_VAL 0x00000000 -#define CONFIG_SYS_MCMEM0_VAL 0x00000000 -#define CONFIG_SYS_MCMEM1_VAL 0x00000000 -#define CONFIG_SYS_MCATT0_VAL 0x00000000 -#define CONFIG_SYS_MCATT1_VAL 0x00000000 -#define CONFIG_SYS_MCIO0_VAL 0x00000000 -#define CONFIG_SYS_MCIO1_VAL 0x00000000 - -#define CONFIG_SYS_FLYCNFG_VAL 0x00000000 -#define CONFIG_SYS_SXCNFG_VAL 0x00040004 - -#define CONFIG_SYS_MDREFR_VAL 0x0099E018 -#define CONFIG_SYS_MDCNFG_VAL 0x01C801CB -#define CONFIG_SYS_MDMRS_VAL 0x00220022 - -#define CONFIG_SYS_PSSR_VAL 0x00000000 -#define CONFIG_SYS_CKEN 0x00004840 -#define CONFIG_SYS_CCCR 0x00000161 - -/* - * GPIOs - */ - -#define CONFIG_SYS_GPSR0_VAL 0x01000000 -#define CONFIG_SYS_GPSR1_VAL 0x00000000 -#define CONFIG_SYS_GPSR2_VAL 0x00010000 - -#define CONFIG_SYS_GPCR0_VAL 0x00000000 -#define CONFIG_SYS_GPCR1_VAL 0x00000000 -#define CONFIG_SYS_GPCR2_VAL 0x00000000 - -#define CONFIG_SYS_GPDR0_VAL 0xF7E38C00 -#define CONFIG_SYS_GPDR1_VAL 0xBCFFBF83 -#define CONFIG_SYS_GPDR2_VAL 0x000157FF - -#define CONFIG_SYS_GAFR0_L_VAL 0x80401000 -#define CONFIG_SYS_GAFR0_U_VAL 0x00000112 -#define CONFIG_SYS_GAFR1_L_VAL 0x600A9550 -#define CONFIG_SYS_GAFR1_U_VAL 0x0005AAAA -#define CONFIG_SYS_GAFR2_L_VAL 0x20000000 -#define CONFIG_SYS_GAFR2_U_VAL 0x00000000 - -/* - * Serial port - */ -#define CONFIG_FFUART - -#define CONFIG_SYS_BAUDRATE_TABLE { 9600, 38400, 115200 } - -#define CONFIG_SETUP_MEMORY_TAGS -#define CONFIG_CMDLINE_TAG -#define CONFIG_INITRD_TAG - -/* Monitor Command Prompt */ - -#define CONFIG_USB_DEV_PULLUP_GPIO 33 -/* USB VBUS GPIO 3 */ - -#define CONFIG_BOOTCOMMAND \ - "setenv downloaded 0 ; while test $downloaded -eq 0 ; do " \ - "if bootp ; then setenv downloaded 1 ; fi ; done ; " \ - "source :script ; " \ - "bootm ; " - -#define CONFIG_USB_GADGET_PXA2XX -#define CONFIG_USB_ETH_SUBSET - -#define CONFIG_USBNET_DEV_ADDR "de:ad:be:ef:00:01" -#define CONFIG_EXTRA_ENV_SETTINGS \ - "stdin=serial\0" \ - "stdout=serial\0" \ - "stderr=serial\0" - -#endif /* __CONFIG_H */ |