04 Dec, 2017

3 commits

  • In the moment our exception entry code needs 34 instructions, so we
    can't use put it directly into the table entry, which offers "only"
    32 instructions there. Right now we just put an unconditional branch
    there, then use a macro to place the 34 instructions *per entry* after
    that. That effectivly doubles the size of our exception table, which
    is quite a waste, given that we use it mostly for debugging purposes.

    Since the register saving part is actually identical, let's just convert
    that macro into a function, and "bl" into it directly from the exception
    slot, of course after having saved at least the original LR.
    This saves us about 950 bytes of code, which is quite a relief for some
    tight SPLs, in particular the 64-bit Allwinner ones.

    Signed-off-by: Andre Przywara

    Andre Przywara
     
  • Signed-off-by: Dmitry Korunov

    Dmitry Korunov
     
  • Adjust this test to use the unit test framework. Drop the two existing
    commands for running the tests and replace them with a single
    'ut compression' command, with sub-commands.

    Signed-off-by: Simon Glass
    [trini: Continue to have ret = run_test_internal(...) in run_test so ret
    is always initialized]
    Signed-off-by: Tom Rini

    Simon Glass
     

03 Dec, 2017

5 commits

  • The u-boot.sym file is scanned to find unit test suites for execution. At
    present it only finds those whose names start with 'dm' or 'env'. This
    code is buried in the bowels of the test code so when adding a new suite
    it is not easy to discover why it is ignored by the test framework.

    There seems to be no need to make this restriction. Drop it.

    Signed-off-by: Simon Glass
    Acked-by: Stephen Warren

    Simon Glass
     
  • At present the test setup is somewhat mixed with the test itself. But if
    the test setup fails (which it should not) then the test is actually
    invalid. Put all the test buffers and sizes in a struct and separate out
    the core code into a function.

    This will make it easier to move the code to use the unit test framework.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Adjust the code to use the common test-execution function.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • The logic to either iterate through a list of tests or pick a named test
    is common to at lest two test suits. Move this logic into a new function
    and call it from the environment tests.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • The kernel gets the ethernet MAC from the ethaddr variable, the omap boards for
    devices with USB based eth adapters just set the usbethaddr which doesn't appear
    to get passed to the kernel. The same Raspberry Pi code sets both ethaddr and
    usbethaddr so lets do that so linux (tested 4.13 and 4.14) get a static rather
    than a random MAC address, while not regressing users of usbethaddr.

    Signed-off-by: Peter Robinson

    Peter Robinson
     

02 Dec, 2017

3 commits


01 Dec, 2017

17 commits

  • On the RK3399-Q7, we want to trigger a full platform reset (so the
    various software stacks supported don't have to deal with the same
    complexities over and over again) in case that anything other than a
    power-on reset occurred.

    To do so, this defines the /config/sysreset-gpio property and has it
    point to a GPIO that will perform a power-on reset of the entire
    platform.

    Signed-off-by: Philipp Tomsich
    Tested-by: Klaus Goger

    Philipp Tomsich
     
  • The reset circuitry in the RK3399 only resets 'almost all logic' when
    a software reset is performed. To make our software maintenance
    easier in the future, we want to have the option (controlled by a DTS
    property) to force all reset causes other than a power-on reset to
    trigger a power-on reset via a GPIO trigger.

    This adds the necessary support to the rk3399-puma (i.e. RK3399-Q7)
    board-support and the documentation for the new property
    (sysreset-gpio) within the /config-node.

    Signed-off-by: Philipp Tomsich
    Tested-by: Klaus Goger
    Reviewed-by: Simon Glass

    Philipp Tomsich
     
  • USB1 is connected to the on-module USB 3.0 hub and power to the hub
    (actually it's a reset signal, modeled as a fixed regulator, that will
    be released) should be enabled only during the first probing of the
    device to avoid the hub from entering its low-power mode (where it
    tries to attach on a fixed interval, but we always miss the timeslot
    when U-Boot has the controller listening).

    This adds a 'tsd,usb-port-power' stringlist to enable the
    infrastructure in the board-specific usb_hub_reset_devices to find and
    control the fixed regulator associated with control of the USB hub.

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

    Philipp Tomsich
     
  • For some versions of the RK3399-Q7 (at least revisions v1.1 and v1.2
    are affected), we need to turn on the power for the port connected to
    the on-module USB hub only when the device is probed for the first
    time to ensure that the hub does not enter a low-power mode (that
    U-Boot's USB stack can't deal with).

    Note that this is needed for U-Boot only, as Linux eventually manages
    to attach the hub even when it has entered into its low-power state
    (when the hub wakes up the next time) after a few seconds.

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

    Philipp Tomsich
     
  • According to rk3036 TRM, should be set to '1' for the pll
    integer mode, while the '0' means the frac mode.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • After the MASK MACRO update, we need to update the driver at the same time.
    This is a fix to:
    37943aa rockchip: rk3036: clean mask definition for cru reg

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • There is a fixed div-2 between PLL and clk_ddr/clk_ddrphy,
    so we need to double to pll output and then ddr can work
    in correct frequency.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Even if the board-specific directory Makefile doesn't have any
    targets, it still needs to exist.

    This adds a minimal Makefile for the board/rockchip/evb_rk3128
    directory and a evk-rk3128.c (as built-in.o needs to be built
    for every directory that a Makefile gets run for).

    Fixes: c7a6866 ("rockchip: rk3128: add evb-rk3128 support")
    Signed-off-by: Philipp Tomsich

    Philipp Tomsich
     
  • RK3128 support up to 2GB DDR3 sdram, one channel, 32bit data width.

    This patch is only used for U-Boot, but not for SPL which will
    comes later, maybe after we merge all the common code into a common
    file.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Enable board config for evb-rk3128.
    Serial output and eMMC works in this version.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • evb-rk3128 is an evb from Rockchip based on rk3128 SoC:
    - 2 USB2.0 Host port;
    - 1 HDMI port;
    - 2 10/100M eth port;
    - 2GB ddr;
    - 16GB eMMC;
    - UART to USB debug port;

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Add rk3128 pinctrl driver and grf/iomux structure definition.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Add rk3128 clock driver and cru structure definition.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • RK3128 is a SoC from Rockchip with quad-core Cortex-A7 CPU
    and mali400 GPU. Support Nand flash, eMMC, SD card, USB 2.0 host
    and device, HDMI/LVDS/MIPI display.

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • Add dts binding header for rk3128, files origin from kernel.

    Series-Changes: 2
    - fix i2c address
    - add saradc and usb phy node
    - emmc using fifo mode for there is no dma support in rk3128 emmc
    - add some clock id in cru.h

    Signed-off-by: Kever Yang
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • After commit d962e5dadc2c("rockchip: mkimage: use spl_boot0 for all Rockchip SoCs"),
    the mkimage will not pad the Tag memroy, so we shoud
    pass a Taged ddr.bin/spl.bin to it.

    Signed-off-by: Andy Yan
    Acked-by: Philipp Tomsich
    Reviewed-by: Philipp Tomsich

    Andy Yan
     
  • With some of the recent cleanups (e.g. moving the DRAM controller
    drivers for Rockchip devices to drivers/ram/rockchip), the files
    and paths listed in MAINTAINERS no longer covered what really is
    looked after as part of the Rockchip port.

    This commit updates the files/paths listed in MAINTAINERS for the
    Rockchip port. I am certain, though, that this will have missed some
    additional paths that should have been included...

    Signed-off-by: Philipp Tomsich
    Reviewed-by: Simon Glass
    Acked-by: Philipp Tomsich

    Philipp Tomsich
     

30 Nov, 2017

12 commits