04 Feb, 2018

13 commits

  • Add board specific imx config file with recommended IPU Qos settings
    and adapted DDR configuration.

    Signed-off-by: Soeren Moch

    Soeren Moch
     
  • The initial implementation of mx6memcal reset the CPU after
    running the memory calibration procedure because the generic
    board has no information about which boot devices are available.

    Now that we have SDP support in SPL, use it to allow a full
    U-Boot to be uploaded (i.e. to use "mtest").

    Signed-off-by: Eric Nelson
    Reviewed-by: Fabio Estevam

    Eric Nelson
     
  • Static variables are not available during board_init_f().
    'static uint32_t mx53_dram_size[2];' was used in board specific
    dram_init(), dram_init_banksize() and get_effective_memsize() to avoid
    multiple calls to get_ram_size().

    Reused dram initialization functions from arch/arm/mach-imx/mx5/mx53_dram.c

    Signed-off-by: Patrick Bruenn

    Patrick Bruenn
     
  • Static variables are not available during board_init_f().
    'static uint32_t mx53_dram_size[2];' was used in board specific
    dram_init(), dram_init_banksize() and get_effective_memsize() to avoid
    multiple calls to get_ram_size().

    Reused dram initialization functions from arch/arm/mach-imx/mx5/mx53_dram.c

    Signed-off-by: Patrick Bruenn

    Patrick Bruenn
     
  • Move dram_init(), dram_init_banksize() and get_effective_memsize() to
    arch/arm/mach-imx/mx5/mx53_dram.c, where it can be reused by m53evk and
    mx53loco.

    Signed-off-by: Patrick Bruenn

    Patrick Bruenn
     
  • Static variables are not available during board_init_f().
    'static uint32_t mx53_dram_size[2];' was used in board specific
    dram_init(), dram_init_banksize() and get_effective_memsize() to avoid
    multiple calls to get_ram_size().

    However multiple calls are better than undefined behavior...
    This fixes:
    https://lists.denx.de/pipermail/u-boot/2017-November/313214.html
    https://lists.denx.de/pipermail/u-boot/2017-December/314480.html

    Signed-off-by: Patrick Bruenn

    Patrick Bruenn
     
  • Validate the time at startup:
    - in case rtc error add to kernel command line RTC_ERROR
    - clamp date to 1-Jan-2036

    Signed-off-by: Nandor Han
    Signed-off-by: Martyn Welch
    Signed-off-by: Sebastian Reichel

    Nandor Han
     
  • Modify configuration to support FIT. Set variable `confidx' from VPD,
    in order to load the correct device tree. Modify/simplify U-Boot
    environment to support loading FIT image.

    Signed-off-by: Ian Ray
    Signed-off-by: Martyn Welch
    Signed-off-by: Sebastian Reichel

    Ian Ray
     
  • Enable the hardware watchdog on bx50v3 to cause it to reset in the event
    the board hangs.

    Configure GPIO_9 pin as WDOG1_B so that a watchdog timeout results in a
    full system reset.

    The watchdog is used and reconfigured by systemd approximately 1.7 seconds
    into boot. Adding a few seconds for U-Boot and a few more seconds as a
    safety margin.

    Note that the PCIe controller is _not_ put back into a safe state prior
    to board reset. This is a problem if board reset is implemented as CPU
    reset.

    Signed-off-by: Ian Ray
    Signed-off-by: Martyn Welch
    Signed-off-by: Sebastian Reichel

    Martyn Welch
     
  • There are two I210s on the b850v3 and one on the b450v3 and b650v3.
    One is connected to Marvell 88e6240 which is already programmed.

    Follow the flow documented in doc/README.enetaddr: set the
    enet[0-9]*addr environment variable and let the driver program the
    hardware.

    The mapping from the driver's index to the environment variable's name
    is documented in README: Note for Redundant Ethernet Interfaces. It is
    assumed that eth_devices for the controllers on the board are always
    indexed in the same order.

    The environment variables are removed after programming the hardware
    because the variables seem to influence MAC addresses also after U-Boot.
    Specifically the MAC address of FEC (MC interface) would be incorrectly
    set: 'ethaddr', which maps to the first I210 chip and is set to I210's
    default address read from the driver by eth_write_hwaddr in eth_legacy.c
    because the variable is undefined (not set even by bx50v3.c), would
    result in the eth0 interface's MAC address to be set to I210's default
    address.

    Signed-off-by: Hannu Lounento
    Signed-off-by: Ian Ray
    Signed-off-by: Martyn Welch
    Signed-off-by: Sebastian Reichel

    Hannu Lounento
     
  • Instead of programming the hardware directly in the board
    implementation, follow the flow documented in doc/README.enetaddr: set
    the enet[0-9]*addr environment variable and let the driver program the
    hardware.

    This avoids duplicating the implementation as it already exists in the
    driver (drivers/net/fec_mxc.c: fec_set_hwaddr).

    The mapping from the driver's index to the environment variable's name
    is documented in README: Note for Redundant Ethernet Interfaces. It is
    assumed that eth_devices for the controllers on the board are always
    indexed in the same order, i.e. FEC always has the index 2.

    The FEC driver does *not* set the flag Set MAC Address on Transmit (bit
    set_eth0_mac_address used to do but this is unnecessary as the Linux
    networking stack fills in the MAC address.

    Signed-off-by: Hannu Lounento
    Signed-off-by: Ian Ray
    Signed-off-by: Martyn Welch
    Signed-off-by: Sebastian Reichel

    Martyn Welch
     
  • The change in i2c configuration added to support access to the VPD has
    inadvertantly caused access to i2c buses 1 & 2 to be lost. This has
    resulted in the configuration for the PMIC to be attempted on the wrong
    bus and thus isn't taking effect.

    Add the required configuration to return access to buses 1 & 2. In order
    to ensure that any users of the bus numbering prior to addition in VPD
    patches work, add buses before configuration related to mux on bus 0 and
    tweak VPD bus usage to fit new numbering scheme.

    Signed-off-by: Martyn Welch
    Signed-off-by: Sebastian Reichel

    Martyn Welch
     
  • i.CoreM6 1.5 is an another i.CoreM6 QDL cpu modules which can be connected
    to EDIMM starter kit design with eMMC and MIPI-CSI interfaces suitable for
    Android and video capture application.

    notable features:
    CPU NXP i.MX6 S/DL/D/Q, Up to 4 x Cortex-A9@800MHz
    Memory Up to 2 GB DDR3-1066
    Video Interfaces Up to 1 Parallel Up to 2 LVDS HDMI 1.4
    port 8 bit CSI INPUT MIPI-CSI INPUT
    1 x 10/100 Ethernet interface, 2 x USB, 1 x PCIe, 1 x I2S etc

    This patch adds support for Quad/Dual and DualLite/Solo SOM's on
    MIPI starter kit with boot from SD and eMMC.

    Signed-off-by: Jagan Teki

    Jagan Teki
     

01 Feb, 2018

1 commit


31 Jan, 2018

3 commits


30 Jan, 2018

13 commits


29 Jan, 2018

7 commits


28 Jan, 2018

3 commits

  • hw_data_init() is called before relocation to initialise hardware data.
    Since ctrl is initialized to OMAP_SRAM_SCRATCH_SYS_CTRL in
    arch/arm/mach-omap2/am33xx/hw_data.c, the pointer *ctrl will not be
    updated during relocation and will hold a stale value.

    Therefore call hw_data_init() again after relocation to
    reinitialize *ctrl.

    Signed-off-by: Faiz Abbas

    Faiz Abbas
     
  • Move SYSCFG clock setup into configure_clocks() instead of calling
    clock_setup() from board file.

    As this clock is only needed in case of ethernet enabled and as
    both stm32f4 and stm32f7 are using the Designware ethernet IP,
    we use CONFIG_ETH_DESIGNWARE to only enable this clock if needed.

    Move the RMII setup from board_early_init_f() to board_init()
    to insure that RMII bit is set only when clock driver is initialized.

    Signed-off-by: Patrice Chotard

    Patrice Chotard
     
  • Thanks to 'commit ba1f96672522 ("net: designware: add clock support")'
    we don't need anymore to setup the STMMAC clock in board.

    Signed-off-by: Patrice Chotard
    Reviewed-by: Vikas Manocha

    Patrice Chotard