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

2 commits

  • 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
     
  • ft_board_setup may return early in the case that the board revision
    cannot be obtained. In that case it is assumed that no revision
    specific correction in the fdt is neccessary. But the mtd partitions
    will not be fixed up either altough they are not revision specific.

    Move the call to fdt_fixup_mtdparts in front of the revision specific
    part to ensure that the partitions are fixed up even if the board
    revision cannot be obtained.

    While on it, fix a spelling mistake in a comment introduced by the
    same commit.

    Fixes: 62d6bac66038 ("ARM: board: cm_fx6: fixup mtd partitions in the fdt")
    Signed-off-by: Christopher Spinrath
    Reviewed-by: Stefano Babic
    Reviewed-by: Nikita Kiryanov

    Christopher Spinrath
     

20 Jul, 2016

1 commit

  • The cm-fx6 module has an on-board st,m25p compatible spi flash chip
    used for U-Boot (binary & environment). Overwrite the partitions in
    the device tree by the partition table provided in the mtdparts
    environment variable, if it is set.

    This allows to specify a kernel independent partitioning in the
    environment and provides a convient way for the user to adapt the
    partition table.

    Signed-off-by: Christopher Spinrath
    Acked-by: Igor Grinberg

    Christopher Spinrath
     

12 Jul, 2016

1 commit

  • Old revisions of Utilite (based on cm-fx6) do not have a dedicated
    card detect pin. But the card is removable by the user and card
    detection can be realized with polling (e.g. supported by Linux).

    Add the broken-cd property to the mmc device tree instead of the
    non-removable property to make card detection possible if polling
    is supported.

    Signed-off-by: Christopher Spinrath
    Acked-by: Nikita Kiryanov

    Christopher Spinrath
     

21 May, 2016

1 commit


16 Mar, 2016

1 commit