// SPDX-License-Identifier: GPL-2.0-or-later 
 | 
/* 
 | 
 * GE IMP3A Device Tree Source 
 | 
 * 
 | 
 * Copyright 2010-2011 GE Intelligent Platforms Embedded Systems, Inc. 
 | 
 * 
 | 
 * Based on: P2020 DS Device Tree Source 
 | 
 * Copyright 2009 Freescale Semiconductor Inc. 
 | 
 */ 
 | 
  
 | 
/include/ "p2020si-pre.dtsi" 
 | 
  
 | 
/ { 
 | 
    model = "GE_IMP3A"; 
 | 
    compatible = "ge,imp3a"; 
 | 
  
 | 
    memory { 
 | 
        device_type = "memory"; 
 | 
    }; 
 | 
  
 | 
    lbc: localbus@fef05000 { 
 | 
        reg = <0 0xfef05000 0 0x1000>; 
 | 
  
 | 
        ranges = <0x0 0x0 0x0 0xff000000 0x01000000 
 | 
              0x1 0x0 0x0 0xe0000000 0x08000000 
 | 
              0x2 0x0 0x0 0xe8000000 0x08000000 
 | 
              0x3 0x0 0x0 0xfc100000 0x00020000 
 | 
              0x4 0x0 0x0 0xfc000000 0x00008000 
 | 
              0x5 0x0 0x0 0xfc008000 0x00008000 
 | 
              0x6 0x0 0x0 0xfee00000 0x00040000 
 | 
              0x7 0x0 0x0 0xfee80000 0x00040000>; 
 | 
  
 | 
        /* nor@0,0 is a mirror of part of the memory in nor@1,0 
 | 
        nor@0,0 { 
 | 
            #address-cells = <1>; 
 | 
            #size-cells = <1>; 
 | 
            compatible = "ge,imp3a-firmware-mirror", "cfi-flash"; 
 | 
            reg = <0x0 0x0 0x1000000>; 
 | 
            bank-width = <2>; 
 | 
            device-width = <1>; 
 | 
  
 | 
            partition@0 { 
 | 
                label = "firmware"; 
 | 
                reg = <0x0 0x1000000>; 
 | 
                read-only; 
 | 
            }; 
 | 
        }; 
 | 
        */ 
 | 
  
 | 
        nor@1,0 { 
 | 
            #address-cells = <1>; 
 | 
            #size-cells = <1>; 
 | 
            compatible = "ge,imp3a-paged-flash", "cfi-flash"; 
 | 
            reg = <0x1 0x0 0x8000000>; 
 | 
            bank-width = <2>; 
 | 
            device-width = <1>; 
 | 
  
 | 
            partition@0 { 
 | 
                label = "user"; 
 | 
                reg = <0x0 0x7800000>; 
 | 
            }; 
 | 
  
 | 
            partition@7800000 { 
 | 
                label = "firmware"; 
 | 
                reg = <0x7800000 0x800000>; 
 | 
                read-only; 
 | 
            }; 
 | 
        }; 
 | 
  
 | 
        nvram@3,0 { 
 | 
            device_type = "nvram"; 
 | 
            compatible = "simtek,stk14ca8"; 
 | 
            reg = <0x3 0x0 0x20000>; 
 | 
        }; 
 | 
  
 | 
        fpga@4,0 { 
 | 
            compatible = "ge,imp3a-fpga-regs"; 
 | 
            reg = <0x4 0x0 0x20>; 
 | 
        }; 
 | 
  
 | 
        gef_pic: pic@4,20 { 
 | 
            #interrupt-cells = <1>; 
 | 
            interrupt-controller; 
 | 
            device_type = "interrupt-controller"; 
 | 
            compatible = "ge,imp3a-fpga-pic", "gef,fpga-pic-1.00"; 
 | 
            reg = <0x4 0x20 0x20>; 
 | 
            interrupts = <6 7 0 0>; 
 | 
        }; 
 | 
  
 | 
        gef_gpio: gpio@4,400 { 
 | 
            #gpio-cells = <2>; 
 | 
            compatible = "ge,imp3a-gpio"; 
 | 
            reg = <0x4 0x400 0x24>; 
 | 
            gpio-controller; 
 | 
        }; 
 | 
  
 | 
        wdt@4,800 { 
 | 
            compatible = "ge,imp3a-fpga-wdt", "gef,fpga-wdt-1.00", 
 | 
                "gef,fpga-wdt"; 
 | 
            reg = <0x4 0x800 0x8>; 
 | 
            interrupts = <10 4>; 
 | 
            interrupt-parent = <&gef_pic>; 
 | 
        }; 
 | 
  
 | 
        /* Second watchdog available, driver currently supports one. 
 | 
        wdt@4,808 { 
 | 
            compatible = "gef,imp3a-fpga-wdt", "gef,fpga-wdt-1.00", 
 | 
                "gef,fpga-wdt"; 
 | 
            reg = <0x4 0x808 0x8>; 
 | 
            interrupts = <9 4>; 
 | 
            interrupt-parent = <&gef_pic>; 
 | 
        }; 
 | 
        */ 
 | 
  
 | 
        nand@6,0 { 
 | 
            compatible = "fsl,elbc-fcm-nand"; 
 | 
            reg = <0x6 0x0 0x40000>; 
 | 
        }; 
 | 
  
 | 
        nand@7,0 { 
 | 
            compatible = "fsl,elbc-fcm-nand"; 
 | 
            reg = <0x7 0x0 0x40000>; 
 | 
        }; 
 | 
    }; 
 | 
  
 | 
    soc: soc@fef00000 { 
 | 
        ranges = <0x0 0 0xfef00000 0x100000>; 
 | 
  
 | 
        i2c@3000 { 
 | 
            hwmon@48 { 
 | 
                compatible = "national,lm92"; 
 | 
                reg = <0x48>; 
 | 
            }; 
 | 
  
 | 
            hwmon@4c { 
 | 
                compatible = "adi,adt7461"; 
 | 
                reg = <0x4c>; 
 | 
            }; 
 | 
  
 | 
            rtc@51 { 
 | 
                compatible = "epson,rx8581"; 
 | 
                reg = <0x51>; 
 | 
            }; 
 | 
  
 | 
            eti@6b { 
 | 
                compatible = "dallas,ds1682"; 
 | 
                reg = <0x6b>; 
 | 
            }; 
 | 
        }; 
 | 
  
 | 
        usb@22000 { 
 | 
            phy_type = "ulpi"; 
 | 
            dr_mode = "host"; 
 | 
        }; 
 | 
  
 | 
        mdio@24520 { 
 | 
            phy0: ethernet-phy@0 { 
 | 
                interrupt-parent = <&gef_pic>; 
 | 
                interrupts = <0xc 0x4>; 
 | 
                reg = <0x1>; 
 | 
            }; 
 | 
            phy1: ethernet-phy@1 { 
 | 
                interrupt-parent = <&gef_pic>; 
 | 
                interrupts = <0xb 0x4>; 
 | 
                reg = <0x2>; 
 | 
            }; 
 | 
            tbi0: tbi-phy@11 { 
 | 
                reg = <0x11>; 
 | 
                device_type = "tbi-phy"; 
 | 
            }; 
 | 
        }; 
 | 
  
 | 
        mdio@25520 { 
 | 
            tbi1: tbi-phy@11 { 
 | 
                reg = <0x11>; 
 | 
                device_type = "tbi-phy"; 
 | 
            }; 
 | 
        }; 
 | 
  
 | 
        mdio@26520 { 
 | 
            status = "disabled"; 
 | 
        }; 
 | 
  
 | 
        enet0: ethernet@24000 { 
 | 
            tbi-handle = <&tbi0>; 
 | 
            phy-handle = <&phy0>; 
 | 
            phy-connection-type = "gmii"; 
 | 
        }; 
 | 
  
 | 
        enet1: ethernet@25000 { 
 | 
            tbi-handle = <&tbi1>; 
 | 
            phy-handle = <&phy1>; 
 | 
            phy-connection-type = "gmii"; 
 | 
        }; 
 | 
  
 | 
        enet2: ethernet@26000 { 
 | 
            status = "disabled"; 
 | 
        }; 
 | 
    }; 
 | 
  
 | 
    pci0: pcie@fef08000 { 
 | 
        ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000 
 | 
              0x1000000 0x0 0x00000000 0 0xfe020000 0x0 0x10000>; 
 | 
        reg = <0 0xfef08000 0 0x1000>; 
 | 
  
 | 
        pcie@0 { 
 | 
            ranges = <0x2000000 0x0 0xc0000000 
 | 
                  0x2000000 0x0 0xc0000000 
 | 
                  0x0 0x20000000 
 | 
  
 | 
                  0x1000000 0x0 0x0 
 | 
                  0x1000000 0x0 0x0 
 | 
                  0x0 0x10000>; 
 | 
        }; 
 | 
    }; 
 | 
  
 | 
    pci1: pcie@fef09000 { 
 | 
        reg = <0 0xfef09000 0 0x1000>; 
 | 
        ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 
 | 
              0x1000000 0x0 0x00000000 0 0xfe010000 0x0 0x10000>; 
 | 
  
 | 
        pcie@0 { 
 | 
            ranges = <0x2000000 0x0 0xa0000000 
 | 
                  0x2000000 0x0 0xa0000000 
 | 
                  0x0 0x20000000 
 | 
  
 | 
                  0x1000000 0x0 0x0 
 | 
                  0x1000000 0x0 0x0 
 | 
                  0x0 0x10000>; 
 | 
        }; 
 | 
  
 | 
    }; 
 | 
  
 | 
    pci2: pcie@fef0a000 { 
 | 
        reg = <0 0xfef0a000 0 0x1000>; 
 | 
        ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 
 | 
              0x1000000 0x0 0x00000000 0 0xfe000000 0x0 0x10000>; 
 | 
  
 | 
        pcie@0 { 
 | 
            ranges = <0x2000000 0x0 0x80000000 
 | 
                  0x2000000 0x0 0x80000000 
 | 
                  0x0 0x20000000 
 | 
  
 | 
                  0x1000000 0x0 0x0 
 | 
                  0x1000000 0x0 0x0 
 | 
                  0x0 0x10000>; 
 | 
        }; 
 | 
    }; 
 | 
}; 
 | 
  
 | 
/include/ "p2020si-post.dtsi" 
 |