24 Sep, 2016

1 commit


07 Sep, 2016

1 commit

  • Currently MX6 SPL DDR initialization hardcodes the REF_SEL and
    REFR fields of the MDREF register as 1 and 7, respectively for
    DDR3 and 0 and 3 for LPDDR2.

    Looking at the MDREF initialization done via DCD we see that
    boards do need to initialize these fields differently:

    $ git grep 0x021b0020 board/
    board/bachmann/ot1200/mx6q_4x_mt41j128.cfg:DATA 4 0x021b0020 0x00005800
    board/ccv/xpress/imximage.cfg:DATA 4 0x021b0020 0x00000800 /* MMDC0_MDREF */
    board/freescale/mx6qarm2/imximage.cfg:DATA 4 0x021b0020 0x7800
    board/freescale/mx6qarm2/imximage.cfg:DATA 4 0x021b0020 0x00005800
    board/freescale/mx6qarm2/imximage_mx6dl.cfg:DATA 4 0x021b0020 0x00005800
    board/freescale/mx6qarm2/imximage_mx6dl.cfg:DATA 4 0x021b0020 0x00005800
    board/freescale/mx6qsabreauto/imximage.cfg:DATA 4 0x021b0020 0x00005800
    board/freescale/mx6qsabreauto/mx6dl.cfg:DATA 4 0x021b0020 0x00005800
    board/freescale/mx6qsabreauto/mx6qp.cfg:DATA 4 0x021b0020 0x00005800
    board/freescale/mx6sabresd/mx6dlsabresd.cfg:DATA 4 0x021b0020 0x00005800
    board/freescale/mx6sabresd/mx6q_4x_mt41j128.cfg:DATA 4 0x021b0020 0x00005800
    board/freescale/mx6slevk/imximage.cfg:DATA 4 0x021b0020 0x00001800
    board/freescale/mx6sxsabreauto/imximage.cfg:DATA 4 0x021b0020 0x00000800
    board/freescale/mx6sxsabresd/imximage.cfg:DATA 4 0x021b0020 0x00000800
    board/warp/imximage.cfg:DATA 4 0x021b0020 0x00001800

    So introduce a mechanism for users to be able to configure
    REFSEL and REFR fields as needed.

    Keep all the mx6 SPL users in their current REF_SEL and REFR values,
    so no functional changes for the existing users.

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

    Fabio Estevam
     

28 Jul, 2016

1 commit


02 Apr, 2016

1 commit

  • Most of ehci-fsl header describe USB controller
    designed by Chipidea and used by various SoC vendors.

    This patch renames it to a generic header: ehci-ci.h
    Contents of file are not changed (so it contains several
    references to freescale SoCs).

    Signed-off-by: Mateusz Kulikowski
    Acked-by: Marek Vasut
    Tested-by: Simon Glass

    Mateusz Kulikowski
     

06 Feb, 2016

1 commit

  • Correct spelling of "U-Boot" shall be used in all written text
    (documentation, comments in source files etc.).

    Signed-off-by: Bin Meng
    Reviewed-by: Heiko Schocher
    Reviewed-by: Simon Glass
    Reviewed-by: Minkyu Kang

    Bin Meng
     

14 Jan, 2016

2 commits

  • Merging all the board specific Kconfig options into the main Kconfig file
    for mach-mvebu makes things easier to maintain.

    Signed-off-by: Stefan Roese
    Cc: Luka Perkov

    Stefan Roese
     
  • This patch adds basic support for the SolidRun ClearFog Armada 38x based
    board to mainline U-Boot. Supported interfaces / devices are:
    - DDR3
    - UART
    - MMC
    - Ethernet port 0 (connected to dedicated PHY)
    - I2C

    The included DT source was taken from Russell King's ftp server:
    http://www.home.arm.linux.org.uk/~rmk/clearfog/

    With only minor modifications, like the addition of some aliases and the
    "u-boot,dm-pre-reloc" property.

    Signed-off-by: Stefan Roese
    Cc: Rabeeh Khoury
    Cc: Luka Perkov

    Stefan Roese
     

12 Jan, 2016

1 commit


10 Jan, 2016

2 commits

  • We currently support various versions of Solidrun mx6 boards, so
    remove the obsolete comment.

    Reported-by: Jon Nettleton
    Signed-off-by: Fabio Estevam
    Reviewed-by: Stefano Babic

    Fabio Estevam
     
  • Since commit 59370f3fcd1350 ("net: phy: delay only if reset handler is
    registered") Ethernet is no longer functional:

    Booting from net ...
    FEC Waiting for PHY auto negotiation to complete......... TIMEOUT !
    BOOTP broadcast 1
    BOOTP broadcast 2
    BOOTP broadcast 3
    BOOTP broadcast 4

    This commit does not have an issue in itself, but it revelead a problem
    with the Ethernet initialization.

    As per the AR8035 datasheet:

    "For a reliable power on reset, suggest to keep asserting the reset
    low long enough (10ms) to ensure the clock is stable and clock-to-reset
    1ms requirement is satisfied."

    So do as suggested and keep the reset low for 10ms.

    Also add a 100us delay after deasserting the reset line
    to guarantee that the PHY ID can be read correctly and the Atheros
    PHY can be loaded as per Troy Kisky's suggestion.

    Signed-off-by: Fabio Estevam
    Tested-by: Tom Rini

    Fabio Estevam
     

13 Sep, 2015

1 commit

  • Remove duplicated SYS_SOC Kconfig entry from board Kconfig,
    because we have this entry in arch/arm/cpu/armv7/mx6/Kconfig.

    Signed-off-by: Peng Fan
    Cc: Stefano Babic
    Cc: Heiko Schocher
    Cc: Christian Gmeiner
    Cc: Stefan Roese
    Cc: Troy Kisky
    Cc: Nikita Kiryanov
    Cc: "Eric Bénard"
    Cc: Fabio Estevam
    Cc: Tim Harvey
    Cc: Marek Vasut
    Cc: Markus Niebel
    Cc: Otavio Salvador
    Acked-by: Stefan Roese
    Acked-by: Marek Vasut
    Acked-by: Christian Gmeiner
    Acked-by: Markus Niebel
    Acked-by: Troy Kisky
    Acked-by: Igor Grinberg

    Peng Fan
     

02 Sep, 2015

2 commits

  • To i.MX6, DDR3 and LPDDR2 is supported, so rename function mx6_dram_cfg
    to mx6_ddr3_cfg and the original mx6_dram_cfg function only is a wrapper.
    The new reimplemented function mx6_dram_cfg only invokes mx6_ddr3_cfg
    when ddr_type is for DDR3. Later we can use ddr_type to initialize
    MMDC for LPDDR2.

    Initialize ddr_type for different boards which enable SPL.

    Signed-off-by: Peng Fan
    Cc: Stefano Babic
    Cc: Tim Harvey
    Cc: Stefan Roese
    Cc: Fabio Estevam
    Reviewed-by: Stefan Roese

    Peng Fan
     
  • To i.MX6SX/UL, two ethernet interfaces are supported.
    Add ENET2 clock support:
    1. Introduce a new input parameter "fec_id", only 0 and 1 are allowed.
    To value 1, only i.MX6SX/UL can pass the check.
    2. Modify board code who use this api to follow new api prototype.

    Signed-off-by: Peng Fan
    Cc: Heiko Schocher
    Cc: Fabio Estevam
    Cc: Stefan Roese
    Cc: Nikolaos Pasaloukos
    Cc: Stefano Babic
    Reviewed-by: Stefan Roese

    Peng Fan
     

15 Jun, 2015

1 commit


19 May, 2015

1 commit

  • The 'mx6-microsom' directory was only used for the previous mx6solo
    hummingboard support, which has been removed in favour of the SPL
    version.

    Remove the remaining piece of the old mx6solo hummingboard support.

    Signed-off-by: Fabio Estevam
    Acked-by: Stefano Babic

    Fabio Estevam
     

16 May, 2015

6 commits

  • Cubox-i boards are also supported, so update the README file.

    Signed-off-by: Fabio Estevam

    Fabio Estevam
     
  • Hummingboard dual, dual-lite and solo are now supported via SPL mechanism.

    Remove the previous hummingboard support, which does not use SPL and supported
    only the solo variant.

    Signed-off-by: Fabio Estevam
    Reviewed-by: Tom Rini

    Fabio Estevam
     
  • Configure PAD_ENET_RXD0/RXD1 pads as pull down because these pads are directly
    connected to the Atheros 8035/8030 although they should be functional
    only in the RMII mode - 8030.

    Signed-off-by: Rabeeh Khoury
    Signed-off-by: Fabio Estevam
    Reviewed-by: Stefano Babic
    Reviewed-by: Tom Rini
    Tested-By: Vagrant Cascadian

    Fabio Estevam
     
  • mx6cuboxi sometimes fails to recognize the Ethernet PHY:

    Net: Phy 0 not found

    The explanation for this behavior comes from from Rabeeh Khoury:

    "The LED_ACT pin on the carrier-one boards had a pull down that
    forces the phy address to 0x0; where on CuBox-i and the production
    HummingBoard that pin is connected directly to LED that depending
    on the pull down strength of the LED it might be sampled as '0' or '1' thus
    the phy address might appear as either address 0x0 or 0x4."

    "This is AR8035 implementation; in reset stage the LED pin is configured as
    input, and pull up/down does matter. In this case it configures the PHY
    address.

    After reset is deasserted the same LED pin becomes output and then
    according to the previous pull/up it should be active high/low"

    One way to properly fix this behavior is to place external pull-up/down
    resistors in the LED line, but from a software standpoint we can fix it
    by telling phy_find_by_mask() to scan the PHY at addresses
    0x0 and 0x4.

    Reported-by: Vagrant Cascadian
    Signed-off-by: Rabeeh Khoury
    Signed-off-by: Fabio Estevam
    Acked-by: Stefano Babic
    Reviewed-by: Tom Rini
    Tested-By: Vagrant Cascadian

    Fabio Estevam
     
  • Enable USB Host1 port.

    Signed-off-by: Rabeeh Khoury
    Signed-off-by: Fabio Estevam
    Tested-By: Vagrant Cascadian

    Fabio Estevam
     
  • Add HDMI output using PLL5 as the source for the IPU clocks,
    and accurate VESA timings.

    These settings are based on the patch from Soeren Moch
    submitted for the tbs2910 mx6 based board.

    It allows the display to work properly at 1024x768@60.

    This should make the hdmi output signal compatible with most if not all
    modern displays.

    Signed-off-by: Jon Nettleton
    Signed-off-by: Fabio Estevam
    Reviewed-by: Tom Rini
    Tested-by: Tom Rini
    Signed-off-by: Rabeeh Khoury
    Signed-off-by: Fabio Estevam
    Reviewed-by: Tom Rini
    Tested-by: Vagrant Cascadian

    Fabio Estevam
     

27 Apr, 2015

5 commits


22 Apr, 2015

1 commit

  • Add the initial SPL support for HummingBoard-i2eX, which is based on a
    MX6 Dual.

    For more information about HummingBoard, please check:
    http://www.solid-run.com/products/hummingboard/

    Based on the work from Jon Nettleton and Rabeeh Khoury.

    Signed-off-by: Fabio Estevam
    Reviewed-by: Tom Rini

    Fabio Estevam
     

01 Dec, 2014

1 commit


29 Oct, 2014

1 commit

  • This commit introduces a Kconfig symbol for each ARM CPU:
    CPU_ARM720T, CPU_ARM920T, CPU_ARM926EJS, CPU_ARM946ES, CPU_ARM1136,
    CPU_ARM1176, CPU_V7, CPU_PXA, CPU_SA1100.
    Also, it adds the CPU feature Kconfig symbol HAS_VBAR which is selected
    for CPU_ARM1176 and CPU_V7.

    For each target, the corresponding CPU is selected and the definition of
    SYS_CPU in the corresponding Kconfig file is removed.

    Also, it removes redundant "string" type in some Kconfig files.

    Signed-off-by: Georges Savoundararadj
    Acked-by: Albert ARIBAUD
    Cc: Masahiro Yamada

    Georges Savoundararadj
     

14 Sep, 2014

1 commit

  • Now the types of CONFIG_SYS_{ARCH, CPU, SOC, VENDOR, BOARD, CONFIG_NAME}
    are specified in arch/Kconfig.

    We can delete the ones in arch and board Kconfig files.

    This commit can be easily reproduced by the following command:

    find . -name Kconfig -a ! -path ./arch/Kconfig | xargs sed -i -e '
    /config[[:space:]]SYS_\(ARCH\|CPU\|SOC\|\VENDOR\|BOARD\|CONFIG_NAME\)/ {
    N
    s/\n[[:space:]]*string//
    }
    '

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

11 Aug, 2014

1 commit


30 Jul, 2014

2 commits

  • We have switched to Kconfig and the boards.cfg file is going to
    be removed. We have to retrieve the board status and maintainers
    information from it.

    The MAINTAINERS format as in Linux Kernel would be nice
    because we can crib the scripts/get_maintainer.pl script.

    After some discussion, we chose to put a MAINTAINERS file under each
    board directory, not the top-level one because we want to collect
    relevant information for a board into a single place.

    TODO:
    Modify get_maintainer.pl to scan multiple MAINTAINERS files.

    Signed-off-by: Masahiro Yamada
    Suggested-by: Tom Rini
    Acked-by: Simon Glass

    Masahiro Yamada
     
  • This commit adds:
    - arch/${ARCH}/Kconfig
    provide a menu to select target boards
    - board/${VENDOR}/${BOARD}/Kconfig or board/${BOARD}/Kconfig
    set CONFIG macros to the appropriate values for each board
    - configs/${TARGET_BOARD}_defconfig
    default setting of each board

    (This commit was automatically generated by a conversion script
    based on boards.cfg)

    In Linux Kernel, defconfig files are located under
    arch/${ARCH}/configs/ directory.
    It works in Linux Kernel since ARCH is always given from the
    command line for cross compile.

    But in U-Boot, ARCH is not given from the command line.
    Which means we cannot know ARCH until the board configuration is done.
    That is why all the "*_defconfig" files should be gathered into a
    single directory ./configs/.

    Signed-off-by: Masahiro Yamada
    Acked-by: Simon Glass

    Masahiro Yamada
     

23 Jul, 2014

1 commit

  • There is no need to keep iomuxc_base_regs structure as it serves the exact same
    purpose of the iomuxc structure, which is to provide access to the GPR
    registers.

    The additional fields of iomuxc_base_regs are not used. Other advantage of
    'iomuxc' is that it has a shorter name and the variable declarations can fit
    into a single line.

    So remove iomuxc_base_regs structure and use iomuxc instead.

    Signed-off-by: Fabio Estevam
    Acked-by: Stefano Babic

    Fabio Estevam
     

11 Feb, 2014

1 commit


15 Jan, 2014

1 commit

  • SolidRun has designed the Hummingboard board based on mx6q/dl/solo.

    Add the initial support for the mx6 solo variant.

    More information about this hardware can be found at:
    http://imx.solid-run.com/wiki/index.php?title=Carrier-One_Hardware

    (Carrier-One was the previous name of Hummingboard).

    Based on the work from Jon Nettleton .

    Signed-off-by: Jon Nettleton
    Signed-off-by: Fabio Estevam

    Fabio Estevam