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:
parent
ff290fc3ed
commit
ace1297f72
|
@ -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>;
|
||||||
|
};
|
|
@ -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";
|
|
@ -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>;
|
||||||
|
};
|
|
@ -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;
|
||||||
|
|
|
@ -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>;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue