Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f9f4430 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull arch/cris updates from Jesper Nilsson:
 "Some much needed love for the CRIS-port.

  There's a bunch of changes this time, giving the CRISv32 port a bit of
  modern makeover with device-tree, irq domain and gpiolib support, and
  more switchover to generic frameworks.

  Some small fixes and removal of the theoretical SMP support brings up
  the rear"

* tag 'cris-for-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/jesper/cris:
  cris: fix integer overflow in ELF_ET_DYN_BASE
  CRISv32: use GENERIC_SCHED_CLOCK
  CRISv32: use MMIO clocksource
  CRISv32: use generic clockevents
  CRIS: use generic headers via Kbuild
  CRIS: use generic cmpxchg.h
  CRIS: use generic atomic.h
  CRIS: use generic atomic bitops
  CRISv10: remove redundant macros from system.h
  CRIS: remove SMP code
  CRISv32: don't enable irqs in INIT_THREAD
  CRISv32: handle multiple signals
  CRISv32: prevent bogus restarts on sigreturn
  CRISv32: don't attempt syscall restart on irq exit
  Add binding documentation for CRIS
  CRIS: add Axis 88 board device tree
  CRISv32: add device tree support
  CRISv32: add irq domains support
  CRIS: enable GPIOLIB
parents 63905bba d939b52a
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
Axis Communications AB
ARTPEC series SoC Device Tree Bindings


CRISv32 based SoCs are ETRAX FS and ARTPEC-3:

    - compatible = "axis,crisv32";

+8 −0
Original line number Diff line number Diff line
Boards based on the CRIS SoCs:

Required root node properties:
    - compatible = should be one or more of the following:
	- "axis,dev88"	- for Axis devboard 88 with ETRAX FS

Optional:
+23 −0
Original line number Diff line number Diff line
* CRISv32 Interrupt Controller

Interrupt controller for the CRISv32 SoCs.

Main node required properties:

- compatible : should be:
	"axis,crisv32-intc"
- interrupt-controller : Identifies the node as an interrupt controller
- #interrupt-cells : Specifies the number of cells needed to encode an
  interrupt source. The type shall be a <u32> and the value shall be 1.
- reg: physical base address and size of the intc registers map.

Example:

	intc: interrupt-controller {
		compatible = "axis,crisv32-intc";
		reg = <0xb001c000 0x1000>;
		interrupt-controller;
		#interrupt-cells = <1>;
	};

+11 −1
Original line number Diff line number Diff line
@@ -46,12 +46,18 @@ config CRIS
	select ARCH_WANT_IPC_PARSE_VERSION
	select GENERIC_IRQ_SHOW
	select GENERIC_IOMAP
	select GENERIC_SMP_IDLE_THREAD if ETRAX_ARCH_V32
	select GENERIC_CMOS_UPDATE
	select MODULES_USE_ELF_RELA
	select CLONE_BACKWARDS2
	select OLD_SIGSUSPEND
	select OLD_SIGACTION
	select ARCH_REQUIRE_GPIOLIB
	select IRQ_DOMAIN if ETRAX_ARCH_V32
	select OF if ETRAX_ARCH_V32
	select OF_EARLY_FLATTREE if ETRAX_ARCH_V32
	select CLKSRC_MMIO if ETRAX_ARCH_V32
	select GENERIC_CLOCKEVENTS if ETRAX_ARCH_V32
	select GENERIC_SCHED_CLOCK if ETRAX_ARCH_V32

config HZ
	int
@@ -61,6 +67,10 @@ config NR_CPUS
	int
	default "1"

config BUILTIN_DTB
	string "DTB to build into the kernel image"
	depends on OF

source "init/Kconfig"

source "kernel/Kconfig.freezer"
+4 −0
Original line number Diff line number Diff line
@@ -40,6 +40,10 @@ else
MACH :=
endif

ifneq ($(CONFIG_BUILTIN_DTB),"")
core-$(CONFIG_OF) += arch/cris/boot/dts/
endif

LD = $(CROSS_COMPILE)ld -mcrislinux

OBJCOPYFLAGS := -O binary -R .note -R .comment -S
Loading