* 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

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:

- OMAP2 generic - defaults to OMAP2420
  compatible = "ti,omap2"
- OMAP3 generic - defaults to OMAP3430
  compatible = "ti,omap3"
- OMAP4 generic - defaults to OMAP4430
  compatible = "ti,omap4"
- OMAP5 generic - defaults to OMAP5430
  compatible = "ti,omap5"
- DRA7 generic - defaults to DRA742
  compatible = "ti,dra7"
- AM43x generic - defaults to AM4372
  compatible = "ti,am43"

SoCs:

- OMAP2420
  compatible = "ti,omap2420", "ti,omap2"
- OMAP2430
  compatible = "ti,omap2430", "ti,omap2"

- OMAP3430
  compatible = "ti,omap3430", "ti,omap3"
- AM3517
  compatible = "ti,am3517", "ti,omap3"
- OMAP3630
  compatible = "ti,omap36xx", "ti,omap3"
- AM33xx
  compatible = "ti,am33xx", "ti,omap3"

- OMAP4430
  compatible = "ti,omap4430", "ti,omap4"
- OMAP4460
  compatible = "ti,omap4460", "ti,omap4"

- OMAP5430
  compatible = "ti,omap5430", "ti,omap5"
- OMAP5432
  compatible = "ti,omap5432", "ti,omap5"

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

- DRA722
  compatible = "ti,dra722", "ti,dra72", "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:

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

- OMAP3 Tobi with Overo : Commercial expansion board with daughter board
  compatible = "gumstix,omap3-overo-tobi", "gumstix,omap3-overo", "ti,omap3"

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

- OMAP4 PandaBoard : Low cost community board
  compatible = "ti,omap4-panda", "ti,omap4430"

- OMAP4 DuoVero with Parlor : Commercial expansion board with daughter board
  compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4";

- OMAP4 VAR-STK-OM44 : Commercial dev kit with VAR-OM44CustomBoard and VAR-SOM-OM44 w/WLAN
  compatible = "variscite,var-stk-om44", "variscite,var-som-om44", "ti,omap4460", "ti,omap4";

- OMAP4 VAR-DVK-OM44 : Commercial dev kit with VAR-OM44CustomBoard, VAR-SOM-OM44 w/WLAN and LCD touchscreen
  compatible = "variscite,var-dvk-om44", "variscite,var-som-om44", "ti,omap4460", "ti,omap4";

- OMAP3 EVM : Software Development Board for OMAP35x, AM/DM37x
  compatible = "ti,omap3-evm", "ti,omap3"

- AM335X EVM : Software Development Board for AM335x
  compatible = "ti,am335x-evm", "ti,am33xx", "ti,omap3"

- AM335X Bone : Low cost community board
  compatible = "ti,am335x-bone", "ti,am33xx", "ti,omap3"

- AM335X OrionLXm : Substation Automation Platform
  compatible = "novatech,am335x-lxm", "ti,am33xx"

- OMAP5 EVM : Evaluation Module
  compatible = "ti,omap5-evm", "ti,omap5"

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

- 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"

- 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"
