[PATCH 00/17] Resuscitate Exynos 5260 support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I recently tried to boot a kernel.org kernel on an Exynos 5260, and
had some problems.  On further investigation it looked like some of
the SMP support may have rotted since it was introduced. It also
didn't help that I was running on a part with security firmware
loaded, which it appears the existing code doesn't support. So I set
about fixing this, which led to the following patch set.

It appears as if using MCPM is the 'new' way to support secondary
cores, so I converted the 5260 support to use MCPM, and also got
suspend working. In general I've used the last Samsung 3.4 kernel I
could find on the Samsung Open Source Release Center [1] for the G900
as a reference, so this code does approximatly the same thing,
whether that is optimal or not I don't know.

Currently I've not tried to support parts which are running without
secure firmware. I couldn't see any existing SoCs which support both,
but I'm open to suggestions on how this should be done if its felt to
be necessary.

The platform this is running on is a RexNos REX-RED [2] which is listed
on Samsung's web site as a Community Board [3].

There are also a couple of generic fixes which shouldn't really be part
of this patch set, but are included here just in case anyone wants to
try this.

Over the next few months I'll probably try and get some more of the
Exynos 5260 hardware working on this board. I'm happy to post this
if anyone is interested.

Any comments, please let me know.

[1] http://opensource.samsung.com/
[2] http://rexnos.com/eng/
[3] https://www.samsung.com/semiconductor/minisite/exynos/products/platform/partners-platform/

Stuart Menefy (17):
  clocksource: exynos_mct: Clear timer interrupt when stopping
  ARM: EXYNOS: Fix timeout booting secondary CPUs
  mfd: sec: Add support for the RTC on S2MPA01
  regulator: s2mpa01: Fix step values for some LDOs
  ARM: dts: exynos: Use bustop PLL as the source for MMC clocks on
    Exynos5260
  ARM: dts: exynos: Add high speed I2C ports for exynos5260
  ARM: dts: exynos: Add interrupts for dedicated EINTs on Exynos5260
  ARM: dts: exynos: Fix interrupt for shared EINTs on Exynos5260
  soc: samsung: pmu: Add initial support for Exynos5260
  clk: samsung: exynos5260: Remove security related clocks
  ARM: MCPM: Add provision for platform specific wfi alternative
  ARM: EXYNOS: Add basic infrastructure for Exynos5260
  ARM: EXYNOS: Move cpunr calculation to a function
  ARM: EXYNOS: Switch SMP support for Exynos5260 to use MCPM
  pinctrl: samsung: Add support for pad retention control for Exynos5260
  clk: samsung: exynos5260: Add CLK_IGNORE_UNUSED flag to fix suspend
  ARM: dts: exynos: Add DTS file for exynos5260-rexred

 .../bindings/arm/samsung/samsung-boards.txt        |   2 +
 .../bindings/pinctrl/samsung-pinctrl.txt           |   2 +
 .../devicetree/bindings/vendor-prefixes.txt        |   1 +
 arch/arm/boot/dts/Makefile                         |   1 +
 arch/arm/boot/dts/exynos5260-pinctrl.dtsi          |  16 +
 arch/arm/boot/dts/exynos5260-rexred.dts            | 396 +++++++++++++++++++++
 arch/arm/boot/dts/exynos5260.dtsi                  | 106 +++++-
 arch/arm/common/mcpm_entry.c                       |   8 +-
 arch/arm/include/asm/mcpm.h                        |   1 +
 arch/arm/mach-exynos/common.h                      |   9 +
 arch/arm/mach-exynos/exynos.c                      |   1 -
 arch/arm/mach-exynos/mcpm-exynos.c                 | 142 ++++++--
 arch/arm/mach-exynos/platsmp.c                     |  41 ++-
 arch/arm/mach-exynos/suspend.c                     |  86 ++++-
 drivers/clk/samsung/clk-exynos5260.c               |  56 +--
 drivers/clocksource/exynos_mct.c                   |   3 +
 drivers/mfd/sec-core.c                             |   2 +
 drivers/mfd/sec-irq.c                              |  97 +++++
 drivers/pinctrl/samsung/pinctrl-exynos-arm.c       |  25 ++
 drivers/pinctrl/samsung/pinctrl-exynos.c           |  21 ++
 drivers/regulator/s2mpa01.c                        |  10 +-
 drivers/rtc/rtc-s5m.c                              |  15 +
 drivers/soc/samsung/Makefile                       |   2 +-
 drivers/soc/samsung/exynos-pmu.c                   |   3 +
 drivers/soc/samsung/exynos-pmu.h                   |   1 +
 drivers/soc/samsung/exynos5260-pmu.c               | 178 +++++++++
 include/linux/soc/samsung/exynos-regs-pmu.h        | 126 +++++++
 27 files changed, 1251 insertions(+), 100 deletions(-)
 create mode 100644 arch/arm/boot/dts/exynos5260-rexred.dts
 create mode 100644 drivers/soc/samsung/exynos5260-pmu.c

-- 
2.13.6




[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux for Synopsys ARC Processors]    
  • [Linux on Unisoc (RDA Micro) SoCs]     [Linux Actions SoC]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  •   Powered by Linux