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

Commit dfc1ebe7 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Device tree conversions for samsung and tegra

Both platforms had some initial device tree support, but this adds
much more to actually make it usable.

* tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (45 commits)
  ARM: dts: Add intial dts file for EXYNOS4210 SoC, SMDKV310 and ORIGEN
  ARM: EXYNOS: Add Exynos4 device tree enabled board file
  rtc: rtc-s3c: Add device tree support
  input: samsung-keypad: Add device tree support
  ARM: S5PV210: Modify platform data for pl330 driver
  ARM: S5PC100: Modify platform data for pl330 driver
  ARM: S5P64x0: Modify platform data for pl330 driver
  ARM: EXYNOS: Add a alias for pdma clocks
  ARM: EXYNOS: Limit usage of pl330 device instance to non-dt build
  ARM: SAMSUNG: Add device tree support for pl330 dma engine wrappers
  DMA: PL330: Add device tree support
  ARM: EXYNOS: Modify platform data for pl330 driver
  DMA: PL330: Infer transfer direction from transfer request instead of platform data
  DMA: PL330: move filter function into driver
  serial: samsung: Fix build for non-Exynos4210 devices
  serial: samsung: add device tree support
  serial: samsung: merge probe() function from all SoC specific extensions
  serial: samsung: merge all SoC specific port reset functions
  ARM: SAMSUNG: register uart clocks to clock lookup list
  serial: samsung: remove all uses of get_clksrc and set_clksrc
  ...

Fix up fairly trivial conflicts in arch/arm/mach-s3c2440/clock.c and
drivers/tty/serial/Kconfig both due to just adding code close to
changes.
parents acc952c1 b001befe
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
* Insignal's Exynos4210 based Origen evaluation board

Origen low-cost evaluation board is based on Samsung's Exynos4210 SoC.

Required root node properties:
    - compatible = should be one or more of the following.
        (a) "samsung,smdkv310" - for Samsung's SMDKV310 eval board.
        (b) "samsung,exynos4210"  - for boards based on Exynos4210 SoC.
+8 −0
Original line number Diff line number Diff line
* Samsung's Exynos4210 based SMDKV310 evaluation board

SMDKV310 evaluation board is based on Samsung's Exynos4210 SoC.

Required root node properties:
    - compatible = should be one or more of the following.
        (a) "samsung,smdkv310" - for Samsung's SMDKV310 eval board.
        (b) "samsung,exynos4210"  - for boards based on Exynos4210 SoC.
+14 −0
Original line number Diff line number Diff line
NVIDIA Tegra device tree bindings
-------------------------------------------

Boards with the tegra20 SoC shall have the following properties:

Required root node property:

compatible = "nvidia,tegra20";

Boards with the tegra30 SoC shall have the following properties:

Required root node property:

compatible = "nvidia,tegra30";
+30 −0
Original line number Diff line number Diff line
* ARM PrimeCell PL330 DMA Controller

The ARM PrimeCell PL330 DMA controller can move blocks of memory contents
between memory and peripherals or memory to memory.

Required properties:
  - compatible: should include both "arm,pl330" and "arm,primecell".
  - reg: physical base address of the controller and length of memory mapped
    region.
  - interrupts: interrupt number to the cpu.

Example:

	pdma0: pdma@12680000 {
		compatible = "arm,pl330", "arm,primecell";
		reg = <0x12680000 0x1000>;
		interrupts = <99>;
	};

Client drivers (device nodes requiring dma transfers from dev-to-mem or
mem-to-dev) should specify the DMA channel numbers using a two-value pair
as shown below.

  [property name]  = <[phandle of the dma controller] [dma request id]>;

      where 'dma request id' is the dma request number which is connected
      to the client controller. The 'property name' is recommended to be
      of the form <name>-dma-channel.

  Example:  tx-dma-channel = <&pdma0 12>;
+40 −0
Original line number Diff line number Diff line
Samsung Exynos4 GPIO Controller

Required properties:
- compatible: Compatible property value should be "samsung,exynos4-gpio>".

- reg: Physical base address of the controller and length of memory mapped
  region.

- #gpio-cells: Should be 4. The syntax of the gpio specifier used by client nodes
  should be the following with values derived from the SoC user manual.
     <[phandle of the gpio controller node]
      [pin number within the gpio controller]
      [mux function]
      [pull up/down]
      [drive strength]>

  Values for gpio specifier:
  - Pin number: is a value between 0 to 7.
  - Pull Up/Down: 0 - Pull Up/Down Disabled.
                  1 - Pull Down Enabled.
                  3 - Pull Up Enabled.
  - Drive Strength: 0 - 1x,
                    1 - 3x,
                    2 - 2x,
                    3 - 4x

- gpio-controller: Specifies that the node is a gpio controller.
- #address-cells: should be 1.
- #size-cells: should be 1.

Example:

	gpa0: gpio-controller@11400000 {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "samsung,exynos4-gpio";
		reg = <0x11400000 0x20>;
		#gpio-cells = <4>;
		gpio-controller;
	};
Loading