Documentation: update docs for mmp dt

Append interrupt controller and timer document for mmp. Updates
documents for gpio and i2c.

Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Haojian Zhuang 2012-04-27 16:21:08 +08:00
parent ff290fc3ed
commit ace1297f72
5 changed files with 79 additions and 15 deletions

View File

@ -0,0 +1,40 @@
* Marvell MMP Interrupt controller
Required properties:
- compatible : Should be "mrvl,mmp-intc", "mrvl,mmp2-intc" or
"mrvl,mmp2-mux-intc"
- reg : Address and length of the register set of the interrupt controller.
If the interrupt controller is intc, address and length means the range
of the whold interrupt controller. If the interrupt controller is mux-intc,
address and length means one register. Since address of mux-intc is in the
range of intc. mux-intc is secondary interrupt controller.
- reg-names : Name of the register set of the interrupt controller. It's
only required in mux-intc interrupt controller.
- interrupts : Should be the port interrupt shared by mux interrupts. It's
only required in mux-intc interrupt controller.
- interrupt-controller : Identifies the node as an interrupt controller.
- #interrupt-cells : Specifies the number of cells needed to encode an
interrupt source.
- mrvl,intc-nr-irqs : Specifies the number of interrupts in the interrupt
controller.
- mrvl,clr-mfp-irq : Specifies the interrupt that needs to clear MFP edge
detection first.
Example:
intc: interrupt-controller@d4282000 {
compatible = "mrvl,mmp2-intc";
interrupt-controller;
#interrupt-cells = <1>;
reg = <0xd4282000 0x1000>;
mrvl,intc-nr-irqs = <64>;
};
intcmux4@d4282150 {
compatible = "mrvl,mmp2-mux-intc";
interrupts = <4>;
interrupt-controller;
#interrupt-cells = <1>;
reg = <0x150 0x4>, <0x168 0x4>;
reg-names = "mux status", "mux mask";
mrvl,intc-nr-irqs = <2>;
};

View File

@ -4,3 +4,11 @@ Marvell Platforms Device Tree Bindings
PXA168 Aspenite Board PXA168 Aspenite Board
Required root node properties: Required root node properties:
- compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168"; - compatible = "mrvl,pxa168-aspenite", "mrvl,pxa168";
PXA910 DKB Board
Required root node properties:
- compatible = "mrvl,pxa910-dkb";
MMP2 Brownstone Board
Required root node properties:
- compatible = "mrvl,mmp2-brownstone";

View File

@ -0,0 +1,13 @@
* Marvell MMP Timer controller
Required properties:
- compatible : Should be "mrvl,mmp-timer".
- reg : Address and length of the register set of timer controller.
- interrupts : Should be the interrupt number.
Example:
timer0: timer@d4014000 {
compatible = "mrvl,mmp-timer";
reg = <0xd4014000 0x100>;
interrupts = <13>;
};

View File

@ -3,19 +3,25 @@
Required properties: Required properties:
- compatible : Should be "mrvl,pxa-gpio" or "mrvl,mmp-gpio" - compatible : Should be "mrvl,pxa-gpio" or "mrvl,mmp-gpio"
- reg : Address and length of the register set for the device - reg : Address and length of the register set for the device
- interrupts : Should be the port interrupt shared by all gpio pins, if - interrupts : Should be the port interrupt shared by all gpio pins.
- interrupt-name : Should be the name of irq resource. There're three gpio interrupts in arch-pxa, and they're gpio0,
one number. gpio1 and gpio_mux. There're only one gpio interrupt in arch-mmp,
gpio_mux.
- interrupt-name : Should be the name of irq resource. Each interrupt
binds its interrupt-name.
- interrupt-controller : Identifies the node as an interrupt controller.
- #interrupt-cells: Specifies the number of cells needed to encode an
interrupt source.
- gpio-controller : Marks the device node as a gpio controller. - gpio-controller : Marks the device node as a gpio controller.
- #gpio-cells : Should be one. It is the pin number. - #gpio-cells : Should be one. It is the pin number.
Example: Example:
gpio: gpio@d4019000 { gpio: gpio@d4019000 {
compatible = "mrvl,mmp-gpio", "mrvl,pxa-gpio"; compatible = "mrvl,mmp-gpio";
reg = <0xd4019000 0x1000>; reg = <0xd4019000 0x1000>;
interrupts = <49>, <17>, <18>; interrupts = <49>;
interrupt-name = "gpio_mux", "gpio0", "gpio1"; interrupt-name = "gpio_mux";
gpio-controller; gpio-controller;
#gpio-cells = <1>; #gpio-cells = <1>;
interrupt-controller; interrupt-controller;

View File

@ -3,34 +3,31 @@
Required properties : Required properties :
- reg : Offset and length of the register set for the device - reg : Offset and length of the register set for the device
- compatible : should be "mrvl,mmp-twsi" where CHIP is the name of a - compatible : should be "mrvl,mmp-twsi" where mmp is the name of a
compatible processor, e.g. pxa168, pxa910, mmp2, mmp3. compatible processor, e.g. pxa168, pxa910, mmp2, mmp3.
For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required For the pxa2xx/pxa3xx, an additional node "mrvl,pxa-i2c" is required
as shown in the example below. as shown in the example below.
Recommended properties : Recommended properties :
- interrupts : <a b> where a is the interrupt number and b is a - interrupts : the interrupt number
field that represents an encoding of the sense and level
information for the interrupt. This should be encoded based on
the information in section 2) depending on the type of interrupt
controller you have.
- interrupt-parent : the phandle for the interrupt controller that - interrupt-parent : the phandle for the interrupt controller that
services interrupts for this device. services interrupts for this device. If the parent is the default
interrupt controller in device tree, it could be ignored.
- mrvl,i2c-polling : Disable interrupt of i2c controller. Polling - mrvl,i2c-polling : Disable interrupt of i2c controller. Polling
status register of i2c controller instead. status register of i2c controller instead.
- mrvl,i2c-fast-mode : Enable fast mode of i2c controller. - mrvl,i2c-fast-mode : Enable fast mode of i2c controller.
Examples: Examples:
twsi1: i2c@d4011000 { twsi1: i2c@d4011000 {
compatible = "mrvl,mmp-twsi", "mrvl,pxa-i2c"; compatible = "mrvl,mmp-twsi";
reg = <0xd4011000 0x1000>; reg = <0xd4011000 0x1000>;
interrupts = <7>; interrupts = <7>;
mrvl,i2c-fast-mode; mrvl,i2c-fast-mode;
}; };
twsi2: i2c@d4025000 { twsi2: i2c@d4025000 {
compatible = "mrvl,mmp-twsi", "mrvl,pxa-i2c"; compatible = "mrvl,mmp-twsi";
reg = <0xd4025000 0x1000>; reg = <0xd4025000 0x1000>;
interrupts = <58>; interrupts = <58>;
}; };