Documentation / devicetree / bindings / usb / octeon-usb.txt


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
OCTEON/OCTEON+ USB BLOCK

1) Main node

   Required properties:

   - compatible: must be "cavium,octeon-5750-usbn"

   - reg: specifies the physical base address of the USBN block and
     the length of the memory mapped region.

   - #address-cells: specifies the number of cells needed to encode an
     address. The value must be 2.

   - #size-cells: specifies the number of cells used to represent the size
     of an address. The value must be 2.

   - ranges: specifies the translation between child address space and parent
     address space.

   - clock-frequency: speed of the USB reference clock. Allowed values are
     12000000, 24000000 or 48000000.

   - cavium,refclk-type: type of the USB reference clock. Allowed values are
     "crystal" or "external".

   - refclk-frequency: deprecated, use "clock-frequency".

   - refclk-type: deprecated, use "cavium,refclk-type".

2) Child node

   The main node must have one child node which describes the built-in
   USB controller.

   Required properties:

   - compatible: must be "cavium,octeon-5750-usbc"

   - reg: specifies the physical base address of the USBC block and
     the length of the memory mapped region.

   - interrupts: specifies the interrupt number for the USB controller.

3) Example:

	usbn: usbn@1180068000000 {
		compatible = "cavium,octeon-5750-usbn";
		reg = <0x11800 0x68000000 0x0 0x1000>;
		ranges; /* Direct mapping */
		#address-cells = <2>;
		#size-cells = <2>;
		clock-frequency = <12000000>;
		cavium,refclk-type = "crystal";

		usbc@16f0010000000 {
			compatible = "cavium,octeon-5750-usbc";
			reg = <0x16f00 0x10000000 0x0 0x80000>;
			interrupts = <0 56>;
		};
	};