Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: ISC
0002 /*
0003  * Device Tree file for the Intel IXDPG425 reference design.
0004  * Derived from boardfiles written by MontaVista software.
0005  * Ethernet set-up from OpenWrt.
0006  *
0007  * The device has 4 x FXS RJ11 ports for analog phones for
0008  * internet telephony. (Not supported yet.)
0009  *
0010  * The device has 9 status LEDs we do not support yet.
0011  *
0012  * This device is very similar to ADI engingeering Coyote.
0013  */
0014 
0015 /dts-v1/;
0016 
0017 #include "intel-ixp42x.dtsi"
0018 #include <dt-bindings/input/input.h>
0019 
0020 / {
0021         model = "Intel IXDPG425 reference design";
0022         compatible = "intel,ixdpg425", "intel,ixp42x";
0023         #address-cells = <1>;
0024         #size-cells = <1>;
0025 
0026         memory@0 {
0027                 /* 32 MB SDRAM */
0028                 device_type = "memory";
0029                 reg = <0x00000000 0x02000000>;
0030         };
0031 
0032         chosen {
0033                 bootargs = "console=ttyS0,115200n8 root=/dev/sda1 rw rootwait";
0034                 stdout-path = "uart0:115200n8";
0035         };
0036 
0037         aliases {
0038                 serial0 = &uart0;
0039         };
0040 
0041         soc {
0042                 bus@c4000000 {
0043                         flash@0,0 {
0044                                 compatible = "intel,ixp4xx-flash", "cfi-flash";
0045                                 bank-width = <2>;
0046                                 /*
0047                                  * CHECKME: the product brief says 16MB in a flash
0048                                  * socket.
0049                                  */
0050                                 reg = <0 0x00000000 0x1000000>;
0051 
0052                                 /* Configure expansion bus to allow writes */
0053                                 intel,ixp4xx-eb-write-enable = <1>;
0054 
0055                                 partitions {
0056                                         compatible = "redboot-fis";
0057                                         /* CHECKME: guess this is Redboot FIS */
0058                                         fis-index-block = <0x7f>;
0059                                 };
0060                         };
0061                 };
0062 
0063                 pci@c0000000 {
0064                         status = "ok";
0065 
0066                         /*
0067                          * Taken from IXDPG425 PCI boardfile.
0068                          * We have slots (IDSEL) 12, 13 and 14 with one assigned IRQ
0069                          * for 12 & 13 and one for 14.
0070                          */
0071                         #interrupt-cells = <1>;
0072                         interrupt-map-mask = <0xf800 0 0 7>;
0073                         interrupt-map =
0074                         /* IDSEL 12 */
0075                         <0x6000 0 0 1 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 12 is irq 7 */
0076                         <0x6000 0 0 2 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 12 is irq 7 */
0077                         <0x6000 0 0 3 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 12 is irq 7 */
0078                         <0x6000 0 0 4 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 12 is irq 7 */
0079                         /* IDSEL 13 */
0080                         <0x6800 0 0 1 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 13 is irq 7 */
0081                         <0x6800 0 0 2 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 13 is irq 7 */
0082                         <0x6800 0 0 3 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 13 is irq 7 */
0083                         <0x6800 0 0 4 &gpio0 7 IRQ_TYPE_LEVEL_LOW>, /* INT D on slot 13 is irq 7 */
0084                         /* IDSEL 14 */
0085                         <0x7000 0 0 1 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT A on slot 14 is irq 6 */
0086                         <0x7000 0 0 2 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT B on slot 14 is irq 6 */
0087                         <0x7000 0 0 3 &gpio0 6 IRQ_TYPE_LEVEL_LOW>, /* INT C on slot 14 is irq 6 */
0088                         <0x7000 0 0 4 &gpio0 6 IRQ_TYPE_LEVEL_LOW>; /* INT D on slot 14 is irq 6 */
0089                 };
0090 
0091                 /*
0092                  * CHECKME: this ethernet setup seems dubious. Photos of the board shows some kind
0093                  * of Realtek DSA switch on the board.
0094                  */
0095 
0096                 /* EthB */
0097                 ethernet@c8009000 {
0098                         status = "ok";
0099                         queue-rx = <&qmgr 3>;
0100                         queue-txready = <&qmgr 20>;
0101                         phy-mode = "rgmii";
0102                         phy-handle = <&phy5>;
0103 
0104                         mdio {
0105                                 #address-cells = <1>;
0106                                 #size-cells = <0>;
0107 
0108                                 phy4: ethernet-phy@4 {
0109                                         reg = <4>;
0110                                 };
0111 
0112                                 phy5: ethernet-phy@5 {
0113                                         reg = <5>;
0114                                 };
0115                         };
0116                 };
0117 
0118                 /* EthC */
0119                 ethernet@c800a000 {
0120                         status = "ok";
0121                         queue-rx = <&qmgr 4>;
0122                         queue-txready = <&qmgr 21>;
0123                         phy-mode = "rgmii";
0124                         phy-handle = <&phy4>;
0125                 };
0126         };
0127 };