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>; }; };