^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) OCTEON/OCTEON+ USB BLOCK
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) 1) Main node
^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)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) - compatible: must be "cavium,octeon-5750-usbn"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - reg: specifies the physical base address of the USBN block and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) the length of the memory mapped region.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - #address-cells: specifies the number of cells needed to encode an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) address. The value must be 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) - #size-cells: specifies the number of cells used to represent the size
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) of an address. The value must be 2.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) - ranges: specifies the translation between child address space and parent
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) address space.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) - clock-frequency: speed of the USB reference clock. Allowed values are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 12000000, 24000000 or 48000000.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) - cavium,refclk-type: type of the USB reference clock. Allowed values are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) "crystal" or "external".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) - refclk-frequency: deprecated, use "clock-frequency".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) - refclk-type: deprecated, use "cavium,refclk-type".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 2) Child node
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) The main node must have one child node which describes the built-in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) USB controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) Required properties:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) - compatible: must be "cavium,octeon-5750-usbc"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) - reg: specifies the physical base address of the USBC block and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) the length of the memory mapped region.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) - interrupts: specifies the interrupt number for the USB controller.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) 3) Example:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) usbn: usbn@1180068000000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) compatible = "cavium,octeon-5750-usbn";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) reg = <0x11800 0x68000000 0x0 0x1000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) ranges; /* Direct mapping */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) #address-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) #size-cells = <2>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) clock-frequency = <12000000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) cavium,refclk-type = "crystal";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) usbc@16f0010000000 {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) compatible = "cavium,octeon-5750-usbc";
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) reg = <0x16f00 0x10000000 0x0 0x80000>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) interrupts = <0 56>;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)