Commit c3b693d1 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'u300-multiplatform' of...

Merge tag 'u300-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/soc

From Linus Walleij:

Device Tree and Multiplatform support for U300:
- Add devicetree support to timer, pinctrl (probe), I2C block,
  watchdog, DMA controller and clocks.
- Piecewise add a device tree containing all peripherals.
- Delete the ATAG boot path.
- Delete redundant platform data and board files.
- Convert to multiplatform.

* tag 'u300-multiplatform' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson

: (40 commits)
  ARM: u300: switch to using syscon regmap for board
  ARM: u300: Update MMC configs for u300 defconfig
  spi: pl022: use DMA by default when probing from DT
  pinctrl: get rid of all platform data for coh901
  ARM: u300: convert MMC/SD clock to device tree
  ARM: u300: move the gated system controller clocks to DT
  i2c: stu300: do not request a specific clock name
  clk: move the U300 fixed and fixed-factor to DT
  ARM: u300: remove register definition file
  ARM: u300: add syscon node
  ARM: u300 use module_spi_driver to register driver
  ARM: u300: delete remnant machine headers
  ARM: u300: convert to multiplatform
  ARM: u300: localize <mach/u300-regs.h>
  ARM: u300: delete <mach/irqs.h>
  ARM: u300: delete <mach/hardware.h>
  ARM: u300: push down syscon registers
  ARM: u300: remove deps from debug macro
  ARM: u300: move debugmacro to debug includes
  ARM: u300: delete all static board data
  ...

Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 596fd95e 7fca1f20
Loading
Loading
Loading
Loading
+46 −0
Original line number Diff line number Diff line
ST-Ericsson U300 Device Tree Bindings

For various board the "board" node may contain specific properties
that pertain to this particular board, such as board-specific GPIOs
or board power regulator supplies.

Required root node property:

compatible="stericsson,u300";

Required node: syscon
This contains the system controller.
- compatible: must be "stericsson,u300-syscon".
- reg: the base address and size of the system controller.

Boards with the U300 SoC include:

S365 "Small Board U365":

Required node: s365
This contains the board-specific information.
- compatible: must be "stericsson,s365".
- vana15-supply: the regulator supplying the 1.5V to drive the
  board.
- syscon: a pointer to the syscon node so we can acccess the
  syscon registers to set the board as self-powered.

Example:

/ {
	model = "ST-Ericsson U300";
	compatible = "stericsson,u300";
	#address-cells = <1>;
	#size-cells = <1>;

	s365 {
		compatible = "stericsson,s365";
		vana15-supply = <&ab3100_ldo_d_reg>;
		syscon = <&syscon>;
	};

	syscon: syscon@c0011000 {
		compatible = "stericsson,u300-syscon";
		reg = <0xc0011000 0x1000>;
	};
};
+80 −0
Original line number Diff line number Diff line
Clock bindings for ST-Ericsson U300 System Controller Clocks

Bindings for the gated system controller clocks:

Required properties:
- compatible: must be "stericsson,u300-syscon-clk"
- #clock-cells: must be <0>
- clock-type: specifies the type of clock:
  0 = slow clock
  1 = fast clock
  2 = rest/remaining clock
- clock-id: specifies the clock in the type range

Optional properties:
- clocks: parent clock(s)

The available clocks per type are as follows:

Type:  ID:   Clock:
-------------------
0      0     Slow peripheral bridge clock
0      1     UART0 clock
0      4     GPIO clock
0      6     RTC clock
0      7     Application timer clock
0      8     Access timer clock

1      0     Fast peripheral bridge clock
1      1     I2C bus 0 clock
1      2     I2C bus 1 clock
1      5     MMC interface peripheral (silicon) clock
1      6     SPI clock

2      3     CPU clock
2      4     DMA controller clock
2      5     External Memory Interface (EMIF) clock
2      6     NAND flask interface clock
2      8     XGAM graphics engine clock
2      9     Shared External Memory Interface (SEMI) clock
2      10    AHB Subsystem Bridge clock
2      12    Interrupt controller clock

Example:

gpio_clk: gpio_clk@13M {
	#clock-cells = <0>;
	compatible = "stericsson,u300-syscon-clk";
	clock-type = <0>; /* Slow */
	clock-id = <4>;
	clocks = <&slow_clk>;
};

gpio: gpio@c0016000 {
	compatible = "stericsson,gpio-coh901";
	(...)
	clocks = <&gpio_clk>;
};


Bindings for the MMC/SD card clock:

Required properties:
- compatible: must be "stericsson,u300-syscon-mclk"
- #clock-cells: must be <0>

Optional properties:
- clocks: parent clock(s)

mmc_mclk: mmc_mclk {
	#clock-cells = <0>;
	compatible = "stericsson,u300-syscon-mclk";
	clocks = <&mmc_pclk>;
};

mmcsd: mmcsd@c0001000 {
	compatible = "arm,pl18x", "arm,primecell";
	clocks = <&mmc_pclk>, <&mmc_mclk>;
	clock-names = "apb_pclk", "mclk";
	(...)
};
+32 −0
Original line number Diff line number Diff line
ST-Ericsson COH 901 318 DMA Controller

This is a DMA controller which has begun as a fork of the
ARM PL08x PrimeCell VHDL code.

Required properties:
- compatible: should be "stericsson,coh901318"
- reg: register locations and length
- interrupts: the single DMA IRQ
- #dma-cells: must be set to <1>, as the channels on the
  COH 901 318 are simple and identified by a single number
- dma-channels: the number of DMA channels handled

Example:

dmac: dma-controller@c00020000 {
	compatible = "stericsson,coh901318";
	reg = <0xc0020000 0x1000>;
	interrupt-parent = <&vica>;
	interrupts = <2>;
	#dma-cells = <1>;
	dma-channels = <40>;
};

Consumers example:

uart0: serial@c0013000 {
	compatible = "...";
	(...)
	dmas = <&dmac 17 &dmac 18>;
	dma-names = "tx", "rx";
};
+7 −0
Original line number Diff line number Diff line
ST-Ericsson COH 901 571/3 GPIO controller

Required properties:
- compatible: Compatible property value should be "stericsson,gpio-coh901"
- reg: Physical base address of the controller and length of memory mapped
  region.
- interrupts: the 0...n interrupts assigned to the different GPIO ports/banks.
+15 −0
Original line number Diff line number Diff line
ST Microelectronics DDC I2C

Required properties :
- compatible : Must be "st,ddci2c"
- reg: physical base address of the controller and length of memory mapped
     region.
- interrupts: interrupt number to the cpu.
- #address-cells = <1>;
- #size-cells = <0>;

Optional properties:
- Child nodes conforming to i2c bus binding

Examples :
Loading