14 Sep, 2018

1 commit

  • There are two versions of imx6ul pico SOMs: one with 256MB and another
    one with 512MB of RAM.

    Convert to SPL so that both versions can be supported. This patch
    doesn't rework the clock initialization to avoid changing the behavior
    in this same patch, so it will be cleaned up in future.

    Currently only the 256MB is tested/supported.

    Signed-off-by: Fabio Estevam
    Signed-off-by: Fabio Berton
    Signed-off-by: Otavio Salvador

    Fabio Estevam
     

11 Sep, 2018

27 commits


07 Sep, 2018

1 commit

  • In commit a1274cc94a20 ("ARM: Page align secure section only when it is
    executed in situ"), we used output section attributes (the "ALIGN"
    keyword after the colon) to specify the alignment requirements. Using
    the constant "COMMONPAGE" there was recently broken in binutils 2.31 [1].

    Binutils maintainer Alan Modra suggested the former method would still
    work. Since both methods achieve the same result, this patch does just
    that. This fixes the "reboot after bootm" issue we've been seeing on
    sunxi when booting non-secure.

    [1] https://sourceware.org/bugzilla/show_bug.cgi?id=23571

    Suggested-by: Alan Modra
    Signed-off-by: Chen-Yu Tsai
    Reviewed-by: Tom Rini
    Acked-by: Jagan Teki

    Chen-Yu Tsai
     

06 Sep, 2018

1 commit


05 Sep, 2018

3 commits


04 Sep, 2018

7 commits

  • This patch adds system suspend/resume support,
    when linux kernel enters deep sleep mode, SoC will go
    into below mode:

    - CA7 platform goes into STOP mode;
    - SoC goes into DSM mode;
    - DDR goes into self-refresh mode;
    - CPU0/SCU will be powered down.

    When wake up event arrives:

    - SoC DSM mdoe exits;
    - CA7 platform exit STOP mode, SCU/CPU0 power up;
    - Invalidate L1 cache;
    - DDR exit self-refresh mode;
    - Do secure monitor mode related initialization;
    - Jump to linux kernel resume entry.

    Belwo is the log of 1 iteration of system suspend/resume:

    [ 338.824862] PM: suspend entry (deep)
    [ 338.828853] PM: Syncing filesystems ... done.
    [ 338.834433] Freezing user space processes ... (elapsed 0.001 seconds) done.
    [ 338.842939] OOM killer disabled.
    [ 338.846182] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
    [ 338.869717] PM: suspend devices took 0.010 seconds
    [ 338.877846] Disabling non-boot CPUs ...
    [ 338.960301] Retrying again to check for CPU kill
    [ 338.964953] CPU1 killed.
    [ 338.968104] Enabling non-boot CPUs ...
    [ 338.973598] CPU1 is up
    [ 339.267155] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
    [ 339.275833] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
    [ 339.284158] mmc1: queuing unknown CIS tuple 0x80 (6 bytes)
    [ 339.385065] PM: resume devices took 0.400 seconds
    [ 339.389836] OOM killer enabled.
    [ 339.392986] Restarting tasks ... done.
    [ 339.398990] PM: suspend exit

    The resume entry function has to initialize stack pointer before calling
    C code, otherwise there will be an external abort occur, in additional,
    invalidate L1 cache must be done in secure section as well, so this
    patch also adds assembly code back and keep it as simple as possible.

    Signed-off-by: Anson Huang
    Acked-by: Stefan Agner
    Tested-by: Stefan Agner

    Anson Huang
     
  • Add i.MX7D GPC initialization for low power mode
    support like system suspend/resume from linux kernel:

    - Pending IOMUXC IRQ to workaround GPC state machine issue;
    - Mask all GPC interrupts for M4/C0/C1;
    - Configure SCU timing;
    - Configure time slot ack;
    - Configure C0/C1 power up/down timing;
    - Configure wakeup source mechanism;
    - Disable DSM/RBC related settings.

    Signed-off-by: Anson Huang

    Anson Huang
     
  • This patch improves cpu hotplug, previous cpu_off
    implementation is NOT safe, a CPU can NOT power down
    itself in runtime, it will cause system bus hang due
    to pending transaction. So need to use other online
    CPU to kill it when it is ready for killed.

    Here use SRC parameter register and a magic number
    of ~0 as handshake for killing a offline CPU,
    when the online CPU checks the psci_affinity_info,
    it will help kill the offline CPU according to
    the magic number stored in SRC parameter register.

    Signed-off-by: Anson Huang

    Anson Huang
     
  • The existing imx_watchdog driver is compatible with mx25 chipsets.
    Add a WDOG1_BASE_ADDR define for the base address and enable the driver
    in watchdog's Makefile.

    To use the driver, a board must define CONFIG_IMX_WATCHDOG and
    CONFIG_HW_WATCHDOG.

    This fixes an issue when booting an mx25 chip via usb/serial. In this
    case, the boot rom will always enable the watchdog. If u-boot is running
    in interactive mode and the watchdog is not serviced, the system is
    rebooted when the watchdog expires.

    Signed-off-by: Martin Kaiser
    Reviewed-by: Fabio Estevam

    Martin Kaiser
     
  • Add the board DTS files for 14x14 EVK and 9x9 EVK. They are necessary
    for converting to use u-boot DM driver.

    Two -u-boot.dtsi are added to modify compatible string of SPI flash
    device to "spi-flash".

    Signed-off-by: Ye Li

    Ye Li
     
  • Add spi0 alias for qspi for enabling DM SPI.
    Change usb alias for usbotg1 and usbotg2 for enabling DM USB

    Signed-off-by: Ye Li

    Ye Li
     
  • On iMX7D SabreSD board, the QSPI has pins conflict with EPDC (default).
    To use QSPI, users have to rework the board (de-populate R388-R391, R396-R399
    populate R392-R395, R299, R300). So we add new DTS file and new defconfig
    dedicated for QSPI.

    Other changes to support the DM QSPI:
    - Add QSPI node and alias spi0.
    - Modify spi4 (spi-gpio) node and add alias spi5 for it to avoid req
    conflict
    - Add EPDC node in imx7d.dtsi and disable it in imx7d-sdb-qspi.dts to
    align with kernel and also present the conflict.
    - Add -u-boot.dtsi to modify compatible string of mx25l51245g@0 to
    "spi-flash"
    - Remove iomux settings of qspi in board codes which is not needed
    for DM driver.

    Signed-off-by: Ye Li

    Ye Li