[U-Boot] [PATCH] ARM: imx6: Add Bachmann electronic ot1205 mr board

Fabio Estevam festevam at gmail.com
Wed Nov 6 19:20:13 CET 2013


On Wed, Nov 6, 2013 at 10:51 AM, Christian Gmeiner
<christian.gmeiner at gmail.com> wrote:

> +int dram_init(void)
> +{
> +       gd->ram_size = get_ram_size((void *)PHYS_SDRAM, PHYS_SDRAM_SIZE);
> +
> +       return 0;
> +}
> +
> +iomux_v3_cfg_t const uart1_pads[] = {

You can make it static.

> +int board_early_init_f(void)
> +{
> +       setup_iomux_uart();
> +
> +       return 0;
> +}
> +
> +iomux_v3_cfg_t const ecspi1_pads[] = {

Ditto.

> +/*
> + * Do not overwrite the console
> + * Use always serial for U-Boot console
> + */
> +int overwrite_console(void)
> +{
> +       return 1;
> +}

This can be removed.

> +iomux_v3_cfg_t const usdhc3_pads[] = {

static

> +int board_mmc_getcd(struct mmc *mmc)
> +{
> +       // returns -1 to indicate that no card-detection mechanism is implemented;
> +       // 0 indicates that no card is present and
> +       // 1 is returned if it was detected that a card is present.
> +       return 1;

No // style comments.

> +int board_mmc_init(bd_t *bis)
> +{
> +       s32 status = 0;
> +
> +       usdhc_cfg[0].sdhc_clk = mxc_get_clock(MXC_ESDHC3_CLK);
> +       usdhc_cfg[0].max_bus_width = 8;
> +
> +       imx_iomux_v3_setup_multiple_pads(
> +               usdhc3_pads, ARRAY_SIZE(usdhc3_pads));
> +
> +       status |= fsl_esdhc_initialize(bis, &usdhc_cfg[0]);
> +
> +       return status;

You can get rid of the status variable and just do:

return fsl_esdhc_initialize(bis, &usdhc_cfg[0]);


> +}
> +
> +iomux_v3_cfg_t const enet_pads[] = {

static

> +/* I2C2 - EDID */
> +struct i2c_pads_info i2c_pad_info1 = {

static

> +        .scl = {
> +                .i2c_mode = MX6_PAD_EIM_EB2__I2C2_SCL | PC,
> +                .gpio_mode = MX6_PAD_EIM_EB2__GPIO_2_30 | PC,
> +                .gp = IMX_GPIO_NR(2, 30)
> +        },
> +        .sda = {
> +                .i2c_mode = MX6_PAD_EIM_D16__I2C2_SDA | PC,
> +                .gpio_mode = MX6_PAD_EIM_D16__GPIO_3_16 | PC,
> +                .gp = IMX_GPIO_NR(3, 16)
> +        }
> +};
> +
> +/* I2C3 - keys, led, temp sensor */
> +struct i2c_pads_info i2c_pad_info2 = {

static

> +       .scl = {
> +               .i2c_mode = MX6_PAD_EIM_D17__I2C3_SCL | PC,
> +               .gpio_mode = MX6_PAD_EIM_D17__GPIO_3_17 | PC,
> +               .gp = IMX_GPIO_NR(3, 17)
> +       },
> +       .sda = {
> +               .i2c_mode = MX6_PAD_EIM_D18__I2C3_SDA | PC,
> +               .gpio_mode = MX6_PAD_EIM_D18__GPIO_3_18 | PC,
> +               .gp = IMX_GPIO_NR(3, 18)
> +       }
> +};
> +
> +iomux_v3_cfg_t const pwm_pad[] = {

static

> +++ b/include/configs/ot1205.h
> @@ -0,0 +1,231 @@
> +/*
> + * Copyright (C) 2010-2013 Freescale Semiconductor, Inc.
> + * Copyright (C) 2013, Bachmann electronic GmbH
> + *
> + * SPDX-License-Identifier:     GPL-2.0+
> + */
> +
> +#ifndef __CONFIG_H
> +#define __CONFIG_H
> +
> +#define CONFIG_MX6
> +#define CONFIG_MX6Q

If you pass the mx6 version in boards.cfg, then it will make things
easier when you add support for the other board variants you have.

> +#define CONFIG_DISPLAY_CPUINFO
> +#define CONFIG_DISPLAY_BOARDINFO
> +
> +#include <asm/arch/imx-regs.h>
> +#include <asm/imx-common/gpio.h>
> +
> +#define CONFIG_CMDLINE_TAG
> +#define CONFIG_SETUP_MEMORY_TAGS
> +#define CONFIG_INITRD_TAG
> +#define CONFIG_REVISION_TAG
> +
> +/* Size of malloc() pool */
> +#define CONFIG_SYS_MALLOC_LEN           (10 * 1024 * 1024)

If you do not have video support you can use a smaller region, such as 2MB.

> +/* OCOTP Configs */
> +#define CONFIG_CMD_IMXOTP
> +#ifdef CONFIG_CMD_IMXOTP
> +#define CONFIG_IMX_OTP
> +#define IMX_OTP_BASE                    OCOTP_BASE_ADDR
> +#define IMX_OTP_ADDR_MAX                0x7F
> +#define IMX_OTP_DATA_ERROR_VAL          0xBADABADA

Why do you need this? Not used anywehere.

Regards,

Fabio Estevam


More information about the U-Boot mailing list