2009-06-19 13:31:05 +00:00
|
|
|
USB EHCI controllers
|
|
|
|
|
|
|
|
Required properties:
|
ehci-platform: Change compatible string from usb-ehci to generic-ehci
The initial versions of the devicetree enablement patches for ehci-platform
used "ehci-platform" as compatible string. However this was disliked by various
reviewers because the platform bus is a Linux invention and devicetree is
supposed to be OS agnostic. After much discussion I gave up, added a:
"depends on !PPC_OF" to Kconfig to avoid a known conflict with PPC-OF platforms
and went with the generic usb-ehci as requested.
In retro-spect I should have chosen something different, the dts files for many
existing boards already claim to be compatible with "usb-ehci", ie they have:
compatible = "ti,ehci-omap", "usb-ehci";
In theory this should not be a problem since the "ti,ehci-omap" entry takes
presedence, but in practice using a conflicting compatible string is an issue,
because it makes which driver gets used depend on driver registration order.
This patch changes the compatible string claimed by ehci-platform to
"generic-ehci", avoiding the driver registration / module loading ordering
problems, and removes the "depends on !PPC_OF" workaround.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-11 16:35:29 +00:00
|
|
|
- compatible : should be "generic-ehci".
|
2009-06-19 13:31:05 +00:00
|
|
|
- reg : should contain at least address and length of the standard EHCI
|
|
|
|
register set for the device. Optional platform-dependent registers
|
|
|
|
(debug-port or other) can be also specified here, but only after
|
|
|
|
definition of standard EHCI registers.
|
|
|
|
- interrupts : one EHCI interrupt should be described here.
|
2014-02-07 15:36:41 +00:00
|
|
|
|
|
|
|
Optional properties:
|
|
|
|
- big-endian-regs : boolean, set this for hcds with big-endian registers
|
|
|
|
- big-endian-desc : boolean, set this for hcds with big-endian descriptors
|
|
|
|
- big-endian : boolean, for hcds with big-endian-regs + big-endian-desc
|
|
|
|
- clocks : a list of phandle + clock specifier pairs
|
|
|
|
- phys : phandle + phy specifier pair
|
|
|
|
- phy-names : "usb"
|
2009-06-19 13:31:05 +00:00
|
|
|
|
|
|
|
Example (Sequoia 440EPx):
|
|
|
|
ehci@e0000300 {
|
|
|
|
compatible = "ibm,usb-ehci-440epx", "usb-ehci";
|
|
|
|
interrupt-parent = <&UIC0>;
|
|
|
|
interrupts = <1a 4>;
|
|
|
|
reg = <0 e0000300 90 0 e0000390 70>;
|
|
|
|
big-endian;
|
|
|
|
};
|
2014-02-07 15:36:41 +00:00
|
|
|
|
|
|
|
Example (Allwinner sun4i A10 SoC):
|
|
|
|
ehci0: usb@01c14000 {
|
ehci-platform: Change compatible string from usb-ehci to generic-ehci
The initial versions of the devicetree enablement patches for ehci-platform
used "ehci-platform" as compatible string. However this was disliked by various
reviewers because the platform bus is a Linux invention and devicetree is
supposed to be OS agnostic. After much discussion I gave up, added a:
"depends on !PPC_OF" to Kconfig to avoid a known conflict with PPC-OF platforms
and went with the generic usb-ehci as requested.
In retro-spect I should have chosen something different, the dts files for many
existing boards already claim to be compatible with "usb-ehci", ie they have:
compatible = "ti,ehci-omap", "usb-ehci";
In theory this should not be a problem since the "ti,ehci-omap" entry takes
presedence, but in practice using a conflicting compatible string is an issue,
because it makes which driver gets used depend on driver registration order.
This patch changes the compatible string claimed by ehci-platform to
"generic-ehci", avoiding the driver registration / module loading ordering
problems, and removes the "depends on !PPC_OF" workaround.
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Kevin Hilman <khilman@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-02-11 16:35:29 +00:00
|
|
|
compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
|
2014-02-07 15:36:41 +00:00
|
|
|
reg = <0x01c14000 0x100>;
|
|
|
|
interrupts = <39>;
|
|
|
|
clocks = <&ahb_gates 1>;
|
|
|
|
phys = <&usbphy 1>;
|
|
|
|
phy-names = "usb";
|
|
|
|
};
|