[U-Boot] [PATCH v3 02/19] arm: socfpga: Restructure reset manager driver

Ley Foon Tan lftan.linux at gmail.com
Mon Apr 3 06:09:55 UTC 2017


On Fri, Mar 31, 2017 at 5:19 AM, Dinh Nguyen <dinh.linux at gmail.com> wrote:
> On Thu, Mar 30, 2017 at 8:08 AM, Ley Foon Tan <ley.foon.tan at intel.com> wrote:
>> Restructure reset manager driver in the preparation to support A10.
>> Move the Gen5 specific code to gen5 files. Minor update in socfpga_per_reset().
>> No functional change.
>>
>> Signed-off-by: Ley Foon Tan <ley.foon.tan at intel.com>
>> ---
>>  arch/arm/mach-socfpga/Makefile                     |  2 +-
>>  arch/arm/mach-socfpga/include/mach/reset_manager.h | 48 ++---------
>>  .../mach-socfpga/include/mach/reset_manager_gen5.h | 47 +++++++++++
>>  arch/arm/mach-socfpga/reset_manager.c              | 93 +---------------------
>>  .../{reset_manager.c => reset_manager_gen5.c}      | 51 ++++++------
>>  5 files changed, 81 insertions(+), 160 deletions(-)
>>  create mode 100644 arch/arm/mach-socfpga/include/mach/reset_manager_gen5.h
>>  copy arch/arm/mach-socfpga/{reset_manager.c => reset_manager_gen5.c} (75%)
>>
>> diff --git a/arch/arm/mach-socfpga/Makefile b/arch/arm/mach-socfpga/Makefile
>> index b76de4c..97819ac 100644
>> --- a/arch/arm/mach-socfpga/Makefile
>> +++ b/arch/arm/mach-socfpga/Makefile
>> @@ -14,7 +14,7 @@ obj-$(CONFIG_SPL_BUILD) += spl.o freeze_controller.o
>
> [snip]
>>
>> -void socfpga_bridges_reset(int enable);
>> +int socfpga_bridges_reset(int enable);
>
> You're changing the return type, to me, that's a functional change.
Will update the commit message.
>
> [snip]
>
>>  /*
>>   * Write the reset manager register to cause reset
>> @@ -61,8 +20,8 @@ void socfpga_per_reset_all(void)
>>  void reset_cpu(ulong addr)
>>  {
>>         /* request a warm reset */
>> -       writel((1 << RSTMGR_CTRL_SWWARMRSTREQ_LSB),
>> -               &reset_manager_base->ctrl);
>> +       writel(1 << RSTMGR_CTRL_SWWARMRSTREQ_LSB,
>> +              &reset_manager_base->ctrl);
>
> What's the reason for the above change?
Requested by Marek to remove extra parenthesis.
>
> [snip]
>>
>> @@ -90,9 +84,9 @@ void socfpga_bridges_reset(int enable)
>>  #define L3REGS_REMAP_HPS2FPGA_MASK     0x08
>>  #define L3REGS_REMAP_OCRAM_MASK                0x01
>>
>> -void socfpga_bridges_reset(int enable)
>> +int socfpga_bridges_reset(int enable)
>>  {
>> -       const uint32_t l3mask = L3REGS_REMAP_LWHPS2FPGA_MASK |
>> +       const u32 l3mask = L3REGS_REMAP_LWHPS2FPGA_MASK |
>>                                 L3REGS_REMAP_HPS2FPGA_MASK |
>>                                 L3REGS_REMAP_OCRAM_MASK;
>>
>> @@ -107,7 +101,7 @@ void socfpga_bridges_reset(int enable)
>>                 if (!fpgamgr_test_fpga_ready()) {
>>                         /* FPGA not ready, do nothing. */
>>                         printf("%s: FPGA not ready, aborting.\n", __func__);
>> -                       return;
>> +                       return -EINVAL;
>>                 }
>>
>>                 /* brdmodrst */
>> @@ -116,5 +110,6 @@ void socfpga_bridges_reset(int enable)
>>                 /* Remap the bridges into memory map */
>>                 writel(l3mask, SOCFPGA_L3REGS_ADDRESS);
>>         }
>> +       return 0;
>
> How are you intending to use these return values?
Will display error when error and hang().

Regards
Ley Foon


More information about the U-Boot mailing list