^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) PXA USB controllers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) OHCI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) - compatible: Should be "marvell,pxa-ohci" for USB controllers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) used in host mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) - "marvell,enable-port1", "marvell,enable-port2", "marvell,enable-port3"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) If present, enables the appropriate USB port of the controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - "marvell,port-mode" selects the mode of the ports:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 1 = PMM_NPS_MODE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) 2 = PMM_GLOBAL_MODE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) 3 = PMM_PERPORT_MODE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) - "marvell,power-sense-low" - power sense pin is low-active.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) - "marvell,power-control-low" - power control pin is low-active.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - "marvell,no-oc-protection" - disable over-current protection.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) - "marvell,oc-mode-perport" - enable per-port over-current protection.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) - "marvell,power_on_delay" Power On to Power Good time - in ms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) usb0: ohci@4c000000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) compatible = "marvell,pxa-ohci", "usb-ohci";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) reg = <0x4c000000 0x100000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) interrupts = <18>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) marvell,enable-port1;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) marvell,port-mode = <2>; /* PMM_GLOBAL_MODE */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) UDC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) - compatible: Should be "marvell,pxa270-udc" for USB controllers
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) used in device mode.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) - reg: usb device MMIO address space
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) - interrupts: single interrupt generated by the UDC IP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) - clocks: input clock of the UDC IP (see clock-bindings.txt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Optional properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) - gpios:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) - gpio activated to control the USB D+ pullup (see gpio.txt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) pxa27x_udc: udc@40600000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) compatible = "marvell,pxa270-udc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) reg = <0x40600000 0x10000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) interrupts = <11>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) clocks = <&pxa2xx_clks 11>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) gpios = <&gpio 22 GPIO_ACTIVE_LOW>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) };