23 Aug, 2018

1 commit

  • When MUSB is operating in peripheral mode, probe registering
    musb core using musb_register which intern return int value
    for validation. so there is no scope to preserve struct musb
    pointer but the same can be used in .remove musb_stop.
    So fix this by return musb_register with struct musb pointer.

    Cc: Igor Grinberg
    Cc: Purna Chandra Mandal
    Tested-by: Chen-Yu Tsai # A33-OlinuXino
    Tested-by: Jagan Teki
    Signed-off-by: Jagan Teki

    Jagan Teki
     

25 Jul, 2018

1 commit


07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

28 Apr, 2018

1 commit


09 Apr, 2018

1 commit

  • In order that we can use eth_env_* even when CONFIG_NET isn't set, move
    these functions to environment code from net code.

    This fixes failures such as:

    board/ti/am335x/built-in.o: In function `board_late_init':
    board/ti/am335x/board.c:752: undefined reference to `eth_env_set_enetaddr'
    u-boot/board/ti/am335x/board.c:766: undefined reference to `eth_env_set_enetaddr'

    which caters for use cases such as:

    commit f411b5cca48f ("board: am335x: Always set eth/eth1addr environment
    variable")

    when Ethernet is required in Linux, but not U-Boot.

    Signed-off-by: Alex Kiernan

    Alex Kiernan
     

22 Feb, 2018

1 commit

  • This reverts commit edf0093732225c2fd0791c3864e9a3eef1f92f19 for
    cm_fx6 iMX.6 Solo module as it causes frequent (around 10 percent of
    power cycles) board's hangs.

    These hangs happen in SPL when BSS is being initialized in SDRAM -
    it appear that variables from BSS contain trash values which lead to board
    hangs. Looks like that SDRAM doesn't yet finish initialization in these
    cases.

    Signed-off-by: Maxim Yu. Osipov
    Reviewed-by: Stefano Babic

    Maxim Yu. Osipov
     

15 Feb, 2018

1 commit


12 Jan, 2018

1 commit

  • Like many other i.MX6 based boards, there are multiple variants of
    the cm-fx6 module featuring different SoC variants. Furthermore, the
    module can be paired with multiple baseboards.

    At the same time modern distribution like Fedora require U-Boot to
    select a proper devicetree which depends on the SoC variant and the
    baseboard.

    Thus, export the SoC variant and the actual board to the environment
    following the conventions of other i.MX6 devices (e.g. the NXP boards)
    such that the environment can select a devicetree file to load.

    For now, we only know for sure that the cm-fx6 module and the SB-fx6m
    baseboard amount to a Utilite Computer variant (depending on the SoC).
    Further combinations may be added in the future; e.g. CompuLab's
    evaluation board once someone can verify the identification string
    stored in its eeprom.

    Signed-off-by: Christopher Spinrath
    Reviewed-by: Stefano Babic

    Christopher Spinrath
     

29 Dec, 2017

2 commits


26 Nov, 2017

1 commit

  • When usb_hub_reset_devices is called, it should be passed both an
    indicator which hub it should operate on and what port number (local
    to that hub) should be reset.

    Previously, the usb_hub.c code did not include such context and
    always started resets from port number 1, performing multiple
    reset-requests for the same devices:

    /*
    * Reset any devices that may be in a bad state when applying
    * the power. This is a __weak function. Resetting of the devices
    * should occur in the board file of the device.
    */
    for (i = 0; i < dev->maxchild; i++)
    usb_hub_reset_devices(i + 1);

    This adds an additional 'hub' parameter to usb_hub_reset_devices
    that provides the context to fully qualify the port-number in.

    Existing implementations are changed to accept and ignore the new
    parameter.

    Signed-off-by: Philipp Tomsich
    Tested-by: Jakob Unterwurzacher

    Philipp Tomsich
     

21 Oct, 2017

1 commit

  • We add the various SMC91XX symbols to drivers/net/Kconfig and then this
    converts the following to Kconfig:
    CONFIG_SMC911X
    CONFIG_SMC911X_BASE
    CONFIG_SMC911X_16_BIT
    CONFIG_SMC911X_32_BIT

    Signed-off-by: Adam Ford
    [trini: Apply to the rest of the tree, re-squash old and new patch]
    Signed-off-by: Tom Rini

    Adam Ford
     

12 Oct, 2017

1 commit


18 Sep, 2017

1 commit


15 Sep, 2017

1 commit

  • Commit 6ae4c3efbd62 ("ARM: DRA7: Add pinctrl register definitions")
    has added new macros for pinmux configuration in line with the
    kernel definitions. Fixup the current pinctrl data for the CompuLab
    CL-SOM-AM57x board to use these new macros to facilitate the removal
    of the old macros.

    NOTE:
    The PEN and PDIS macro values used previously were actually defined
    inversely, a value of 1 in bit position 16 actually means that the
    internal pullup/pulldown is disabled and not enabled as inferred by
    PEN. So, previous pinmux config data such as (PDIS | PTU) is confusing
    as it actually was meant for enabling internal pullup. The data is
    fixed up only to be equivalent to the previous data.

    Signed-off-by: Suman Anna

    Suman Anna
     

19 Aug, 2017

1 commit


17 Aug, 2017

2 commits


16 Aug, 2017

3 commits


09 Aug, 2017

1 commit


12 Jul, 2017

1 commit

  • Change is consistent with other SOCs and it is in preparation
    for adding SOMs. SOC's related files are moved from cpu/ to
    mach-imx/.

    This change is also coherent with the structure in kernel.

    Signed-off-by: Stefano Babic

    CC: Fabio Estevam
    CC: Akshay Bhat
    CC: Ken Lin
    CC: Marek Vasut
    CC: Heiko Schocher
    CC: "Sébastien Szymanski"
    CC: Christian Gmeiner
    CC: Stefan Roese
    CC: Patrick Bruenn
    CC: Troy Kisky
    CC: Nikita Kiryanov
    CC: Otavio Salvador
    CC: "Eric Bénard"
    CC: Jagan Teki
    CC: Ye Li
    CC: Peng Fan
    CC: Adrian Alonso
    CC: Alison Wang
    CC: Tim Harvey
    CC: Martin Donnelly
    CC: Marcin Niestroj
    CC: Lukasz Majewski
    CC: Adam Ford
    CC: "Albert ARIBAUD (3ADEV)"
    CC: Boris Brezillon
    CC: Soeren Moch
    CC: Richard Hu
    CC: Wig Cheng
    CC: Vanessa Maegima
    CC: Max Krummenacher
    CC: Stefan Agner
    CC: Markus Niebel
    CC: Breno Lima
    CC: Francesco Montefoschi
    CC: Jaehoon Chung
    CC: Scott Wood
    CC: Joe Hershberger
    CC: Anatolij Gustschin
    CC: Simon Glass
    CC: "Andrew F. Davis"
    CC: "Łukasz Majewski"
    CC: Patrice Chotard
    CC: Nobuhiro Iwamatsu
    CC: Hans de Goede
    CC: Masahiro Yamada
    CC: Stephen Warren
    CC: Andre Przywara
    CC: "Álvaro Fernández Rojas"
    CC: York Sun
    CC: Xiaoliang Yang
    CC: Chen-Yu Tsai
    CC: George McCollister
    CC: Sven Ebenfeld
    CC: Filip Brozovic
    CC: Petr Kulhavy
    CC: Eric Nelson
    CC: Bai Ping
    CC: Anson Huang
    CC: Sanchayan Maity
    CC: Lokesh Vutla
    CC: Patrick Delaunay
    CC: Gary Bisson
    CC: Alexander Graf
    CC: u-boot@lists.denx.de
    Reviewed-by: Fabio Estevam
    Reviewed-by: Christian Gmeiner

    Stefano Babic
     

06 Jun, 2017

1 commit


05 Jun, 2017

1 commit


16 May, 2017

1 commit


15 May, 2017

2 commits


08 May, 2017

2 commits

  • Invoke enable_usb_clocks during board_usb_init and disable_usb_clocks
    during board_usb_exit to enable and disable clocks respectively.

    Modifications:
    * Enable USB clocks in the OMAP version of the function
    board_usb_init.
    * Disable USB clocks in the OMAP version of the function
    board_usb_cleanup.

    Cc: Marek Vasut
    Signed-off-by: Uri Mashiach
    Reviewed-by: Marek Vasut
    Reviewed-by: Tom Rini

    Uri Mashiach
     
  • A weak version of the function board_usb_init is implemented in:
    common/usb.c
    drivers/usb/host/xhci-omap.c

    To fix the double implementations:
    * Convert the board_usb_init function in drivers/usb/host/xhci-omap.c
    normal (not weak).
    * The function board_usb_init in drivers/usb/host/xhci-omap.c calls to
    the weak function omap_xhci_board_usb_init.
    * Rename board version of the function board_usb_init to
    omap_xhci_board_usb_init.
    Done only for boards that defines CONFIG_USB_XHCI_OMAP.

    To achieve the same flexibility with the function board_usb_cleanup:
    * Add a normal (not weak) implementation of the function
    board_usb_cleanup in drivers/usb/host/xhci-omap.c
    * The function board_usb_cleanup in drivers/usb/host/xhci-omap.c calls
    to the weak function omap_xhci_board_usb_cleanup.
    * Rename board version of the function board_usb_cleanup to
    omap_xhci_board_usb_cleanup.
    Done only for boards that defines CONFIG_USB_XHCI_OMAP.

    Cc: Lokesh Vutla
    Signed-off-by: Uri Mashiach
    Acked-by: Marek Vasut
    Reviewed-by: Tom Rini
    Reviewed-by: Roger Quadros

    Uri Mashiach
     

06 Apr, 2017

1 commit


20 Mar, 2017

1 commit

  • To keep a consistent MMC device mapping in SPL and in u-boot, let's
    register the MMC controllers the same way in u-boot and in the SPL.
    In terms of boot time, it doesn't hurt to register more controllers than
    needed because the MMC device is initialized only prior being accessed for
    the first time.
    Having the same device mapping in SPL and u-boot allows us to use the
    environment in SPL whatever the MMC boot device.

    Signed-off-by: Jean-Jacques Hiblot

    Jean-Jacques Hiblot
     

24 Jan, 2017

1 commit

  • The module is continuously rebooting with the following message:
    Net: data abort
    pc : [] lr : []
    reloc pc : [] lr : []
    sp : fdf5ce48 ip : fdf5d79c fp : 00000017
    r10: 8083cd58 r9 : fdf5cef0 r8 : fdf5d5d0
    r7 : 48485000 r6 : 400000ff r5 : fdf5d6e0 r4 : fdf5d618
    r3 : fdf5d5b4 r2 : fdf5d5d0 r1 : 643a3631 r0 : fdf5d6e0
    Flags: nzCv IRQs off FIQs off Mode SVC_32
    Resetting CPU ...

    Modifications:
    * Enable Ethernet configuration in the SPL.
    * Update PINMUX of PHY enable GPIO.

    Signed-off-by: Uri Mashiach
    Reviewed-by: Tom Rini

    Uri Mashiach
     

22 Jan, 2017

1 commit

  • Move all of the status LED feature to drivers/led/Kconfig.
    The LED status definitions were moved from the board configuration
    files to the defconfig files.

    TBD: Move all of the definitions in the include/status_led.h to the
    relevant board's defconfig files.

    Tested boards: CL-SOM-AM57x, CM-T335

    Signed-off-by: Uri Mashiach

    Uri Mashiach
     

03 Jan, 2017

3 commits

  • Add MAC support.

    Use PHY, connected to RGMII1 as a default Eth adapter,
    by appropriate setting of 'cpsw_data.active_slave'.

    'cpsw_phy' env variable can override this setting.

    Set the MAC addresses in the U-Boot environment.
    The addresses are retrieved from the on-board EEPROM or from the SOC's
    MAC fuses.

    Set the following PHYs RGMII clock delays:
    - Enable RX delay
    - Disable TX delay

    Signed-off-by: Dmitry Lifshitz
    [uri.mashiach@compulab.co.il: add RGMII clock delays]
    Signed-off-by: Uri Mashiach
    Acked-by: Igor Grinberg
    Reviewed-by: Tom Rini

    Dmitry Lifshitz
     
  • Add PCB revision message.
    Implement board revision get_board_rev API.

    Signed-off-by: Dmitry Lifshitz
    Commit description update.
    Signed-off-by: Uri Mashiach
    Acked-by: Igor Grinberg
    Reviewed-by: Tom Rini

    Dmitry Lifshitz
     
  • Features supported :

    * Serial console
    * SPI Flash
    * MMC/SD Card
    * eMMC storage
    * SATA
    * PCA9555 - GPIO expander over I2C5 bus
    * USB

    Use spl alternate boot device feature to define fallback to
    the main boot device as it is defined by hardware.

    Signed-off-by: Dmitry Lifshitz
    [uri.mashiach@compulab.co.il: Adjust to v2016.11]
    Signed-off-by: Uri Mashiach
    Acked-by: Igor Grinberg

    Dmitry Lifshitz
     

14 Oct, 2016

1 commit

  • Sometimes devicetree nodes and or properties are added out of the u-boot
    console, maybe through some script or manual interaction.

    The devicetree as loaded or embedded is quite small, so the devicetree
    has to be resized to take up those new nodes/properties.

    In original the devicetree was only extended by effective
    4 * add_mem_rsv.

    With this commit we can add an argument to the "fdt resize" command,
    which takes the extrasize to be added.

    Signed-off-by: Hannes Schmelzer

    Signed-off-by: Hannes Schmelzer
    Acked-by: Simon Glass

    Hannes Schmelzer
     

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