1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- Hisilicon DSA Fabric device controller
- Required properties:
- - compatible: should be "hisilicon,hns-dsaf-v1" or "hisilicon,hns-dsaf-v2".
- "hisilicon,hns-dsaf-v1" is for hip05.
- "hisilicon,hns-dsaf-v2" is for Hi1610 and Hi1612.
- - mode: dsa fabric mode string. only support one of dsaf modes like these:
- "2port-64vf",
- "6port-16rss",
- "6port-16vf",
- "single-port".
- - interrupt-parent: the interrupt parent of this device.
- - interrupts: should contain the DSA Fabric and rcb interrupt.
- - reg: specifies base physical address(es) and size of the device registers.
- The first region is external interface control register base and size(optional,
- only used when subctrl-syscon does not exist). It is recommended using
- subctrl-syscon rather than this address.
- The second region is SerDes base register and size(optional, only used when
- serdes-syscon in port node does not exist). It is recommended using
- serdes-syscon rather than this address.
- The third region is the PPE register base and size.
- The fourth region is dsa fabric base register and size. It is not required for
- single-port mode.
- - reg-names: may be ppe-base and(or) dsaf-base. It is used to find the
- corresponding reg's index.
- - phy-handle: phy handle of physical port, 0 if not any phy device. It is optional
- attribute. If port node exists, phy-handle in each port node will be used.
- see ethernet.txt [1].
- - subctrl-syscon: is syscon handle for external interface control register.
- - reset-field-offset: is offset of reset field. Its value depends on the hardware
- user manual.
- - buf-size: rx buffer size, should be 16-1024.
- - desc-num: number of description in TX and RX queue, should be 512, 1024, 2048 or 4096.
- - port: subnodes of dsaf. A dsaf node may contain several port nodes(Depending
- on mode of dsaf). Port node contain some attributes listed below:
- - reg: is physical port index in one dsaf.
- - phy-handle: phy handle of physical port. It is not required if there isn't
- phy device. see ethernet.txt [1].
- - serdes-syscon: is syscon handle for SerDes register.
- - cpld-syscon: is syscon handle + register offset pair for cpld register. It is
- not required if there isn't cpld device.
- - port-rst-offset: is offset of reset field for each port in dsaf. Its value
- depends on the hardware user manual.
- - port-mode-offset: is offset of port mode field for each port in dsaf. Its
- value depends on the hardware user manual.
- [1] Documentation/devicetree/bindings/net/phy.txt
- Example:
- dsaf0: dsa@c7000000 {
- compatible = "hisilicon,hns-dsaf-v1";
- mode = "6port-16rss";
- interrupt-parent = <&mbigen_dsa>;
- reg = <0x0 0xc5000000 0x0 0x890000
- 0x0 0xc7000000 0x0 0x60000>;
- reg-names = "ppe-base", "dsaf-base";
- subctrl-syscon = <&subctrl>;
- reset-field-offset = 0;
- interrupts = <131 4>,<132 4>, <133 4>,<134 4>,
- <135 4>,<136 4>, <137 4>,<138 4>,
- <139 4>,<140 4>, <141 4>,<142 4>,
- <143 4>,<144 4>, <145 4>,<146 4>,
- <147 4>,<148 4>, <384 1>,<385 1>,
- <386 1>,<387 1>, <388 1>,<389 1>,
- <390 1>,<391 1>,
- buf-size = <4096>;
- desc-num = <1024>;
- dma-coherent;
- port@0 {
- reg = 0;
- phy-handle = <&phy0>;
- serdes-syscon = <&serdes>;
- };
- port@1 {
- reg = 1;
- serdes-syscon = <&serdes>;
- };
- };
|