13 Sep, 2015

26 commits

  • 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
     
  • Old revisions of Utilite (a miniature PC based on cm-fx6) do not have
    a card detect for mmc, and thus the kernel needs to be told that
    there's a persistent storage on usdhc3 to force it to probe the mmc
    card.

    Check the baseboard revision and modify the device tree accordingly
    if needed.

    Cc: Stefano Babic
    Cc: Igor Grinberg
    Signed-off-by: Nikita Kiryanov

    Nikita Kiryanov
     
  • Introduce cl_eeprom_get_product_name() for obtaining product name
    from the eeprom.

    Cc: Stefano Babic
    Cc: Igor Grinberg
    Signed-off-by: Nikita Kiryanov

    Nikita Kiryanov
     
  • cl_eeprom_read_mac_addr() doesn't differentiate between success case and
    inability to access eeprom. Fix this by propagating the return value of
    cl_eeprom_setup().

    Cc: Stefano Babic
    Cc: Igor Grinberg
    Signed-off-by: Nikita Kiryanov
    Acked-by: Igor Grinberg

    Nikita Kiryanov
     
  • Add support for selecting which eeprom is queried for board revision by
    extending cl_eeprom_get_board_rev() to accept an i2c bus number.

    Cc: Stefano Babic
    Cc: Igor Grinberg
    Acked-by: Igor Grinberg
    Signed-off-by: Nikita Kiryanov

    Nikita Kiryanov
     
  • This patch is to support mx6ul_9x9_evk board based on mx6ul_14x14_evk,
    the difference between mx6ul 9x9 evk and mx6ul 14x14 evk are:
    1. mx6ul 9x9 evk use pfuze3000, while mx6ul 14x14 evk use DCDC.
    2. mx6ul 9x9 evk supports 256MB LPDDR2, while mx6ul 14x14 evk
    supports 512MB DDR3
    3. mx6ul_9x9_evk use 9x9 package, while mx6ul_14x14_evk use 14x14 package.

    This patch add the following:
    1. Discard PHYS_SDRAM_SIZE from header file, use imx_ddr_size()
    2. Introduce a macro is_mx6ul_9x9_evk using
    CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK) to avoid "#ifdef xxx" in non-SPL
    part. To SPL part, CONFIG_IS_ENABLED(TARGET_MX6UL_9X9_EVK) can not work,
    so still use "#ifdef CONFIG_TARGET_MX6UL_9X9_EVK" to differentiate with
    mx6ul_14x14_evk. And we have no way to dymaically checking this chip
    is 9x9 or 14x14.
    3. mx6ul_9x9_evk use pfuze3000, so enabled POWER related configurations.
    POWER related configurations also effect for mx6ul_14x14_evk. But
    power_init_board implementation using 'if (is_mx6ul_9x9_evk())' to
    do initialization for mx6ul_9x9_evk, and do nothing for mx6ul_14x14_evk.
    4. mx6ul_9x9_evk use lpddr2 with size 256MB, so add related SPL DRAM
    configurations.
    5. Enable CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG and setting dtb file
    according to board_rev and board_name.
    6. Add TARGET_MX6UL_9X9_EVK Kconfig entry

    Boot Log:
    U-Boot SPL 2015.10-rc2-00356-g536ce34 (Sep 06 2015 - 12:22:53)
    reading u-boot.img
    reading u-boot.img

    U-Boot 2015.10-rc2-00356-g536ce34 (Sep 06 2015 - 12:22:53 +0800)

    CPU: Freescale i.MX6UL rev1.0 792 MHz (running at 396 MHz)
    CPU: Commercial temperature grade (0C to 95C) at 41C
    Reset cause: POR
    Board: MX6UL 9x9 EVK
    I2C: ready
    DRAM: 256 MiB
    PMIC: PFUZE3000 DEV_ID=0x30 REV_ID=0x11
    MMC: FSL_SDHC: 0, FSL_SDHC: 1
    In: serial
    Out: serial
    Err: serial
    Net: FEC1
    Hit any key to stop autoboot: 0

    Signed-off-by: Peng Fan
    Cc: Stefano Babic

    Peng Fan
     
  • We have CONFIG_MXC_OCOTP and CONFIG_CMD_FUSE in mx6_common.h,
    discard duplicated macro definitions in board header files.

    Signed-off-by: Peng Fan
    Cc: Stefano Babic
    Cc: Peter Robinson
    Cc: Otavio Salvador

    Peng Fan
     
  • This reverts commit 059323fb6a8f21637bb617919715c2427f24777c.

    This commit 059323fb6a8f21637bb617919715c2427f24777c use JESD79-3E which
    is not the newest spec. Should use JESD79-3F in which tRFC is 260ns for
    4Gb chip.

    Signed-off-by: Peng Fan
    Cc: Stefano Babic
    Cc: Tim Harvey

    Peng Fan
     
  • Running mxsboot on a big-endian system produces a sd image which
    cannot be started by the i.MX28 ROM. It complains on the debug
    uart as following:
    0x8020a009
    0x80502008
    0x8020a009
    0x80502008
    ...

    Enforcing all fields within the BCB to little-endian make
    the image bootable again.

    Signed-off-by: Michael Heimpold
    Acked-by: Stefano Babic
    Acked-by: Marek Vasut

    Michael Heimpold
     
  • * Add i.MX7D SABRESD target board support with enabled modules:
    UART, PMIC, USB/OTG, SD, eMMC, ENET, I2C, 74LV IOX.

    Build target: mx7dsabresd_config

    Signed-off-by: Peng Fan
    Signed-off-by: Fugang Duan
    Signed-off-by: Ye.Li
    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • Add imx-common cpu support for imx7d SoC
    - Update reset_cause for imx7d
    - Enable watchdog driver built for imx7d

    Signed-off-by: Adrian Alonso
    Signed-off-by: Peng Fan

    Adrian Alonso
     
  • Add imx7 SoC thermal driver support

    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • Rework imx_set_wdog_powerdown to be reused by imx6 and imx7

    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • Extend init_aips to support imx7 SoC, use is_soc_type
    and is_cpu_type to resolve at run time aips3 settings

    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • Add imx7d basic SoC system support
    Misc arch dependent functions for system bring up

    Signed-off-by: Adrian Alonso
    Signed-off-by: Peng Fan
    Signed-off-by: Ye.Li

    Adrian Alonso
     
  • * Add Clock control module (CCM) support
    * iMX7D SoC introduces 3 main clock sysmtem abstraction for clock
    root frequency generation denominated clock slices.
    Core clock slice: hihg speed clock for ARM core
    Bus clock slice: for bus clocks
    IP clock slice: Peripheral clocks
    * At system boot ROM enables PLL_ARM, PLL_DDR, PLL_SYS, PLL_ENET
    In u-boot, we have to:
    - Configure PFD3- PFD7 for freq we needed in u-boot
    - Set clock root for peripherals (ip channel)

    Signed-off-by: Adrian Alonso
    Signed-off-by: Peng Fan
    Signed-off-by: Ye.Li

    Adrian Alonso
     
  • * Add system arch level header files
    - imx-regs.h: iMX7D SoC system architecture registers
    - crm_regs.h: Clock control module registers
    - sys_proto.h: helper callback function for SoC setup

    Signed-off-by: Adrian Alonso
    Signed-off-by: Peng Fan
    Signed-off-by: Ye.Li

    Adrian Alonso
     
  • Add system counter driver for imx7d and mx6ul
    imx7 and imx6ul supports system counter timer as well as
    GPT timer (arch/arm/imx-common/timer.c); The default for
    imx7 is systemcounter timer.

    Signed-off-by: Ye.Li
    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • Move common imx6 arch init setup, init.c can be extended
    and reused to support imx7 SoC keeping init arch common
    code.

    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • Rework cache settings for imx6, move cache configuration
    to imx-common/cache.c so it can be reused for newer SoC

    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • Rework imx_thermal driver to be used across i.MX
    processor that support thermal sensor

    Signed-off-by: Adrian Alonso
    Signed-off-by: Peng Fan

    Adrian Alonso
     
  • Add helper macro is_soc_type to identify iMX SoC family

    Signed-off-by: Adrian Alonso

    Adrian Alonso
     
  • Tom Rini
     
  • The MCV SoM has DDR3-1600 DRAMs on it, update the DRAM speed
    to 400MHz to make use of these DRAMs completely.

    Signed-off-by: Marek Vasut

    Marek Vasut
     
  • Commit 6a132416359e "ci_udc: Update the ci_udc driver to support bulk
    transfers" caused the value of "len" to change without updating subsquent
    users of that variable in ci_ep_submit_next_request(). This caused the
    code that detects when to emit ZLPs (Zero Length Packets) never to
    trigger, which in turn caused host timeouts when a ZLP was required,
    which in turn broke tests/dfu/, even despite the assertion in that
    commit's description that "These changes are tested for both the DFU and
    lthor."

    Fix this by modifying the added dtd iteration code not to modify "len",
    but rather to keep state in a separate variable. Rename the variables
    while we're at it so they describe their purpose better.

    Fixes: 6a132416359e ("ci_udc: Update the ci_udc driver to support bulk transfers")
    Cc: Siva Durga Prasad Paladugu
    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • Implement endpoint dequeue callback function.

    Without this function, uboot will hang when executing fastboot comamnd.
    See following flow:
    "fastboot_tx_write_str->fastboot_tx_write->usb_ep_dequeue->ep->ops->dequeue"
    without implement ci_udc dequeue function, ep->ops->dequeue is NULL, then
    uboot will hang.

    Tested on mx6qsabresd board with fastboot enabled.

    Signed-off-by: Peng Fan
    Tested-by: Fabio Estevam
    Cc: "Łukasz Majewski"
    Cc: Marek Vasut

    Peng Fan
     

12 Sep, 2015

14 commits

  • The current simplify lpc32xx gpio driver implementation assume a
    maximum of 32 GPIO per port; there are a total of 22 GPI, 24 GPO
    and 6 GPIO to managed on port 3.

    Update the driver to fix the following:
    1) When requesting GPI_xx and GPO_xx on port 3 (xx is the same number)
    the second call to "gpio_request" will return -EBUSY.

    2) The status of GPO_xx pin report the status of the
    corresponding GPI_xx pin when using the "gpio status" command.

    3) The gpio driver may setup the direction register for the wrong
    gpio when calling "gpio_direction_input" (GPI_xx) or
    "gpio_direction_output" (GPO_xx) on port 3; the call to the
    direction is require to use the "gpio status" command.

    The following change were done in the driver:
    1) port3 GPI are cache in a separate 32 bits in the array.
    2) port3 direction register written only for GPIO pins.
    3) port3 GPO & GPIO (as output) are read using "p3_outp_state".
    4) LPC32XX_GPI_P3_GRP updated to match the change.

    Signed-off-by: Sylvain Lemieux

    Sylvain Lemieux
     
  • Define CONFIG_MACH_TYPE to allow non DT Linux boot.

    Signed-off-by: Dmitry Lifshitz
    Acked-by: Igor Grinberg

    Dmitry Lifshitz
     
  • Mainline CM-T3517 U-Boot environment size differs from that one
    shipped with CM-T3517 boards.

    Update environment size, to avoid backward compatibility issues.

    Signed-off-by: Dmitry Lifshitz
    Acked-by: Igor Grinberg

    Dmitry Lifshitz
     
  • Fix MMC1 pinmux setup, thus enable SD/MMC card support with CM-T3517.

    Signed-off-by: Dmitry Lifshitz
    Acked-by: Igor Grinberg

    Dmitry Lifshitz
     
  • SBC-T3517 evaluation board has two Eth interfaces.
    Enable network retry of another interface if the default if failed
    or disconnected.

    Add 'netretry=yes' in the default env. Setup relevant
    timeout values in the board config file.

    Signed-off-by: Dmitry Lifshitz
    Acked-by: Igor Grinberg

    Dmitry Lifshitz
     
  • introduce BIT() definition, used in at91_udc gadget
    driver.

    Signed-off-by: Heiko Schocher
    [remove all other occurrences of BIT(x) definition]
    Signed-off-by: Andreas Bießmann
    Acked-by: Stefan Roese
    Acked-by: Anatolij Gustschin

    Heiko Schocher
     
  • Since last API changes for files >2GB, the read of symlink is broken as
    ext4fs_read_file now returns 0 instead of the length of the actual read.

    Signed-off-by: Gary Bisson

    Gary Bisson
     
  • This patch changes a little bit the environment, current environment was broken
    for a long time, and board don't as expected sometimes, on production systems
    this is fixed adding boot script. I think it's time to change this to make a
    system conformant environment and use generic distro configurations and
    environment instead. We can use a boot script for the old way boot mode.

    Signed-off-by: Enric Balletbo i Serra

    Enric Balletbò i Serra
     
  • Signed-off-by: Enric Balletbo i Serra

    Enric Balletbò i Serra
     
  • Add support for Lightwriter SL50 series board, a small, robust and portable
    Voice Output Communication Aids (VOCA) designed to meet the particular and
    changing needs of people with speech loss resulting from a wide range of
    acquired, progressive and congenital conditions.

    Signed-off-by: Enric Balletbo i Serra

    Enric Balletbò i Serra
     
  • This allows transferring data directly to/from RAM. For example, one
    could create a boot script that starts DFU on a RAM region, then once
    DFU exits (which is under the control of the attached USB host, via a
    USB bus reset), uses the code/data that was received over DFU.

    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • Writing to files is a useful feature in general, so enable it everywhere.
    The primary purpose is to make DFU useful on filesystems in addition to
    raw devices.

    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • CONFIG_SYS_DFU_DATA_BUF_SIZE defines the size of chunks transferred
    across USB. This doesn't need to be particularly large, since it doesn't
    limit the overall transfer size.

    CONFIG_SYS_DFU_MAX_FILE_SIZE is used to buffer an entire file before
    writing it to a filesystem. This define limits the maximum file size that
    may be transferred. Bump this up to 32MiB in order to support large
    uncompressed kernel images.

    Both of these buffers are dynamically allocated, and so the size of both
    needs to be taken into account when calculating the required malloc
    region size.

    Signed-off-by: Stephen Warren

    Stephen Warren
     
  • Commit 52a7c98a1772 "tegra-common: increase malloc pool len by dfu mmc
    file buffer size" updated the definition of CONFIG_SYS_MALLOC_LEN for
    Tegra to take account of the DFU buffer size. However, this change had
    no effect, since typical Tegra board config headers don't set the DFU-
    related defines until after tegra-common.h is included. Fix this by
    moving the affected conditional code to tegra-common-post.h, which is
    included last. Also move the definition of SYS_NONCACHED_MEMORY since
    it's a related and adjacent definition.

    Fix the condition to test for the DFU feature, rather than specifically
    MMC DFU support, so it applies in all cases.

    Signed-off-by: Stephen Warren

    Stephen Warren