Skip to content
Snippets Groups Projects
  1. May 17, 2016
    • Eric Nelson's avatar
      dm: gpio: add a default gpio xlate routine · 6c880b77
      Eric Nelson authored
      
      Many drivers use a common form of offset + flags for device
      tree nodes. e.g.:
      	<&gpio1 2 GPIO_ACTIVE_LOW>
      
      This patch adds a common implementation of this type of parsing
      and calls it when a gpio driver doesn't supply its' own xlate
      routine.
      
      This will allow removal of the driver-specific versions in a
      handful of drivers and simplify the addition of new drivers.
      
      Signed-off-by: default avatarEric Nelson <eric@nelint.com>
      Reviewed-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      6c880b77
    • Mugunthan V N's avatar
      drivers: usb: common: add common code for usb drivers to use · c0c62d92
      Mugunthan V N authored
      
      Add common usb code which usb drivers makes use of it.
      
      Signed-off-by: default avatarMugunthan V N <mugunthanvnm@ti.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      c0c62d92
    • Peng Fan's avatar
      dm: gpio: introduce 74x164 driver · 9300f711
      Peng Fan authored
      
      Introduce driver to support "fairchild,74hc595" devices.
      1. Take linux drivers/drivers/gpio/gpio-74x164.c as reference.
      2. Following the naming used in Linux driver with gen_7x164 as the prefix.
      3. Enable CONFIG_DM_74X164 to use this driver.
      4. Follow Documentation/devicetree/bindings/gpio/gpio-74x164.txt to add device
         nodes
      5. Tested on i.MX6 UltraLite with 74LV595 using gpio command and oscillograph.
      
      Signed-off-by: default avatarPeng Fan <van.freenix@gmail.com>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Cc: Chin Liang See <clsee@altera.com>
      Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
      Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Cc: Stefano Babic <sbabic@denx.de>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      9300f711
    • Peng Fan's avatar
      dm: spi: introduce dm api · 7a3eff4c
      Peng Fan authored
      
      Introduce dm_spi_claim_bus, dm_spi_release_bus and dm_spi_xfer
      Convert spi_claim_bus, spi_release_bus and spi_xfer to use
      the new API.
      
      Signed-off-by: default avatarPeng Fan <van.freenix@gmail.com>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Jagan Teki <jteki@openedev.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      7a3eff4c
    • Peng Fan's avatar
      dm: spi: soft_spi: switch to use linux compatible string · 102412c4
      Peng Fan authored
      
      1. Support compatible string "spi-gpio" which is used by Linux
         Linux use different bindings, so use UBOOT_COMPAT and
         LINUX_COMPAT to differentiate them.
      2. Introduce SPI_MASTER_NO_RX and SPI_MASTER_NO_TX to handle
         no rx or no tx case.
      3. Tested on i.MX6 UltraLite board with 74LV595 spi-gpio chip.
      
      Signed-off-by: default avatarPeng Fan <van.freenix@gmail.com>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Przemyslaw Marczak <p.marczak@samsung.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      102412c4
    • Peng Fan's avatar
      dm: spi: soft_spi bug fix · b6d54d52
      Peng Fan authored
      
      When doing xfer, should use device->parent, but not device
      When doing bit xfer, should use "!!(tmpdout & 0x80)", but not
      "(tmpdout & 0x80)"
      
      Signed-off-by: default avatarPeng Fan <van.freenix@gmail.com>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Jagan Teki <jteki@openedev.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      b6d54d52
    • Stephen Warren's avatar
      fdt: fix dev_get_addr_name node offset · 35732098
      Stephen Warren authored
      
      Use the device's own DT offset, not the device's parent's.
      
      Fixes: 43c4d44e ("fdt: implement dev_get_addr_name()")
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      35732098
    • Stephen Warren's avatar
      video: tegra: refuse to bind to disabled dcs · 54693cbd
      Stephen Warren authored
      
      This prevents the following boot-time message on any board where only the
      first DC is in use, yet the DC's DT node is enabled:
      
      stdio_add_devices: Video device failed (ret=-22)
      
      (This happens on at least Harmony, Ventana, and likely any other Tegra20
      board with display enabled other than Seaboard).
      
      The Tegra DC's DT node represents a display controller. It may itself
      drive an integrated RGB display output, or be used by some other display
      controller such as HDMI. For this reason the DC node itself is not
      enabled/disabled in DT; the DC itself is considered a shared resource, not
      the final (board-specific) display output. The node should instantiate a
      display output driver only if the rgb subnode is enabled. Other output
      drivers are free to use the DC if they are enabled and their DT node
      references the DC's DT node. Adapt the Tegra display drivers' bind()
      routine to only bind to the DC's DT node if the RGB subnode is enabled.
      
      Now that the display driver does the right thing, remove the workaround
      for this issue from Seaboard's DT file.
      
      Cc: Thierry Reding <treding@nvidia.com>
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      54693cbd
    • Stephen Warren's avatar
      dm: core: allow drivers to refuse to bind · 9fdfadf8
      Stephen Warren authored
      
      In some cases, drivers may not want to bind to a device. Allow bind() to
      return -ENODEV in this case, and don't treat this as an error. This can
      be useful in situations where some information source other than the DT
      node's main status property indicates whether the device should be
      enabled, for example other DT properties might indicate this, or the
      driver might query non-DT sources such as system fuses or a version number
      register.
      
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Reviewed-by: default avatarSimon Glass <sjg@chromium.org>
      9fdfadf8
    • Stephen Warren's avatar
      buildman: allow more incremental building · f79f1e0c
      Stephen Warren authored
      
      One use-case for buildman is to continually run it interactively after
      each small step in a large refactoring operation. This gives more
      immediate feedback than making a number of commits and then going back and
      testing them. For this to work well, buildman needs to be extremely fast.
      At present, a couple issues prevent it being as fast as it could be:
      
      1) Each time buildman runs "make %_defconfig", it runs "make mrproper"
      first. This throws away all previous build results, requiring a
      from-scratch build. Optionally avoiding this would speed up the build, at
      the cost of potentially causing or missing some build issues.
      
      2) A build tree is created per thread rather than per board. When a thread
      switches between building different boards, this often causes many files
      to be rebuilt due to changing config options. Using a separate build tree
      for each board would avoid this. This does put more strain on the system's
      disk cache, but it is worth it on my system at least.
      
      This commit adds two command-line options to implement the changes
      described above; -I ("--incremental") turns of "make mrproper" and -P
      ("--per-board-out-dir") creats a build directory per board rather than per
      thread.
      
      Tested:
      
          ./tools/buildman/buildman.py tegra
          ./tools/buildman/buildman.py -I -P tegra
          ./tools/buildman/buildman.py -b tegra_dev tegra
          ./tools/buildman/buildman.py -b tegra_dev -I -P tegra
      
      ... each once after deleting the buildman result/work directory, and once
      "incrementally" after a previous identical invocation.
      
      Signed-off-by: default avatarStephen Warren <swarren@nvidia.com>
      Reviewed-by: default avatarTom Rini <trini@konsulko.com>
      Acked-by: Simon Glass <sjg@chromium.org> # v1
      Tested-by: Simon Glass <sjg@chromium.org> # v1
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      f79f1e0c
    • angelo@sysam.it's avatar
      m68k: add DM model serial driver · e27802af
      angelo@sysam.it authored
      
      Boards can now use DM serial driver, or still legacy mcf uart
      driver version.
      
      Signed-off-by: default avatarAngelo Dureghello <angelo@sysam.it>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      e27802af
    • angelo@sysam.it's avatar
      m68k: add malloc memory for early malloc · 5044c9cc
      angelo@sysam.it authored
      
      To use serial uclass and DM, CONFIG_SYS_MALLOC_F must be used.
      So CONFIG_SYS_GENERIC_GLOBAL_DATA has been undefined and
      call to board_init_f_mem() is added for all cpu's.
      
      Signed-off-by: default avatarAngelo Dureghello <angelo@sysam.it>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      5044c9cc
    • Peng Fan's avatar
      dm: gpio: pca953x: introduce driver model support for pca953x · 03773439
      Peng Fan authored
      
      Introduce a new driver that supports driver model for pca953x.
      The pca953x chips are used as I2C I/O expanders.
      This driver is designed to support the following chips:
      "
      4 bits: pca9536, pca9537
      8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
              pca9556, pca9557, pca9574, tca6408, xra1202
      16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
               tca6416
      24 bits: tca6424
      40 bits: pca9505, pca9698
      "
      But for now this driver only supports max 24 bits and pca953x compatible
      chips. pca957x compatible chips are not supported now.
      These can be addressed when we need to add such support for the different
      chips.
      This driver has been tested on i.MX6 SoloX Sabreauto board with max7310
      i2c expander using gpio command as following:
      
      =>gpio status -a
      Bank gpio@30_:
      gpio@30_0: input: 1 [ ]
      
      => dm tree:
       i2c         [   ]    |   |   `-- i2c@021a8000
       gpio        [   ]    |   |       |-- gpio@30
       gpio        [   ]    |   |       `-- gpio@32
      
      Signed-off-by: default avatarPeng Fan <van.freenix@gmail.com>
      Cc: Simon Glass <sjg@chromium.org>
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Cc: Wenyou Yang <wenyou.yang@atmel.com>
      Cc: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
      Cc: Purna Chandra Mandal <purna.mandal@microchip.com>
      Cc: Thomas Chou <thomas@wytron.com.tw>
      Cc: Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>
      Cc: Andrea Scian <andrea.scian@dave.eu>
      Cc: Michal Simek <michal.simek@xilinx.com>
      Cc: Stefano Babic <sbabic@denx.de>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      Acked-by: default avatarSimon Glass <sjg@chromium.org>
      Tested-by: Michal Simek <michal.simek@xilinx.com> #on ZynqMP zcu102
      03773439
  2. May 16, 2016
  3. May 15, 2016
  4. May 13, 2016
  5. May 12, 2016
  6. May 10, 2016
  7. May 07, 2016
  8. May 06, 2016
    • Peng Fan's avatar
      usb: gadget: dfu: discard dead code · 12ff19db
      Peng Fan authored
      
      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: default avatarPeng Fan <van.freenix@gmail.com>
      Cc: "Łukasz Majewski" <l.majewski@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      12ff19db
    • Peng Fan's avatar
      dfu: avoid memory leak · 5d8fae79
      Peng Fan authored
      
      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: default avatarPeng Fan <van.freenix@gmail.com>
      Cc: "Łukasz Majewski" <l.majewski@samsung.com>
      Cc: Marek Vasut <marex@denx.de>
      5d8fae79
    • Stefan Roese's avatar
      usb: dwc2: Add delay to fix the USB detection problem on SoCFPGA · 2bf352f0
      Stefan Roese authored
      
      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: default avatarStefan 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
    • Marek Vasut's avatar
      usb: hub: Don't continue on get_port_status failure · d81db48d
      Marek Vasut authored
      
      The code shouldn't continue probing the port if get_port_status() failed.
      
      Signed-off-by: default avatarMarek 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
    • Marek Vasut's avatar
      usb: Assure Get Descriptor request is in separate microframe · ef71290b
      Marek Vasut authored
      
      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: default avatarMarek 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
    • Marek Vasut's avatar
      usb: Wait after sending Set Configuration request · f647bf0b
      Marek Vasut authored
      
      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: default avatarMarek 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
    • Anatolij Gustschin's avatar
      socfpga: fix broken build if CONFIG_ETH_DESIGNWARE disabled · 5289c5fa
      Anatolij Gustschin authored
      
      Building without ethernet driver doesn't work. Fix it.
      
      Signed-off-by: default avatarAnatolij Gustschin <agust@denx.de>
      Cc: Marek Vasut <marex@denx.de>
      5289c5fa
    • Marek Vasut's avatar
      mtd: cqspi: Simplify indirect read code · 5a824c49
      Marek Vasut authored
      
      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: default avatarMarek 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
    • Marek Vasut's avatar
      mtd: cqspi: Simplify indirect write code · 26da6353
      Marek Vasut authored
      
      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: default avatarMarek 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
    • Stefan Roese's avatar
      arm: socfpga: socrates: Add 'time' command · 8b1a0749
      Stefan Roese authored
      
      The time command is very helpful for performance and regressions tests.
      So lets enable it on SoCrates.
      
      Signed-off-by: default avatarStefan Roese <sr@denx.de>
      Cc: Marek Vasut <marex@denx.de>
      8b1a0749
    • Marek Vasut's avatar
      ARM: socfpga: Disable USB OC protection on SoCrates · 268da813
      Marek Vasut authored
      
      This is mandatory, otherwise the USB does not work.
      
      Signed-off-by: default avatarMarek Vasut <marex@denx.de>
      Cc: Stefan Roese <sr@denx.de>
      Cc: Dinh Nguyen <dinguyen@kernel.org>
      268da813
    • Marek Vasut's avatar
      usb: Don't init pointer to zero, but NULL · 2f1b4302
      Marek Vasut authored
      
      The pointer should always be inited to NULL, not zero (0). These are
      two different things and not necessarily equal.
      
      Signed-off-by: default avatarMarek 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
    • Stefan Agner's avatar
      usb: ehci-mx6: allow board_ehci_hcd_init to fail · 79d867c2
      Stefan Agner authored
      
      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: default avatarStefan Agner <stefan@agner.ch>
      79d867c2
    • Peng Fan's avatar
      imx6: cache: disable L2 before touching Auxiliary Control Register · ad7af5d7
      Peng Fan authored
      
      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: default avatarPeng Fan <peng.fan@nxp.com>
      Cc: Stefano Babic <sbabic@denx.de>
      Cc: Fabio Estevam <fabio.estevam@nxp.com>
      ad7af5d7
    • Stephen Warren's avatar
      test/py: dfu: wait for USB device to go away at boot · daa69f5f
      Stephen Warren authored
      
      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: default avatarStephen Warren <swarren@nvidia.com>
      daa69f5f
    • Russ Dill's avatar
      ARM: am33xx: Fix DDR initialization delays · b67d6b00
      Russ Dill authored
      
      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: default avatarRuss Dill <russ.dill@ti.com>
      b67d6b00
    • Stephen Warren's avatar
      ARM: fix ifdefs in ARMv8 lowlevel_init() · 11661193
      Stephen Warren authored
      
      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: default avatarStephen Warren <swarren@nvidia.com>
      Reviewed-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      11661193
    • Robert P. J. Day's avatar
      Fix various typos, scattered over the code. · 1cc0a9f4
      Robert P. J. Day authored
      Spelling corrections for (among other things):
      
      * environment
      * override
      * variable
      * ftd (should be "fdt", for flattened device tree)
      * embedded
      * FTDI
      * emulation
      * controller
      1cc0a9f4
Loading