[U-Boot] [PATCH v1 16/16] board: Add Qualcomm Dragonboard 410C support

Mateusz Kulikowski
2016-01-11T21:49:43Z

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hi,

On 07.01.2016 11:23, Sjoerd Simons wrote:
> On Wed, 2016-01-06 at 19:21 +0100, Mateusz Kulikowski wrote:
>> This commit add support for 96Boards Dragonboard410C.
>>
>> diff --git a/include/configs/dragonboard410c.h
>> b/include/configs/dragonboard410c.h
>> new file mode 100644
>> index 0000000..91f0e02
>> --- /dev/null
>> +++ b/include/configs/dragonboard410c.h
>> @@ -0,0 +1,182 @@
>> +/*
>> + * Board configuration file for Dragonboard 410C
>> + *
>> + * (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikowski@gmail.c
>> om>
>> + *
>> + * SPDX-License-Identifier: GPL-2.0+
>> + */
>> +
>> +#ifndef __CONFIGS_DRAGONBOARD410C_H
>> +#define __CONFIGS_DRAGONBOARD410C_H
>> +
>> +#include <linux/sizes.h>
>> +#include <asm/arch/sysmap-apq8016.h>
>> +
>> +#define CONFIG_IDENT_STRING "\nQualcomm-DragonBoard
>> 410C"
>> +
>> +#define CONFIG_MISC_INIT_R /* To stop autoboot */
>> +
>> +/* Flat Device Tree Definitions */
>> +#define CONFIG_OF_LIBFDT
>> +
>> +/* Physical Memory Map */
>> +#define CONFIG_NR_DRAM_BANKS 1
>> +#define PHYS_SDRAM_1 0x80000000
>> +/* 1008 MB (the last ~30Mb are secured for TrustZone by ATF*/
>> +#define PHYS_SDRAM_1_SIZE 0x3da00000
>> +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1
>> +#define CONFIG_SYS_TEXT_BASE 0x80080000
>> +#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_SDRAM_BAS
>> E + 0x7fff0)
>> +#define CONFIG_SYS_LOAD_ADDR (CONFIG_SYS_SDRAM_BASE +
>> 0x80000)
>> +#define CONFIG_SYS_BOOTM_LEN 0x1000000 /* 16MB max
>> kernel size */
>> +
>> +/* UART */
>> +#define CONFIG_BAUDRATE 115200
>> +
>> +/* Generic Timer Definitions */
>> +#define COUNTER_FREQUENCY 19000000
>> +
>> +/* This are needed to have proper mmc support */
>> +#define CONFIG_MMC
>> +#define CONFIG_GENERIC_MMC
>> +#define CONFIG_SDHCI
>> +
>> +#define CONFIG_SYS_LDSCRIPT "board/qualcomm/dragonboard410c/u-
>> boot.lds"
>> +
>> +/* Fixup - in init code we switch from device to host mode,
>> + * it has to be done after each HCD reset */
>> +#define CONFIG_EHCI_HCD_INIT_AFTER_RESET
>> +
>> +#define CONFIG_USB_HOST_ETHER /* Enable USB Networking */
>> +
>> +/* Support all possible USB ethernet dongles */
>> +#define CONFIG_USB_ETHER_DM9601
>> +#define CONFIG_USB_ETHER_ASIX
>> +#define CONFIG_USB_ETHER_ASIX88179
>> +#define CONFIG_USB_ETHER_MCS7830
>> +#define CONFIG_USB_ETHER_SMSC95XX
>> +
>> +/* Libraries */
>> +#define CONFIG_MD5
>> +
>> +/* Extra Commands */
>> +#define CONFIG_CMD_CACHE
>> +#define CONFIG_CMD_DHCP
>> +#define CONFIG_CMD_ENV
>> +#define CONFIG_CMD_FAT /* FAT support
>> */
>> +#define CONFIG_CMD_GPIO
>> +#define CONFIG_CMD_GPT
>> +#define CONFIG_CMD_MD5SUM
>> +#define CONFIG_CMD_MEMINFO /* meminfo
>> */
>> +#define CONFIG_CMD_MMC
>> +/* Enable that for switching of boot partitions */
>> +/* Disabled by default as some sub-commands can brick eMMC */
>> +/*#define CONFIG_SUPPORT_EMMC_BOOT */
>> +#define CONFIG_CMD_PART
>> +#define CONFIG_CMD_PING
>> +#define CONFIG_CMD_REGINFO /* Register dump */
>> +#define CONFIG_CMD_TFTP
>> +#define CONFIG_CMD_TIMER
>> +#define CONFIG_CMD_UNZIP
>> +#define CONFIG_CMD_BOOTZ
>> +#define CONFIG_CMD_BOOT
>
> Using config_distro_defaults would give you a nice set of default
> commands to include. May make sense to use that and drop the
> duplicates.

Will do

>
> Also the 410C is 64 bit arm afaik, so i would hvae expected _CMD_BOOTI
> rather then _CMD_BOOTZ

Booti is there as well; I'll drop bootz for now (I think I added it very early,
before I knew u-boot has different command for Images and forgot to remove it).

Perhaps later I'll make option to boot 32bit images and then it may be helpful.

But it's bigger task so let's forget about that for now :)

>
>
>> +
>> +/* Command line configuration */
>> +#define CONFIG_MENU
>> +#define CONFIG_SYS_LONGHELP
>> +
>> +/* Partition table support */
>> +#define HAVE_BLOCK_DEVICE /* Needed for partition commands */
>> +#define CONFIG_DOS_PARTITION
>> +#define CONFIG_EFI_PARTITION
>> +#define CONFIG_PARTITION_UUIDS
>> +
>> +/* BOOTP options */
>> +#define CONFIG_BOOTP_BOOTFILESIZE
>> +
>> +/* Environment - Boot*/
>> +#define CONFIG_BOOTDELAY 2 /* autoboot after 2
>> seconds */
>> +
>> +#define CONFIG_NFSBOOTCOMMAND ""
>> +#define CONFIG_BOOTCOMMAND "usb start && dhcp && tftp && usb stop &&
>> bootm"
>
> Any reason for a custom default bootcmd rather then
> using config_distro_bootcmd ? (Especially for board like the 96boards
> ones it seems quite useful to use a standardized boot sequence).

Just personal preferences; Will adjust environment to hikey so we will have unification.

Regards and thanks for hints,
Mateusz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQEcBAEBCAAGBQJWlCNsAAoJELvtohmVtQzBcz4IAIoN+mFOf8KVx7dfi3VCVxvn
D6W0qAT0DawbRraWeLlIGkTXD+BJzeCK4FNxjeTO0o/OTcAWxfY7hIlNanwEpsSd
t2WBZeXGgruVIVwCc0dCJsG3MNqHprRVVC3kH+vuhPdSDRZF9EyktOz0E37DYNAE
ie/CKuLetDDi8LfNre0Ng0lLR3UX1mkqcepHWpDN608KZW2nlQ1+A2WIhocRtxjz
1BDDkVnMEAIOKfjcWyfn8zvVd1Gg7j12pO5T9kIinasKRFAufaXjLdcPD+44tY4G
4JOzJ2PPiTKCdHbZ1zz28UbseIiXc+Ri80+a87XITFiDx4aw0FPzdIXXk5T+bTs=
=MkIk
-----END PGP SIGNATURE-----