11 Dec, 2017

6 commits

  • Synopsys HSDK clock controller generates and supplies clocks to various
    controllers and peripherals within the SoC.

    Each clock has assigned identifier and client device tree nodes can use
    this identifier to specify the clock which they consume. All available
    clocks are defined as preprocessor macros in the
    dt-bindings/clock/snps,hsdk-cgu.h header and can be used in device
    tree sources.

    Signed-off-by: Eugeniy Paltsev
    Signed-off-by: Alexey Brodkin

    Eugeniy Paltsev
     
  • dcache_exists, icache_exists, slc_exists and ioc_exists global
    variables in "arch/arc/lib/cache.c" remain uninitialized if
    SoC doesn't have corresponding HW.

    This happens because we use the next constructions for their
    definition and initialization:
    -------------------------->>---------------------
    int ioc_exists __section(".data");

    if (/* condition */)
    ioc_exists = 1;
    -------------------------->>---------------------

    That's quite a non-trivial issue as one may think of it.
    The point is we intentionally put those variables in ".data" section
    so they might survive relocation (remember we initilaize them very early
    before relocation and continue to use after reloaction). While being
    non-initialized and not explicitly put in .data section they would end-up
    in ".bss" section which by definition is filled with zeroes.
    But since we place those variables in .data section we need to care
    about their proper initialization ourselves.

    Also while at it we change their type to "bool" as more appropriate.

    Signed-off-by: Eugeniy Paltsev
    Signed-off-by: Alexey Brodkin

    Eugeniy Paltsev
     
  • Signed-off-by: Eugeniy Paltsev
    Signed-off-by: Alexey Brodkin

    Eugeniy Paltsev
     
  • ARCNUM [15:8] field in ARC_AUX_IDENTITY register allows us to
    uniquely identify each core in a multi-core system.

    I.e. with help of this macro each core may get its index in SMP system.

    Signed-off-by: Eugeniy Paltsev
    Signed-off-by: Alexey Brodkin

    Eugeniy Paltsev
     
  • DW SDIO controller has external CIU clock divider controlled via
    register in the SDIO IP. Due to its unexpected default value
    (we expected it to divide by 1 but in reality it divides by 8)
    SDIO IP uses wrong CIU clock (it should be 100000000Hz but actual
    is 12500000Hz) and works unstable (see STAR 9001204800).

    So increase SDIO CIU frequency from actual 12500000Hz to 50000000Hz
    by switching from the default divisor value (div-by-8) to the
    minimum possible value of the divisor (div-by-2) in HSDK platform
    code.

    Signed-off-by: Eugeniy Paltsev
    Signed-off-by: Alexey Brodkin

    Eugeniy Paltsev
     
  • With CONFIG_CMD_GPIO compilation reports error:
    -------------------------->8---------------------
    common/cmd_gpio.c:13:22: fatal error: asm/gpio.h: No such file or directory
    #include
    ^
    -------------------------->8---------------------

    Signed-off-by: Eugeniy Paltsev
    Signed-off-by: Alexey Brodkin

    Eugeniy Paltsev
     

09 Dec, 2017

1 commit


08 Dec, 2017

19 commits


07 Dec, 2017

14 commits