Skip to content

Commit

Permalink
Merge branch 'for_3.2/3_omap_devicetree' of git://gitorious.org/omap-…
Browse files Browse the repository at this point in the history
…pm/linux into dt
  • Loading branch information
Tony Lindgren committed Oct 4, 2011
2 parents c541c15 + 476b679 commit 3ae3e25
Show file tree
Hide file tree
Showing 30 changed files with 929 additions and 310 deletions.
14 changes: 14 additions & 0 deletions Documentation/devicetree/bindings/arm/omap/dsp.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
* TI - DSP (Digital Signal Processor)

TI DSP included in OMAP SoC

Required properties:
- compatible : Should be "ti,omap3-c64" for OMAP3 & 4
- ti,hwmods: "dsp"

Examples:

dsp {
compatible = "ti,omap3-c64";
ti,hwmods = "dsp";
};
19 changes: 19 additions & 0 deletions Documentation/devicetree/bindings/arm/omap/iva.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
* TI - IVA (Imaging and Video Accelerator) subsystem

The IVA contain various audio, video or imaging HW accelerator
depending of the version.

Required properties:
- compatible : Should be:
- "ti,ivahd" for OMAP4
- "ti,iva2.2" for OMAP3
- "ti,iva2.1" for OMAP2430
- "ti,iva1" for OMAP2420
- ti,hwmods: "iva"

Examples:

iva {
compatible = "ti,ivahd", "ti,iva";
ti,hwmods = "iva";
};
19 changes: 19 additions & 0 deletions Documentation/devicetree/bindings/arm/omap/l3-noc.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
* TI - L3 Network On Chip (NoC)

This version is an implementation of the generic NoC IP
provided by Arteris.

Required properties:
- compatible : Should be "ti,omap3-l3-smx" for OMAP3 family
Should be "ti,omap4-l3-noc" for OMAP4 family
- ti,hwmods: "l3_main_1", ... One hwmod for each noc domain.

Examples:

ocp {
compatible = "ti,omap4-l3-noc", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";
};
27 changes: 27 additions & 0 deletions Documentation/devicetree/bindings/arm/omap/mpu.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
* TI - MPU (Main Processor Unit) subsystem

The MPU subsystem contain one or several ARM cores
depending of the version.
The MPU contain CPUs, GIC, L2 cache and a local PRCM.

Required properties:
- compatible : Should be "ti,omap3-mpu" for OMAP3
Should be "ti,omap4-mpu" for OMAP4
- ti,hwmods: "mpu"

Examples:

- For an OMAP4 SMP system:

mpu {
compatible = "ti,omap4-mpu";
ti,hwmods = "mpu";
};


- For an OMAP3 monocore system:

mpu {
compatible = "ti,omap3-mpu";
ti,hwmods = "mpu";
};
43 changes: 43 additions & 0 deletions Documentation/devicetree/bindings/arm/omap/omap.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
* Texas Instruments OMAP

OMAP is currently using a static file per SoC family to describe the
IPs present in the SoC.
On top of that an omap_device is created to extend the platform_device
capabilities and to allow binding with one or several hwmods.
The hwmods will contain all the information to build the device:
adresse range, irq lines, dma lines, interconnect, PRCM register,
clock domain, input clocks.
For the moment just point to the existing hwmod, the next step will be
to move data from hwmod to device-tree representation.


Required properties:
- compatible: Every devices present in OMAP SoC should be in the
form: "ti,XXX"
- ti,hwmods: list of hwmod names (ascii strings), that comes from the OMAP
HW documentation, attached to a device. Must contain at least
one hwmod.

Optional properties:
- ti,no_idle_on_suspend: When present, it prevents the PM to idle the module
during suspend.


Example:

spinlock@1 {
compatible = "ti,omap4-spinlock";
ti,hwmods = "spinlock";
};


Boards:

- OMAP3 BeagleBoard : Low cost community board
compatible = "ti,omap3-beagle", "ti,omap3"

- OMAP4 SDP : Software Developement Board
compatible = "ti,omap4-sdp", "ti,omap4430"

- OMAP4 PandaBoard : Low cost community board
compatible = "ti,omap4-panda", "ti,omap4430"
29 changes: 29 additions & 0 deletions arch/arm/boot/dts/omap3-beagle.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;

/include/ "omap3.dtsi"

/ {
model = "TI OMAP3 BeagleBoard";
compatible = "ti,omap3-beagle", "ti,omap3";

/*
* Since the initial device tree board file does not create any
* devices (MMC, network...), the only way to boot is to provide a
* ramdisk.
*/
chosen {
bootargs = "root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 no_console_suspend debug earlyprintk";
};

memory {
device_type = "memory";
reg = <0x80000000 0x20000000>; /* 512 MB */
};
};
63 changes: 63 additions & 0 deletions arch/arm/boot/dts/omap3.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
/*
* Device Tree Source for OMAP3 SoC
*
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
*
* This file is licensed under the terms of the GNU General Public License
* version 2. This program is licensed "as is" without any warranty of any
* kind, whether express or implied.
*/

/include/ "skeleton.dtsi"

/ {
compatible = "ti,omap3430", "ti,omap3";

cpus {
cpu@0 {
compatible = "arm,cortex-a8";
};
};

/*
* The soc node represents the soc top level view. It is uses for IPs
* that are not memory mapped in the MPU view or for the MPU itself.
*/
soc {
compatible = "ti,omap-infra";
mpu {
compatible = "ti,omap3-mpu";
ti,hwmods = "mpu";
};

iva {
compatible = "ti,iva2.2";
ti,hwmods = "iva";

dsp {
compatible = "ti,omap3-c64";
};
};
};

/*
* XXX: Use a flat representation of the OMAP3 interconnect.
* The real OMAP interconnect network is quite complex.
* Since that will not bring real advantage to represent that in DT for
* the moment, just use a fake OCP bus entry to represent the whole bus
* hierarchy.
*/
ocp {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "l3_main";

intc: interrupt-controller@1 {
compatible = "ti,omap3-intc";
interrupt-controller;
#interrupt-cells = <1>;
};
};
};
29 changes: 29 additions & 0 deletions arch/arm/boot/dts/omap4-panda.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;

/include/ "omap4.dtsi"

/ {
model = "TI OMAP4 PandaBoard";
compatible = "ti,omap4-panda", "ti,omap4430", "ti,omap4";

/*
* Since the initial device tree board file does not create any
* devices (MMC, network...), the only way to boot is to provide a
* ramdisk.
*/
chosen {
bootargs = "root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 no_console_suspend debug";
};

memory {
device_type = "memory";
reg = <0x80000000 0x40000000>; /* 1 GB */
};
};
29 changes: 29 additions & 0 deletions arch/arm/boot/dts/omap4-sdp.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
/*
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;

/include/ "omap4.dtsi"

/ {
model = "TI OMAP4 SDP board";
compatible = "ti,omap4-sdp", "ti,omap4430", "ti,omap4";

/*
* Since the initial device tree board file does not create any
* devices (MMC, network...), the only way to boot is to provide a
* ramdisk.
*/
chosen {
bootargs = "root=/dev/ram0 rw console=ttyO2,115200n8 initrd=0x81600000,20M ramdisk_size=20480 no_console_suspend debug";
};

memory {
device_type = "memory";
reg = <0x80000000 0x40000000>; /* 1 GB */
};
};
103 changes: 103 additions & 0 deletions arch/arm/boot/dts/omap4.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
/*
* Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/

/*
* Carveout for multimedia usecases
* It should be the last 48MB of the first 512MB memory part
* In theory, it should not even exist. That zone should be reserved
* dynamically during the .reserve callback.
*/
/memreserve/ 0x9d000000 0x03000000;

/include/ "skeleton.dtsi"

/ {
compatible = "ti,omap4430", "ti,omap4";
interrupt-parent = <&gic>;

aliases {
};

cpus {
cpu@0 {
compatible = "arm,cortex-a9";
};
cpu@1 {
compatible = "arm,cortex-a9";
};
};

/*
* The soc node represents the soc top level view. It is uses for IPs
* that are not memory mapped in the MPU view or for the MPU itself.
*/
soc {
compatible = "ti,omap-infra";
mpu {
compatible = "ti,omap4-mpu";
ti,hwmods = "mpu";
};

dsp {
compatible = "ti,omap3-c64";
ti,hwmods = "dsp";
};

iva {
compatible = "ti,ivahd";
ti,hwmods = "iva";
};
};

/*
* XXX: Use a flat representation of the OMAP4 interconnect.
* The real OMAP interconnect network is quite complex.
*
* MPU -+-- MPU_PRIVATE - GIC, L2
* |
* +----------------+----------+
* | | |
* + +- EMIF - DDR |
* | | |
* | + +--------+
* | | |
* | +- L4_ABE - AESS, MCBSP, TIMERs...
* | |
* +- L3_MAIN --+- L4_CORE - IPs...
* |
* +- L4_PER - IPs...
* |
* +- L4_CFG -+- L4_WKUP - IPs...
* | |
* | +- IPs...
* +- IPU ----+
* | |
* +- DSP ----+
* | |
* +- DSS ----+
*
* Since that will not bring real advantage to represent that in DT for
* the moment, just use a fake OCP bus entry to represent the whole bus
* hierarchy.
*/
ocp {
compatible = "ti,omap4-l3-noc", "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "l3_main_1", "l3_main_2", "l3_main_3";

gic: interrupt-controller@48241000 {
compatible = "arm,cortex-a9-gic";
interrupt-controller;
#interrupt-cells = <1>;
reg = <0x48241000 0x1000>,
<0x48240100 0x0100>;
};
};
};
Loading

0 comments on commit 3ae3e25

Please sign in to comment.