123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393 |
- // SPDX-License-Identifier: GPL-2.0
- /*
- * OCTEON 3XXX, 5XXX, 63XX device tree skeleton.
- *
- * This device tree is pruned and patched by early boot code before
- * use. Because of this, it contains a super-set of the available
- * devices and properties.
- */
- /include/ "octeon_3xxx.dtsi"
- / {
- soc@0 {
- smi0: mdio@1180000001800 {
- phy0: ethernet-phy@0 {
- compatible = "marvell,88e1118";
- marvell,reg-init =
- /* Fix rx and tx clock transition timing */
- <2 0x15 0xffcf 0>, /* Reg 2,21 Clear bits 4, 5 */
- /* Adjust LED drive. */
- <3 0x11 0 0x442a>, /* Reg 3,17 <- 0442a */
- /* irq, blink-activity, blink-link */
- <3 0x10 0 0x0242>; /* Reg 3,16 <- 0x0242 */
- reg = <0>;
- };
- phy1: ethernet-phy@1 {
- compatible = "marvell,88e1118";
- marvell,reg-init =
- /* Fix rx and tx clock transition timing */
- <2 0x15 0xffcf 0>, /* Reg 2,21 Clear bits 4, 5 */
- /* Adjust LED drive. */
- <3 0x11 0 0x442a>, /* Reg 3,17 <- 0442a */
- /* irq, blink-activity, blink-link */
- <3 0x10 0 0x0242>; /* Reg 3,16 <- 0x0242 */
- reg = <1>;
- };
- phy2: ethernet-phy@2 {
- reg = <2>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- };
- phy3: ethernet-phy@3 {
- reg = <3>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- };
- phy4: ethernet-phy@4 {
- reg = <4>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- };
- phy5: ethernet-phy@5 {
- reg = <5>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- };
- phy6: ethernet-phy@6 {
- reg = <6>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- };
- phy7: ethernet-phy@7 {
- reg = <7>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- };
- phy8: ethernet-phy@8 {
- reg = <8>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- };
- phy9: ethernet-phy@9 {
- reg = <9>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- };
- };
- smi1: mdio@1180000001900 {
- compatible = "cavium,octeon-3860-mdio";
- #address-cells = <1>;
- #size-cells = <0>;
- reg = <0x11800 0x00001900 0x0 0x40>;
- phy100: ethernet-phy@1 {
- reg = <1>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- interrupt-parent = <&gpio>;
- interrupts = <12 8>; /* Pin 12, active low */
- };
- phy101: ethernet-phy@2 {
- reg = <2>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- interrupt-parent = <&gpio>;
- interrupts = <12 8>; /* Pin 12, active low */
- };
- phy102: ethernet-phy@3 {
- reg = <3>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- interrupt-parent = <&gpio>;
- interrupts = <12 8>; /* Pin 12, active low */
- };
- phy103: ethernet-phy@4 {
- reg = <4>;
- compatible = "marvell,88e1149r";
- marvell,reg-init = <3 0x10 0 0x5777>,
- <3 0x11 0 0x00aa>,
- <3 0x12 0 0x4105>,
- <3 0x13 0 0x0a60>;
- interrupt-parent = <&gpio>;
- interrupts = <12 8>; /* Pin 12, active low */
- };
- };
- mix0: ethernet@1070000100000 {
- compatible = "cavium,octeon-5750-mix";
- reg = <0x10700 0x00100000 0x0 0x100>, /* MIX */
- <0x11800 0xE0000000 0x0 0x300>, /* AGL */
- <0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED */
- <0x11800 0xE0002000 0x0 0x8>; /* AGL_PRT_CTL */
- cell-index = <0>;
- interrupts = <0 62>, <1 46>;
- local-mac-address = [ 00 00 00 00 00 00 ];
- phy-handle = <&phy0>;
- };
- mix1: ethernet@1070000100800 {
- compatible = "cavium,octeon-5750-mix";
- reg = <0x10700 0x00100800 0x0 0x100>, /* MIX */
- <0x11800 0xE0000800 0x0 0x300>, /* AGL */
- <0x11800 0xE0000400 0x0 0x400>, /* AGL_SHARED */
- <0x11800 0xE0002008 0x0 0x8>; /* AGL_PRT_CTL */
- cell-index = <1>;
- interrupts = <1 18>, < 1 46>;
- local-mac-address = [ 00 00 00 00 00 00 ];
- phy-handle = <&phy1>;
- };
- pip: pip@11800a0000000 {
- interface@0 {
- ethernet@0 {
- phy-handle = <&phy2>;
- cavium,alt-phy-handle = <&phy100>;
- };
- ethernet@1 {
- phy-handle = <&phy3>;
- cavium,alt-phy-handle = <&phy101>;
- };
- ethernet@2 {
- phy-handle = <&phy4>;
- cavium,alt-phy-handle = <&phy102>;
- };
- ethernet@3 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x3>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- phy-handle = <&phy5>;
- cavium,alt-phy-handle = <&phy103>;
- };
- ethernet@4 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x4>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@5 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x5>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@6 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x6>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@7 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x7>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@8 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x8>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@9 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x9>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@a {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0xa>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@b {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0xb>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@c {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0xc>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@d {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0xd>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@e {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0xe>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- ethernet@f {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0xf>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- };
- };
- interface@1 {
- ethernet@0 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x0>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- phy-handle = <&phy6>;
- };
- ethernet@1 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x1>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- phy-handle = <&phy7>;
- };
- ethernet@2 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x2>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- phy-handle = <&phy8>;
- };
- ethernet@3 {
- compatible = "cavium,octeon-3860-pip-port";
- reg = <0x3>; /* Port */
- local-mac-address = [ 00 00 00 00 00 00 ];
- phy-handle = <&phy9>;
- };
- };
- };
- twsi0: i2c@1180000001000 {
- rtc@68 {
- compatible = "dallas,ds1337";
- reg = <0x68>;
- };
- tmp@4c {
- compatible = "ti,tmp421";
- reg = <0x4c>;
- };
- };
- twsi1: i2c@1180000001200 {
- #address-cells = <1>;
- #size-cells = <0>;
- compatible = "cavium,octeon-3860-twsi";
- reg = <0x11800 0x00001200 0x0 0x200>;
- interrupts = <0 59>;
- clock-frequency = <100000>;
- };
- uart1: serial@1180000000c00 {
- compatible = "cavium,octeon-3860-uart","ns16550";
- reg = <0x11800 0x00000c00 0x0 0x400>;
- clock-frequency = <0>;
- current-speed = <115200>;
- reg-shift = <3>;
- interrupts = <0 35>;
- };
- uart2: serial@1180000000400 {
- compatible = "cavium,octeon-3860-uart","ns16550";
- reg = <0x11800 0x00000400 0x0 0x400>;
- clock-frequency = <0>;
- current-speed = <115200>;
- reg-shift = <3>;
- interrupts = <1 16>;
- };
- bootbus: bootbus@1180000000000 {
- led0: led-display@4,0 {
- compatible = "avago,hdsp-253x";
- reg = <4 0x20 0x20>, <4 0 0x20>;
- };
- cf0: compact-flash@5,0 {
- compatible = "cavium,ebt3000-compact-flash";
- reg = <5 0 0x10000>, <6 0 0x10000>;
- cavium,bus-width = <16>;
- cavium,true-ide;
- cavium,dma-engine-handle = <&dma0>;
- };
- };
- uctl: uctl@118006f000000 {
- compatible = "cavium,octeon-6335-uctl";
- reg = <0x11800 0x6f000000 0x0 0x100>;
- ranges; /* Direct mapping */
- #address-cells = <2>;
- #size-cells = <2>;
- /* 12MHz, 24MHz and 48MHz allowed */
- refclk-frequency = <12000000>;
- /* Either "crystal" or "external" */
- refclk-type = "crystal";
- ehci@16f0000000000 {
- compatible = "cavium,octeon-6335-ehci","usb-ehci";
- reg = <0x16f00 0x00000000 0x0 0x100>;
- interrupts = <0 56>;
- big-endian-regs;
- };
- ohci@16f0000000400 {
- compatible = "cavium,octeon-6335-ohci","usb-ohci";
- reg = <0x16f00 0x00000400 0x0 0x100>;
- interrupts = <0 56>;
- big-endian-regs;
- };
- };
- usbn: usbn@1180068000000 {
- /* 12MHz, 24MHz and 48MHz allowed */
- refclk-frequency = <12000000>;
- /* Either "crystal" or "external" */
- refclk-type = "crystal";
- };
- };
- aliases {
- mix0 = &mix0;
- mix1 = &mix1;
- pip = &pip;
- smi0 = &smi0;
- smi1 = &smi1;
- twsi0 = &twsi0;
- twsi1 = &twsi1;
- uart0 = &uart0;
- uart1 = &uart1;
- uart2 = &uart2;
- flash0 = &flash0;
- cf0 = &cf0;
- uctl = &uctl;
- usbn = &usbn;
- led0 = &led0;
- };
- };
|