| .. | .. |
|---|
| 2 | 2 | ------------------------------------- |
|---|
| 3 | 3 | |
|---|
| 4 | 4 | Required properties: |
|---|
| 5 | | -- compatible: one of the following |
|---|
| 5 | +- compatible: must be "marvell,prestera" and one of the following |
|---|
| 6 | 6 | "marvell,prestera-98dx3236", |
|---|
| 7 | 7 | "marvell,prestera-98dx3336", |
|---|
| 8 | 8 | "marvell,prestera-98dx4251", |
|---|
| .. | .. |
|---|
| 21 | 21 | ranges = <0 MBUS_ID(0x03, 0x00) 0 0x100000>; |
|---|
| 22 | 22 | |
|---|
| 23 | 23 | packet-processor@0 { |
|---|
| 24 | | - compatible = "marvell,prestera-98dx3236"; |
|---|
| 24 | + compatible = "marvell,prestera-98dx3236", "marvell,prestera"; |
|---|
| 25 | 25 | reg = <0 0x4000000>; |
|---|
| 26 | 26 | interrupts = <33>, <34>, <35>; |
|---|
| 27 | 27 | dfx = <&dfx>; |
|---|
| .. | .. |
|---|
| 45 | 45 | ranges = <0 MBUS_ID(0x08, 0x00) 0 0x100000>; |
|---|
| 46 | 46 | reg = <MBUS_ID(0x08, 0x00) 0 0x100000>; |
|---|
| 47 | 47 | }; |
|---|
| 48 | + |
|---|
| 49 | +Marvell Prestera SwitchDev bindings |
|---|
| 50 | +----------------------------------- |
|---|
| 51 | +Optional properties: |
|---|
| 52 | +- compatible: must be "marvell,prestera" |
|---|
| 53 | +- base-mac-provider: describes handle to node which provides base mac address, |
|---|
| 54 | + might be a static base mac address or nvme cell provider. |
|---|
| 55 | + |
|---|
| 56 | +Example: |
|---|
| 57 | + |
|---|
| 58 | +eeprom_mac_addr: eeprom-mac-addr { |
|---|
| 59 | + compatible = "eeprom,mac-addr-cell"; |
|---|
| 60 | + status = "okay"; |
|---|
| 61 | + |
|---|
| 62 | + nvmem = <&eeprom_at24>; |
|---|
| 63 | +}; |
|---|
| 64 | + |
|---|
| 65 | +prestera { |
|---|
| 66 | + compatible = "marvell,prestera"; |
|---|
| 67 | + status = "okay"; |
|---|
| 68 | + |
|---|
| 69 | + base-mac-provider = <&eeprom_mac_addr>; |
|---|
| 70 | +}; |
|---|
| 71 | + |
|---|
| 72 | +The current implementation of Prestera Switchdev PCI interface driver requires |
|---|
| 73 | +that BAR2 is assigned to 0xf6000000 as base address from the PCI IO range: |
|---|
| 74 | + |
|---|
| 75 | +&cp0_pcie0 { |
|---|
| 76 | + ranges = <0x81000000 0x0 0xfb000000 0x0 0xfb000000 0x0 0xf0000 |
|---|
| 77 | + 0x82000000 0x0 0xf6000000 0x0 0xf6000000 0x0 0x2000000 |
|---|
| 78 | + 0x82000000 0x0 0xf9000000 0x0 0xf9000000 0x0 0x100000>; |
|---|
| 79 | + phys = <&cp0_comphy0 0>; |
|---|
| 80 | + status = "okay"; |
|---|
| 81 | +}; |
|---|