1. 09 7月, 2020 11 次提交
  2. 08 7月, 2020 5 次提交
  3. 07 7月, 2020 4 次提交
  4. 04 7月, 2020 1 次提交
  5. 01 7月, 2020 9 次提交
    • T
      compilers: Introduce options for forcing inlining on SPL/TPL · 72c4d40d
      Tom Rini 提交于
      There are cases where when we allow the compiler to decide about making
      inline decisions rather than forcing them it can save us space.
      
      For now, we keep the default values for inlining that we have had
      historically.
      
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: NTom Rini <trini@konsulko.com>
      72c4d40d
    • T
      compiler_types.h: Re-introduce CONFIG_OPTIMIZE_INLINING for U-Boot · 1f1a0f3d
      Tom Rini 提交于
      In the Linux kernel, support for forcing inline functions to be made
      inline, rather than allowing the compiler to make its own choice has
      been removed.  With respect to performance, modern GCC (and Clang) do a
      good job at deciding when to, or not to, inline code and there are no
      run-time requirements in Linux anymore.
      
      There is one downside to this, which is final binary size.  On average
      in U-Boot removing this support grows SPL by almost 1 kilobyte.  But
      there are cases where it shrinks the binary by making better inline
      choices than we had forced.
      
      Start by re-introducing CONFIG_OPTIMIZE_INLINING as a global which
      essentially reverts 889b3c1245de ("compiler: remove CONFIG_OPTIMIZE_INLINING entirely")
      from Linux.
      
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: NTom Rini <trini@konsulko.com>
      1f1a0f3d
    • T
      compiler*.h: sync include/linux/compiler*.h with Linux 5.7-rc5 · 67f51b40
      Tom Rini 提交于
      Copy these from Linux v5.7-rc5 tag.
      
      This brings in some handy new attributes and is otherwise important to
      keep in sync.
      
      We drop the reference to smp_read_barrier_depends() as it is not
      relevant on the architectures we support at this time, based on where
      it's implemented in Linux today.  We drop the call to kasan_check_read()
      as that is not relevant to U-Boot as well.
      
      Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
      Signed-off-by: NTom Rini <trini@konsulko.com>
      67f51b40
    • S
      riscv: Add Sipeed Maix support · a7c81fc8
      Sean Anderson 提交于
      The Sipeed Maix series is a collection of boards built around the RISC-V
      Kendryte K210 processor. This processor contains several peripherals to
      accelerate neural network processing and other "ai" tasks. This includes a
      "KPU" neural network processor, an audio processor supporting beamforming
      reception, and a digital video port supporting capture and output at VGA
      resolution. Other peripherals include 8M of sram (accessible with and
      without caching); remappable pins, including 40 GPIOs; AES, FFT, and SHA256
      accelerators; a DMA controller; and I2C, I2S, and SPI controllers. Maix
      peripherals vary, but include spi flash; on-board usb-serial bridges; ports
      for cameras, displays, and sd cards; and ESP32 chips. Currently, only the
      Sipeed Maix Bit V2.0 (bitm) is supported, but the boards are fairly
      similar.
      
      Documentation for Maix boards is located at
      <http://dl.sipeed.com/MAIX/HDK/>.  Documentation for the Kendryte K210 is
      located at <https://kendryte.com/downloads/>. However, hardware details are
      rather lacking, so most technical reference has been taken from the
      standalone sdk located at
      <https://github.com/kendryte/kendryte-standalone-sdk>.
      Signed-off-by: NSean Anderson <seanga2@gmail.com>
      a7c81fc8
    • S
      riscv: Add device tree for K210 and Sipeed Maix BitM · bba8618c
      Sean Anderson 提交于
      Where possible, I have tried to find compatible drivers based on the layout
      of registers. However, many devices remain untested. All untested devices
      have been left disabled, but some tentative properties (such as compatible
      strings, and clocks, interrupts, and resets properties) have been added.
      Signed-off-by: NSean Anderson <seanga2@gmail.com>
      bba8618c
    • S
      dm: Fix error handling for dev_read_addr_ptr · 082faeb8
      Sean Anderson 提交于
      dev_read_addr_ptr had different semantics depending on whether OF_LIVE was
      enabled. This patch converts both implementations to return NULL on error,
      and converts all call sites which check for FDT_ADDR_T_NONE to check for
      NULL instead. This patch also removes the call to map_physmem, since we
      have dev_remap_addr* for those semantics.
      Signed-off-by: NSean Anderson <seanga2@gmail.com>
      Reviewed-by: NBin Meng <bmeng.cn@gmail.com>
      Reviewed-by: NSimon Glass <sjg@chromium.org>
      082faeb8
    • S
      clk: Add K210 clock support · f9c7d4f9
      Sean Anderson 提交于
      Due to the large number of clocks, I decided to use the CCF. The overall
      structure is modeled after the imx code. Clocks parameters are stored in
      several arrays, and are then instantiated at run-time. There are some
      translation macros (FOOIFY()) which allow for more dense packing.
      Signed-off-by: NSean Anderson <seanga2@gmail.com>
      CC: Lukasz Majewski <lukma@denx.de>
      f9c7d4f9
    • S
      clk: Add a bypass clock for K210 · 1a198cf8
      Sean Anderson 提交于
      This is a small driver to do a software bypass of a clock if hardware
      bypass is not working. I have tried to write this in a generic fashion, so
      that it could be potentially broken out of the kendryte code at some future
      date. For the K210, it is used to have aclk bypass pll0 and use in0 instead
      so that the CPU keeps on working.
      Signed-off-by: NSean Anderson <seanga2@gmail.com>
      CC: Lukasz Majewski <lukma@denx.de>
      1a198cf8
    • S
      clk: Add K210 pll support · 019ef9a3
      Sean Anderson 提交于
      This pll code is primarily based on the code from the kendryte standalone
      sdk in lib/drivers/sysctl.c. k210_pll_calc_config is roughly analogous to
      the algorithm used to set the pll frequency, but it has been completely
      rewritten to be fixed-point based.
      Signed-off-by: NSean Anderson <seanga2@gmail.com>
      CC: Lukasz Majewski <lukma@denx.de>
      019ef9a3
  6. 30 6月, 2020 10 次提交