1. 18 5月, 2016 1 次提交
  2. 16 5月, 2016 1 次提交
  3. 15 5月, 2016 1 次提交
  4. 13 5月, 2016 2 次提交
  5. 12 5月, 2016 1 次提交
  6. 11 5月, 2016 2 次提交
  7. 07 5月, 2016 15 次提交
    • T
      15e8cb70
    • T
      Merge branch 'master' of git://git.denx.de/u-boot-usb · 7b4f17bf
      Tom Rini 提交于
      7b4f17bf
    • P
      usb: gadget: dfu: discard dead code · 12ff19db
      Peng Fan 提交于
      Reported by Coverity:
      Logically dead code (DEADCODE)
      dead_error_line: Execution cannot reach this statement:
      (f_dfu->strings + --i).s = ....
      
      If calloc failed, i is still 0 and no need to call free,
      so discard the dead code.
      Signed-off-by: NPeng Fan <van.freenix@gmail.com>
      Cc: "Łukasz Majewski" <l.majewski@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      12ff19db
    • P
      dfu: avoid memory leak · 5d8fae79
      Peng Fan 提交于
      When dfu_fill_entity fail, need to free dfu to avoid memory leak.
      
      Reported by Coverity:
      "
      Resource leak (RESOURCE_LEAK)
      leaked_storage: Variable dfu going out of scope leaks the storage
      it points to.
      "
      Signed-off-by: NPeng Fan <van.freenix@gmail.com>
      Cc: "Łukasz Majewski" <l.majewski@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      5d8fae79
    • S
      usb: dwc2: Add delay to fix the USB detection problem on SoCFPGA · 2bf352f0
      Stefan Roese 提交于
      With patch c998da0d (usb: Change power-on / scanning timeout handling),
      the USB scanning is started earlier and with a smaller timeout. This
      resulted on SoCFPGA (using the DWC2 driver) in some USB sticks not
      getting detected any more. This patch now adds a 1 second delay (in
      the host mode only) to the DWC2 driver before the scanning is started.
      With this delay, now all problematic USB keys are detected successfully
      again. And there is no need any more to change the delay / timeout
      in the common USB code (usb_hub.c).
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Stephen Warren <swarren@nvidia.com>
      Cc: Marek Vasut <marex@denx.de>
      2bf352f0
    • M
      usb: hub: Don't continue on get_port_status failure · d81db48d
      Marek Vasut 提交于
      The code shouldn't continue probing the port if get_port_status() failed.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Stephen Warren <swarren@nvidia.com>
      d81db48d
    • M
      usb: Assure Get Descriptor request is in separate microframe · ef71290b
      Marek Vasut 提交于
      The Kingston DT Ultimate USB 3.0 stick is sensitive to this first
      Get Descriptor request and if the request is not in a separate
      microframe, the stick refuses to operate. Add slight delay, which
      is enough for one microframe to pass on any USB spec revision.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Stephen Warren <swarren@nvidia.com>
      ef71290b
    • M
      usb: Wait after sending Set Configuration request · f647bf0b
      Marek Vasut 提交于
      Some devices, like the SanDisk Cruzer Pop need some time to process
      the Set Configuration request, so wait a little until they are ready.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Stephen Warren <swarren@nvidia.com>
      f647bf0b
    • A
      socfpga: fix broken build if CONFIG_ETH_DESIGNWARE disabled · 5289c5fa
      Anatolij Gustschin 提交于
      Building without ethernet driver doesn't work. Fix it.
      Signed-off-by: NAnatolij Gustschin <agust@denx.de>
      Cc: Marek Vasut <marex@denx.de>
      5289c5fa
    • M
      mtd: cqspi: Simplify indirect read code · 5a824c49
      Marek Vasut 提交于
      The indirect read code is a pile of nastiness. This patch replaces
      the whole unmaintainable indirect read implementation with the one
      from upcoming Linux CQSPI driver, which went through multiple rounds
      of thorough review and testing. All the patch does is it plucks out
      duplicate ad-hoc code distributed across the driver and replaces it
      with more compact code doing exactly the same thing. There is no
      speed change of the read operation.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Jagan Teki <jteki@openedev.com>
      Cc: Pavel Machek <pavel@denx.de>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Vignesh R <vigneshr@ti.com>
      5a824c49
    • M
      mtd: cqspi: Simplify indirect write code · 26da6353
      Marek Vasut 提交于
      The indirect write code is buggy pile of nastiness which fails horribly
      when the system runs fast enough to saturate the controller. The failure
      results in some pages (256B) not being written to the flash. This can be
      observed on systems which run with Dcache enabled and L2 cache enabled,
      like the Altera SoCFPGA.
      
      This patch replaces the whole unmaintainable indirect write implementation
      with the one from upcoming Linux CQSPI driver, which went through multiple
      rounds of thorough review and testing. While this makes the patch look
      terrifying and violates all best-practices of software development, all
      the patch does is it plucks out duplicate ad-hoc code distributed across
      the driver and replaces it with more compact code doing exactly the same
      thing.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Anatolij Gustschin <agust@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Jagan Teki <jteki@openedev.com>
      Cc: Pavel Machek <pavel@denx.de>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Vignesh R <vigneshr@ti.com>
      26da6353
    • S
      arm: socfpga: socrates: Add 'time' command · 8b1a0749
      Stefan Roese 提交于
      The time command is very helpful for performance and regressions tests.
      So lets enable it on SoCrates.
      Signed-off-by: NStefan Roese <sr@denx.de>
      Cc: Marek Vasut <marex@denx.de>
      8b1a0749
    • M
      ARM: socfpga: Disable USB OC protection on SoCrates · 268da813
      Marek Vasut 提交于
      This is mandatory, otherwise the USB does not work.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Dinh Nguyen <dinguyen@kernel.org>
      268da813
    • M
      usb: Don't init pointer to zero, but NULL · 2f1b4302
      Marek Vasut 提交于
      The pointer should always be inited to NULL, not zero (0). These are
      two different things and not necessarily equal.
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Dinh Nguyen <dinguyen@opensource.altera.com>
      Cc: Hans de Goede <hdegoede@redhat.com>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Stephen Warren <swarren@nvidia.com>
      2f1b4302
    • S
      usb: ehci-mx6: allow board_ehci_hcd_init to fail · 79d867c2
      Stefan Agner 提交于
      There could be runtime determined board specific reason why a EHCI
      initialization fails (e.g. ENODEV if a Port is not available). In
      this case, properly return the error code.
      While at it, that function (board_ehci_hcd_init) has actually two
      documentation blocks... Use the correct function name for the
      documentation block of board_usb_phy_mode.
      Signed-off-by: NStefan Agner <stefan@agner.ch>
      79d867c2
  8. 06 5月, 2016 8 次提交
    • P
      imx6: cache: disable L2 before touching Auxiliary Control Register · ad7af5d7
      Peng Fan 提交于
      According PL310 TRM, Auxiliary Control Register
      "
      The register must be written to using a secure access, and it can be
      read using either a secure or a NS access. If you write to this register
      with a NS access, it results in a write response with a DECERR response,
      and the register is not updated. Writing to this register with the L2
      cache enabled, that is, bit[0] of L2 Control Register set to 1,
      results in a SLVERR.
      "
      
      So If L2 cache is already enabled by ROM, chaning value of ACR
      will cause SLVERR and uboot hang.
      Signed-off-by: NPeng Fan <peng.fan@nxp.com>
      Cc: Stefano Babic <sbabic@denx.de>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      ad7af5d7
    • S
      test/py: dfu: wait for USB device to go away at boot · daa69f5f
      Stephen Warren 提交于
      It can take a while for a host machine to notice that a USB device has
      disconnected, and process the change. At the end of the DFU test, we wait
      up to 10 seconds for this to happen. This change makes the test wait the
      same (up to) 10 seconds at the start of the test for any previously active
      USB device-mode session to be cleaned up. Such as session might have been
      used to download U-Boot into memory for example; this is certainly true
      on my Tegra test systems. This changes should solve the DFU test
      intermittency issues I've been seeing on some Tegra devices.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      daa69f5f
    • R
      ARM: am33xx: Fix DDR initialization delays · b67d6b00
      Russ Dill 提交于
      The current delays in the DDR initialization routines for am33xx
      architectures are sometimes not running long enough leading to DDR
      init errors. On am437x, this shows up as an L3 NOC error after the
      kernel boots. This is due to the timer not being initialized
      properly, but instead still containing the timer init values from
      the boot ROM which cause timers to expire in 1/4th the time
      required.
      
      timer_init is typically not called until board_init_r, however on
      am33xx/am43xx udelay is required in sdram_init which is called
      from board_init_f, so a call to timer_init is required earlier.
      
      Note that this issue introduced in v2015.01 by:
      
      b352dde1 "am33xx: Drop timer_init call from s_init".
      
      Although this could instead fixed by reverting said commit, it
      would cause timer_init to be called twice in both SPL and non-SPL
      cases. This gives a little more fine grained control and also
      matches what is being done on omap-command and fsl-layerscape.
      Signed-off-by: NRuss Dill <russ.dill@ti.com>
      b67d6b00
    • S
      ARM: fix ifdefs in ARMv8 lowlevel_init() · 11661193
      Stephen Warren 提交于
      Commit 724219a6 "ARM: always perform per-CPU GIC init" removed some
      ifdefs to unify the MULTIENTRY-vs-non-MULTIENTRY paths. However, the
      wrong endif was removed. This patch adds back that missing endif, and
      adds a new ifdef to match the endif the now-correctly-terminated block
      used to match against. Use "git show -U25 724219a6" to see enough
      context to make the original issue clear.
      
      In practical terms, this makes no difference to runtime behaviour. The
      code that was incorrectly compiled into the binary when ifndef MULTIENTRY
      is a no-op for other cases, since branch_if_master evaluates to a hard-
      coded jump. The only issues were:
      
      - A few extra instructions were added to the binary.
      - The comment on the endif at the very end of the function, indicating
      which ifdef it matched, were wrong.
      
      An alternative might be to simply fix the comment on that trailing ifdef,
      but that only addresses the second point above, not the first.
      
      Fixes: 724219a6 ("ARM: always perform per-CPU GIC init")
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Reviewed-by: NMasahiro Yamada <yamada.masahiro@socionext.com>
      11661193
    • R
      Fix various typos, scattered over the code. · 1cc0a9f4
      Robert P. J. Day 提交于
      Spelling corrections for (among other things):
      
      * environment
      * override
      * variable
      * ftd (should be "fdt", for flattened device tree)
      * embedded
      * FTDI
      * emulation
      * controller
      1cc0a9f4
    • M
      mmc: Fix error in RPMB code · b955e42b
      Marek Vasut 提交于
      Since we do not build any board with CONFIG_SUPPORT_EMMC_RPMB , this
      piece of code evaded conversion. Fix the following compiler error:
      
      cmd/mmc.c: In function 'do_mmcrpmb':
      cmd/mmc.c:316:32: error: 'struct blk_desc' has no member named 'part_num'
        original_part = mmc->block_dev.part_num;
                                      ^
      Signed-off-by: NMarek Vasut <marex@denx.de>
      Cc: Pantelis Antoniou <panto@antoniou-consulting.com>
      Cc: Tom Rini <trini@konsulko.com>
      b955e42b
    • A
      omap4: duovero: Disable EFI booting · 4bf11dc8
      Ash Charles 提交于
      The DuoVero board fails to compile with EFI enabled as the generated
      binaries are too large.  As this platform doesn't currently need EFI,
      disable this feature.
      Signed-off-by: NAsh Charles <ashcharles@gmail.com>
      4bf11dc8
    • A
      omap4: load files for legacy boot · ea948590
      Ash Charles 提交于
      Be sure to load the zImage and fdtfile prior to actually booting in
      case we are doing a legacy boot.
      Signed-off-by: NAsh Charles <ashcharles@gmail.com>
      ea948590
  9. 05 5月, 2016 3 次提交
    • S
      ARM: tegra: import latest Jetson TK1 spreadsheet · bbca7108
      Stephen Warren 提交于
      This imports v11 of "Jetson TK1 Development Platform Pin Mux" from
      https://developer.nvidia.com/embedded/downloads.
      
      The new version defines the mux option for the MIPI pad ctrl selection.
      The OWR pin no longer has an entry in the configuration table because
      the only mux option it support is OWR, that feature isn't supported, and
      hence can't conflict with any other pin. This pin can only usefully be
      used as a GPIO.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      bbca7108
    • S
      pci: tegra: fix DM conversion issues on Tegra20 · f5c6db84
      Stephen Warren 提交于
      Tegra20's PCIe controller has a couple of quirks. There are workarounds in
      the driver for these, but they don't work after the DM conversion:
      
      1) The PCI_CLASS value is wrong in HW.
      
      This is worked around in pci_tegra_read_config() by patching up the value
      read from that register. Pre-DM, the PCIe core always read this via a
      16-bit access to the 16-bit offset 0xa. With DM, 32-bit accesses are used,
      so we need to check for offset 0x8 instead. Mask the offset value back to
      32-bit alignment to make this work in all cases.
      
      2) Accessing devices other than dev 1 causes a data abort.
      
      Pre-DM, this was worked around in pci_skip_dev(), which the PCIe core code
      called during enumeration while iterating over a bus. The DM PCIe core
      doesn't use this function. Instead, enhance tegra_pcie_conf_address() to
      validate the bdf being accessed, and refuse to access invalid devices.
      Since pci_skip_dev() isn't used, delete it.
      
      I've also validated that both these WARs are only needed for Tegra20, by
      testing on Tegra30/Cardhu and Tegra124/Jetson TKx. So, compile them in
      conditionally.
      
      Fixes: e81ca884 ("dm: tegra: pci: Convert tegra boards to driver model for PCI")
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Reviewed-by: NThierry Reding <treding@nvidia.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      f5c6db84
    • S
      ARM: tegra: enable GPU node by compatible value · d9b6f58e
      Stephen Warren 提交于
      In current Linux kernel Tegra DT files, 64-bit addresses are represented
      in unit addresses as a pair of comma-separated 32-bit values. Apparently
      this is no longer the correct representation for simple busses, and the
      unit address should be represented as a single 64-bit value. If this is
      changed in the DTs, arm/arm/mach-tegra/board2.c:ft_system_setup() will no
      longer be able to find and enable the GPU node, since it looks up the node
      by name.
      
      Fix that function to enable nodes based on their compatible value rather
      than their node name. This will work no matter what the node name is, i.e
      for DTs both before and after any rename operation.
      
      Cc: Thierry Reding <treding@nvidia.com>
      Cc: Alexandre Courbot <acourbot@nvidia.com>
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NTom Warren <twarren@nvidia.com>
      d9b6f58e
  10. 04 5月, 2016 6 次提交