[PATCH v17 0/9] enable HiP04 SoC

Haojian Zhuang haojian.zhuang at linaro.org
Thu Aug 7 03:51:26 PDT 2014


Changelog:
v17:
  * Parse bootwrapper parameter from DTS file again.
  * Fix using msleep() in spinlock region.

v16:
  * Create new hip04 interrupt controller driver.
  * Drop both hip04_defconfig & multi_v7_lpae_defconfig. Use hisi_defconfig
    & multi_v7_defconfig instead.
  * Rename hi3xxx_defconfig to hisi_defconfig. Since we need follow the rule of
    each vendor only using one defconfig.
  * Fix parsing memory issue in FDT when 64-bit address is enabled without
    CONFIG_ARM_LPAE.
  * Drop bootwrapper parameters from DTS file. Use command line instead.
  * Declare clock node in DTS file since all these clocks are only fixed rate
    clocks.
  * Drop vgic patch.

v15:
  * Add p04 debug uart back.
  * Refresh since hix5hd2 code updated.

v14:
  * Mount function pointers to different implementation on standard
    GICv2 and Hisilicon HiP04 GIC.

v13:
  * Restore power down operation in MCPM.
  * Fix disabling snoop filter issue in MCPM.

v12:
  * Use wfi as power down state in MCPM.
  * Remove wait_for_powerdown() in MCPM because wfi is used now.

v11:
  * Fix the protection issue on mcpm power down.
  * Clean assembly code in mcpm power up.

v10:
  * Move snoop filter code to be executed on secondary cores. And change
    it to assembly code since MMU isn't enabled at that time.
  * Rebase irq gic patch on latest gic patch.
  * Use global variable in irq gic patch.
  * Use global variable in vgic patch.
  * Drop debug uart patch since it's in another patch set.
  * Remove some ARCHs from multi_v7_lpae_defconfig.

v9:
  * Remove delay workaround in mcpm implementation.
  * Clean in gic.
  * Rename vgic_cpu_nr_lr to vgic_cpu_hw_cfg in vgic driver.
  * Always use high word of vgic_cpu_hw_cfg for GICH_APR offset. So the
    implementation of arm64 is also updated.
  * Drop "irq: gic: use mask field in GICC_IAR" patch since it's merged.

v7:
  * Remove hip04_smp_init_ops().
  * Remove CONFIG_ARCH_HIP04 in hisilicn.c since hip04_smp_init_ops() is
    removed.

v6:
  * Split HiP04 enabling patch into patches on document, mcpm & hiP04.
  * Move reset operation in HiP04 MCPM implementation.
  * Remove ARCH_MULTI_V7_NONLPAE & ARCH_MULTI_V7_LPAE according to olof's
    comment.

v5:
  * Add ARCH_MULTI_V7_NONLPAE to avoid change too much things in Kconfig.
  * Use memreserve in DTS.
  * Remove L2 reset operation in mcpm implementation.
  * Re-use nr_lr field to cover HIP04 GICH_APR implementation.
  * Add more comments.

v4:
  * Add multi_v7_lpae_defconfig.
  * Select CONFIG_ARCH_MULTI_V7_LPAE if CONFIG_ARCH_MULTI_V7 is selected.
  * Only ARMADA_XP is ARCH_MULTI_V7_LPAE, other ARMADA chips are ARCH_MULTI_V7.
  * Remove gich_lr0 variable since we can calculate offset of GICH_LR0 from
    GICH_APR.
  * Cleanup GIC driver to support HiP04 GIC.
  * Cleanup HiP04 mcpm implementation.

v3:
  * Replace CONFIG_ARCH_MULTI_V7 by CONFIG_ARCH_MULTI_V7_LPAE in some SoC.
  * Update MCPM code based on Dave's patch.
  * Remove MCPM node in DTS file. Use sysctrl & fabric node instead.
  * Move hardcoding on bootwrapper into DTS file.
  * Append the CONFIG_MCPM_QUAD_CLUSTER for HiP04.
  * Fix the return value from gic_get_cpumask() if it's used in standard gic.
  * Add the vgic support on HiP04 GIC.
  * Add virtualization support in HiP04 defconfig.

v2:
  * Append ARCH_MULTI_V7_LPAE configuration. Define ARCH_MULTI_V7 to only
    support non-LPAE platform.
  * Append document of DT supporting.
  * Append ARCH_HISI in hi3xxx_defconfig.
  * Enable errata 798181 for HiP04 SoC.
  * Add PMU support.

Haojian Zhuang (9):
  ARM: mcpm: support 4 clusters
  ARM: hisi: enable MCPM implementation
  ARM: hisi: enable HiP04
  document: dt: add the binding on HiP04
  ARM: dts: add hip04 dts
  ARM: config: enable hisilicon hip04
  ARM: debug: add HiP04 debug uart
  irq: enable hip04 irq chip
  of: fdt: fix memory address be truncated

 .../bindings/arm/hisilicon/hisilicon.txt           |  23 ++
 arch/arm/Kconfig                                   |   9 +
 arch/arm/Kconfig.debug                             |  10 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/hip04-d01.dts                    |  32 ++
 arch/arm/boot/dts/hip04.dtsi                       | 267 +++++++++++++
 arch/arm/configs/hi3xxx_defconfig                  |  58 ---
 arch/arm/configs/hisi_defconfig                    |  72 ++++
 arch/arm/configs/multi_v7_defconfig                |   2 +
 arch/arm/include/asm/mcpm.h                        |   5 +
 arch/arm/mach-hisi/Kconfig                         |   9 +
 arch/arm/mach-hisi/Makefile                        |   1 +
 arch/arm/mach-hisi/hisilicon.c                     |   9 +
 arch/arm/mach-hisi/platmcpm.c                      | 362 ++++++++++++++++++
 drivers/irqchip/Makefile                           |   1 +
 drivers/irqchip/irq-hip04.c                        | 424 +++++++++++++++++++++
 drivers/of/fdt.c                                   |  10 +
 17 files changed, 1237 insertions(+), 58 deletions(-)
 create mode 100644 arch/arm/boot/dts/hip04-d01.dts
 create mode 100644 arch/arm/boot/dts/hip04.dtsi
 delete mode 100644 arch/arm/configs/hi3xxx_defconfig
 create mode 100644 arch/arm/configs/hisi_defconfig
 create mode 100644 arch/arm/mach-hisi/platmcpm.c
 create mode 100644 drivers/irqchip/irq-hip04.c

-- 
1.9.1




More information about the linux-arm-kernel mailing list