[U-Boot] [PATCH 1/4] omap3_logic: Rework MACH_TYPE and fdtfile logic
Adam Ford
aford173 at gmail.com
Wed Jan 11 14:38:47 CET 2017
On Tue, Jan 10, 2017 at 4:22 PM, Tom Rini <trini at konsulko.com> wrote:
> The MACH_TYPE values for the omap37xx based platforms are no longer
> officially valid, so we must not set and pass them. In order to not
> reference them but still be able to set the default fdtfile based on the
> board detection logic we need to combine the two steps into one.
Look good.
>
Acked-by: Adam Ford <aford173 at gmail.com>
> Cc: Adam Ford <aford173 at gmail.com>
> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---
> board/logicpd/omap3som/omap3logic.c | 54 ++++++++++++++-----------------------
> 1 file changed, 20 insertions(+), 34 deletions(-)
>
> diff --git a/board/logicpd/omap3som/omap3logic.c b/board/logicpd/omap3som/omap3logic.c
> index de6a06021c2c..21b3fdcf49cf 100644
> --- a/board/logicpd/omap3som/omap3logic.c
> +++ b/board/logicpd/omap3som/omap3logic.c
> @@ -60,25 +60,28 @@ U_BOOT_DEVICE(omap3logic_uart) = {
> static struct board_id {
> char *name;
> int machine_id;
> + char *fdtfile;
> } boards[2][2] = {
> {
> {
> .name = "OMAP35xx SOM LV",
> .machine_id = MACH_TYPE_OMAP3530_LV_SOM,
> + .fdtfile = "logicpd-som-lv-35xx-devkit.dtb",
> },
> {
> .name = "OMAP35xx Torpedo",
> .machine_id = MACH_TYPE_OMAP3_TORPEDO,
> + .fdtfile = "logicpd-torpedo-35xx-devkit.dtb",
> },
> },
> {
> {
> .name = "DM37xx SOM LV",
> - .machine_id = MACH_TYPE_DM3730_SOM_LV,
> + .fdtfile = "logicpd-som-lv-37xx-devkit.dtb",
> },
> {
> .name = "DM37xx Torpedo",
> - .machine_id = MACH_TYPE_DM3730_TORPEDO,
> + .fdtfile = "logicpd-torpedo-37xx-devkit.dtb",
> },
> },
> };
> @@ -165,14 +168,20 @@ int misc_init_r(void)
> */
> int board_init(void)
> {
> - struct board_id *board;
> - unsigned int val;
> -
> gpmc_init(); /* in SRAM or SDRAM, finish GPMC */
>
> /* boot param addr */
> gd->bd->bi_boot_params = (OMAP34XX_SDRC_CS0 + 0x100);
>
> + return 0;
> +}
> +
> +#ifdef CONFIG_BOARD_LATE_INIT
> +int board_late_init(void)
> +{
> + struct board_id *board;
> + unsigned int val;
> +
> /*
> * To identify between a SOM LV and Torpedo module,
> * a pulldown resistor is on hsusb0_data5 for the SOM LV module.
> @@ -207,39 +216,16 @@ int board_init(void)
> printf("Board: %s\n", board->name);
>
> /* Set the machine_id passed to Linux */
> - gd->bd->bi_arch_number = board->machine_id;
> + if (board->machine_id)
> + gd->bd->bi_arch_number = board->machine_id;
> +
> + /* If the user has not set fdtimage, set the default */
> + if (!getenv("fdtimage"))
> + setenv("fdtimage", board->fdtfile);
> }
>
> /* restore hsusb0_data5 pin as hsusb0_data5 */
> MUX_VAL(CP(HSUSB0_DATA5), (IEN | PTD | DIS | M0));
> -
> - return 0;
> -}
> -
> -#ifdef CONFIG_BOARD_LATE_INIT
> -int board_late_init(void)
> -{
> - /* If we do not have an fdtimage, let's autodetect it*/
> - if (getenv("fdtimage"))
> - return 0;
> -
> - switch (gd->bd->bi_arch_number) {
> - case MACH_TYPE_DM3730_TORPEDO:
> - setenv("fdtimage", "logicpd-torpedo-37xx-devkit.dtb");
> - break;
> - case MACH_TYPE_DM3730_SOM_LV:
> - setenv("fdtimage", "logicpd-som-lv-37xx-devkit.dtb");
> - break;
> - case MACH_TYPE_OMAP3_TORPEDO:
> - setenv("fdtimage", "logicpd-torpedo-35xx-devkit.dtb");
> - break;
> - case MACH_TYPE_OMAP3530_LV_SOM:
> - setenv("fdtimage", "logicpd-som-lv-35xx-devkit.dtb");
> - break;
> - default:
> - /* unknown machine type */
> - break;
> - }
> return 0;
> }
> #endif
> --
> 1.9.1
>
More information about the U-Boot
mailing list