1. 24 Feb, 2017 26 commits
  2. 23 Jan, 2017 1 commit
    • Masahiro Yamada's avatar
      Use #ifdef for IMAGE_BL* instead of #if · 3d8256b2
      Masahiro Yamada authored
      
      
      One nasty part of ATF is some of boolean macros are always defined
      as 1 or 0, and the rest of them are only defined under certain
      conditions.
      
      For the former group, "#if FOO" or "#if !FOO" must be used because
      "#ifdef FOO" is always true.  (Options passed by $(call add_define,)
      are the cases.)
      
      For the latter, "#ifdef FOO" or "#ifndef FOO" should be used because
      checking the value of an undefined macro is strange.
      
      Here, IMAGE_BL* is handled by make_helpers/build_macro.mk like
      follows:
      
        $(eval IMAGE := IMAGE_BL$(call uppercase,$(3)))
      
        $(OBJ): $(2)
                @echo "  CC      $$<"
                $$(Q)$$(CC) $$(TF_CFLAGS) $$(CFLAGS) -D$(IMAGE) -c $$< -o $$@
      
      This means, IMAGE_BL* is defined when building the corresponding
      image, but *undefined* for the other images.
      
      So, IMAGE_BL* belongs to the latter group where we should use #ifdef
      or #ifndef.
      Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
      3d8256b2
  3. 12 Jan, 2017 1 commit
  4. 04 Jan, 2017 1 commit
  5. 14 Dec, 2016 1 commit
  6. 24 Nov, 2016 1 commit
    • Soren Brinkmann's avatar
      rk3399: Add CFI debug information to SRAM functions · aa2345e9
      Soren Brinkmann authored
      Commit b91d935f
      ("Add CFI debug frame information for ASM functions") modifies the
      assembly macros 'func' and 'endfunc' to include CFI debug frame
      information.
      
      The rockchip platform uses a custom version of the 'func' macro with the
      common 'endfunc' macro. The custom macro wasn't updated in
      b91d935f resulting in the following
      build error:
        plat/rockchip/rk3399/drivers/pmu/plat_pmu_macros.S: Assembler messages:
        plat/rockchip/rk3399/drivers/pmu/plat_pmu_macros.S:155: Error: .cfi_endproc without corresponding .cfi_startproc
        Makefile:532: recipe for target 'build/rk3399/release/bl31/plat_helpers.o' failed
        make: *** [build/rk3399/release/bl31/plat_helpers.o] Error 1
      
      Fixing this by updating the sram_func macro in the rk3399 port.
      
      Fixes: b91d935f
      
       ("Add CFI debug frame information for ASM functions")
      Signed-off-by: default avatarSoren Brinkmann <soren.brinkmann@xilinx.com>
      aa2345e9
  7. 07 Nov, 2016 2 commits
    • Caesar Wang's avatar
      rockchip: remove no needed code for rk3399 · 06077161
      Caesar Wang authored
      
      
      We have do something for clocks gate.
      
      Fox example as the below:
      susped:
      clk_gate_con_save();
      clk_gate_con_disable();
      
      resume:
      clk_gate_con_restore();
      --
      
      SO, add the plls_suspend_prepare() and plls_resume_finish() are not
      necessary to S2R, that will save S2R time if remove them.
      
      BRANCH=none
      BUG=chrome-os-partner:58870,chrome-os-partner:55934
      TEST=build kevin, two dogfooders with suspend_stress_test
      passing 3000 cycles and still going on.
      
      Change-Id: Icfbabc0b3ea8d2b5108d4f3de99a803b6d459669
      Signed-off-by: default avatarCaesar Wang <wxt@rock-chips.com>
      06077161
    • Caesar Wang's avatar
      rockchip: disable watchdog during suspend · a14e0916
      Caesar Wang authored
      
      
      The CA53 and CM0 WDT clock gating in rk3399 SGRF, and ATF is in charge of
      it because the kernel can't touch SGRF.
      
      Basically the WDT didn't stop at suspend time, it just switched from the
      24M to the 32k clock. That meant that the WDT would fire if you slept for
      long enough. In other word, the watchdog timer over count will increase to
      750 (24*1000/32) times.
      The RK3399 HW watchdog interval is 21 seconds. When machine enters the
      suspend, the watchdog will reset the system after 35.7 (750/21) hours.
      
      BUG=chrome-os-partner:59257
      TEST=daisydog checked and set value, powerd_dbus_suspend to verify.
      
      Change-Id: I88bb2a05b7d67d5ffd292f9d05d033ae9a6a3593
      Signed-off-by: default avatarCaesar Wang <wxt@rock-chips.com>
      a14e0916
  8. 03 Nov, 2016 2 commits
    • Julius Werner's avatar
      rockchip: Add proper dependency tracking to M0 Makefile · 71581c9c
      Julius Werner authored
      
      
      This patch adds dependency rule generation and inclusion to the M0
      Makefile, so that M0 objects will get correctly remade with an
      incremental build if a header file they included changed.
      
      Change-Id: I2067bd9fd4d9dad3e77a09cbf09c7b4db3c1eda5
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      71581c9c
    • Julius Werner's avatar
      rockchip: Clean up parent directory creation for M0 · e77ade28
      Julius Werner authored
      
      
      The dependencies in the M0 Makefile are not correctly laid out, which
      may lead to errors with make -j if the binary target gets evaluated
      before the target that creates the directory. In addition, the M0
      Makefile just calls mkdir without using the platform-independent macros
      from the main ARM TF build system. This patch fixes those issues,
      removes some unused (and broken) M0 build targets and merges the two M0
      output directories into one (since there's no real point splitting it up
      and it creates more hassle).
      
      Change-Id: Ia5002479cf9c57fea7aefa8ca88e373df3a51f61
      Signed-off-by: default avatarJulius Werner <jwerner@chromium.org>
      e77ade28
  9. 26 Oct, 2016 5 commits