* 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:
address 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.
- ti,no-reset-on-init: When present, the module should not be reset at init
- ti,no-idle-on-init: When present, the module should not be idled at init
- ti,no-idle: When present, the module is never allowed to idle.

Example:

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

SoC Type (optional):

- General Purpose devices
  compatible = "ti,gp"
- High Security devices
  compatible = "ti,hs"

SoC Families:

- DRA7 generic - defaults to DRA742
  compatible = "ti,dra7"
- AM33x generic
  compatible = "ti,am33xx"
- AM43x generic - defaults to AM4372
  compatible = "ti,am43"

SoCs:

- DRA762
  compatible = "ti,dra762", "ti,dra7"

- DRA742
  compatible = "ti,dra742", "ti,dra74", "ti,dra7"

- DRA722
  compatible = "ti,dra722", "ti,dra72", "ti,dra7"

- DRA718
  compatible = "ti,dra718", "ti,dra722", "ti,dra72", "ti,dra7"

- AM5748
  compatible = "ti,am5748", "ti,dra762", "ti,dra7"

- AM5728
  compatible = "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"

- AM5726
  compatible = "ti,am5726", "ti,dra742", "ti,dra74", "ti,dra7"

- AM5718
  compatible = "ti,am5718", "ti,dra722", "ti,dra72", "ti,dra7"

- AM5716
  compatible = "ti,am5716", "ti,dra722", "ti,dra72", "ti,dra7"

- AM4372
  compatible = "ti,am4372", "ti,am43"

Boards (incomplete list of examples):


- AM437x CM-T43
  compatible = "compulab,am437x-cm-t43", "ti,am4372", "ti,am43"

- AM437x SBC-T43
  compatible = "compulab,am437x-sbc-t43", "compulab,am437x-cm-t43", "ti,am4372", "ti,am43"

- AM43x EPOS EVM
  compatible = "ti,am43x-epos-evm", "ti,am43", "ti,am438x"

- AM437x GP EVM
  compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43"

- AM437x SK EVM: AM437x StarterKit Evaluation Module
  compatible = "ti,am437x-sk-evm", "ti,am4372", "ti,am43"

- AM57XX CL-SOM-AM57x
  compatible = "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"

- AM57XX SBC-AM57x
  compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"

- AM5748 IDK
  compatible = "ti,am5748-idk", "ti,am5748", "ti,dra762", "ti,dra7";

- AM5728 IDK
  compatible = "ti,am5728-idk", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7"

- AM5718 IDK
  compatible = "ti,am5718-idk", "ti,am5718", "ti,dra7"

- DRA762 EVM:  Software Development Board for DRA762
  compatible = "ti,dra76-evm", "ti,dra762", "ti,dra7"

- DRA742 EVM:  Software Development Board for DRA742
  compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"

- DRA722 EVM: Software Development Board for DRA722
  compatible = "ti,dra72-evm", "ti,dra722", "ti,dra72", "ti,dra7"

- DRA718 EVM: Software Development Board for DRA718
  compatible = "ti,dra718-evm", "ti,dra718", "ti,dra722", "ti,dra72", "ti,dra7"
