|  | /* | 
|  | * MPC885 ADS Device Tree Source | 
|  | * | 
|  | * Copyright 2006 MontaVista Software, Inc. | 
|  | * Copyright 2007,2008 Freescale Semiconductor, Inc. | 
|  | * | 
|  | * This program is free software; you can redistribute  it and/or modify it | 
|  | * under  the terms of  the GNU General  Public License as published by the | 
|  | * Free Software Foundation;  either version 2 of the  License, or (at your | 
|  | * option) any later version. | 
|  | */ | 
|  |  | 
|  | /dts-v1/; | 
|  |  | 
|  | / { | 
|  | model = "MPC885ADS"; | 
|  | compatible = "fsl,mpc885ads"; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <1>; | 
|  |  | 
|  | cpus { | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  |  | 
|  | PowerPC,885@0 { | 
|  | device_type = "cpu"; | 
|  | reg = <0x0>; | 
|  | d-cache-line-size = <16>; | 
|  | i-cache-line-size = <16>; | 
|  | d-cache-size = <8192>; | 
|  | i-cache-size = <8192>; | 
|  | timebase-frequency = <0>; | 
|  | bus-frequency = <0>; | 
|  | clock-frequency = <0>; | 
|  | interrupts = <15 2>;	// decrementer interrupt | 
|  | interrupt-parent = <&PIC>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | memory { | 
|  | device_type = "memory"; | 
|  | reg = <0x0 0x0>; | 
|  | }; | 
|  |  | 
|  | localbus@ff000100 { | 
|  | compatible = "fsl,mpc885-localbus", "fsl,pq1-localbus"; | 
|  | #address-cells = <2>; | 
|  | #size-cells = <1>; | 
|  | reg = <0xff000100 0x40>; | 
|  |  | 
|  | ranges = < | 
|  | 0x0 0x0 0xfe000000 0x800000 | 
|  | 0x1 0x0 0xff080000 0x8000 | 
|  | 0x5 0x0 0xff0a0000 0x8000 | 
|  | >; | 
|  |  | 
|  | flash@0,0 { | 
|  | compatible = "jedec-flash"; | 
|  | reg = <0x0 0x0 0x800000>; | 
|  | bank-width = <4>; | 
|  | device-width = <1>; | 
|  | }; | 
|  |  | 
|  | board-control@1,0 { | 
|  | reg = <0x1 0x0 0x20 0x5 0x300 0x4>; | 
|  | compatible = "fsl,mpc885ads-bcsr"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | soc@ff000000 { | 
|  | compatible = "fsl,mpc885", "fsl,pq1-soc"; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <1>; | 
|  | device_type = "soc"; | 
|  | ranges = <0x0 0xff000000 0x4000>; | 
|  | bus-frequency = <0>; | 
|  |  | 
|  | // Temporary -- will go away once kernel uses ranges for get_immrbase(). | 
|  | reg = <0xff000000 0x4000>; | 
|  |  | 
|  | mdio@e00 { | 
|  | compatible = "fsl,mpc885-fec-mdio", "fsl,pq1-fec-mdio"; | 
|  | reg = <0xe00 0x188>; | 
|  | #address-cells = <1>; | 
|  | #size-cells = <0>; | 
|  |  | 
|  | PHY0: ethernet-phy@0 { | 
|  | reg = <0x0>; | 
|  | device_type = "ethernet-phy"; | 
|  | }; | 
|  |  | 
|  | PHY1: ethernet-phy@1 { | 
|  | reg = <0x1>; | 
|  | device_type = "ethernet-phy"; | 
|  | }; | 
|  |  | 
|  | PHY2: ethernet-phy@2 { | 
|  | reg = <0x2>; | 
|  | device_type = "ethernet-phy"; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | ethernet@e00 { | 
|  | device_type = "network"; | 
|  | compatible = "fsl,mpc885-fec-enet", | 
|  | "fsl,pq1-fec-enet"; | 
|  | reg = <0xe00 0x188>; | 
|  | local-mac-address = [ 00 00 00 00 00 00 ]; | 
|  | interrupts = <3 1>; | 
|  | interrupt-parent = <&PIC>; | 
|  | phy-handle = <&PHY0>; | 
|  | linux,network-index = <0>; | 
|  | }; | 
|  |  | 
|  | ethernet@1e00 { | 
|  | device_type = "network"; | 
|  | compatible = "fsl,mpc885-fec-enet", | 
|  | "fsl,pq1-fec-enet"; | 
|  | reg = <0x1e00 0x188>; | 
|  | local-mac-address = [ 00 00 00 00 00 00 ]; | 
|  | interrupts = <7 1>; | 
|  | interrupt-parent = <&PIC>; | 
|  | phy-handle = <&PHY1>; | 
|  | linux,network-index = <1>; | 
|  | }; | 
|  |  | 
|  | PIC: interrupt-controller@0 { | 
|  | interrupt-controller; | 
|  | #interrupt-cells = <2>; | 
|  | reg = <0x0 0x24>; | 
|  | compatible = "fsl,mpc885-pic", "fsl,pq1-pic"; | 
|  | }; | 
|  |  | 
|  | pcmcia@80 { | 
|  | #address-cells = <3>; | 
|  | #interrupt-cells = <1>; | 
|  | #size-cells = <2>; | 
|  | compatible = "fsl,pq-pcmcia"; | 
|  | device_type = "pcmcia"; | 
|  | reg = <0x80 0x80>; | 
|  | interrupt-parent = <&PIC>; | 
|  | interrupts = <13 1>; | 
|  | }; | 
|  |  | 
|  | cpm@9c0 { | 
|  | #address-cells = <1>; | 
|  | #size-cells = <1>; | 
|  | compatible = "fsl,mpc885-cpm", "fsl,cpm1"; | 
|  | command-proc = <0x9c0>; | 
|  | interrupts = <0>;	// cpm error interrupt | 
|  | interrupt-parent = <&CPM_PIC>; | 
|  | reg = <0x9c0 0x40>; | 
|  | ranges; | 
|  |  | 
|  | muram@2000 { | 
|  | #address-cells = <1>; | 
|  | #size-cells = <1>; | 
|  | ranges = <0x0 0x2000 0x2000>; | 
|  |  | 
|  | data@0 { | 
|  | compatible = "fsl,cpm-muram-data"; | 
|  | reg = <0x0 0x1c00>; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | brg@9f0 { | 
|  | compatible = "fsl,mpc885-brg", | 
|  | "fsl,cpm1-brg", | 
|  | "fsl,cpm-brg"; | 
|  | clock-frequency = <0>; | 
|  | reg = <0x9f0 0x10>; | 
|  | }; | 
|  |  | 
|  | CPM_PIC: interrupt-controller@930 { | 
|  | interrupt-controller; | 
|  | #interrupt-cells = <1>; | 
|  | interrupts = <5 2 0 2>; | 
|  | interrupt-parent = <&PIC>; | 
|  | reg = <0x930 0x20>; | 
|  | compatible = "fsl,mpc885-cpm-pic", | 
|  | "fsl,cpm1-pic"; | 
|  | }; | 
|  |  | 
|  | serial@a80 { | 
|  | device_type = "serial"; | 
|  | compatible = "fsl,mpc885-smc-uart", | 
|  | "fsl,cpm1-smc-uart"; | 
|  | reg = <0xa80 0x10 0x3e80 0x40>; | 
|  | interrupts = <4>; | 
|  | interrupt-parent = <&CPM_PIC>; | 
|  | fsl,cpm-brg = <1>; | 
|  | fsl,cpm-command = <0x90>; | 
|  | }; | 
|  |  | 
|  | serial@a90 { | 
|  | device_type = "serial"; | 
|  | compatible = "fsl,mpc885-smc-uart", | 
|  | "fsl,cpm1-smc-uart"; | 
|  | reg = <0xa90 0x10 0x3f80 0x40>; | 
|  | interrupts = <3>; | 
|  | interrupt-parent = <&CPM_PIC>; | 
|  | fsl,cpm-brg = <2>; | 
|  | fsl,cpm-command = <0xd0>; | 
|  | }; | 
|  |  | 
|  | ethernet@a40 { | 
|  | device_type = "network"; | 
|  | compatible = "fsl,mpc885-scc-enet", | 
|  | "fsl,cpm1-scc-enet"; | 
|  | reg = <0xa40 0x18 0x3e00 0x100>; | 
|  | local-mac-address = [ 00 00 00 00 00 00 ]; | 
|  | interrupts = <28>; | 
|  | interrupt-parent = <&CPM_PIC>; | 
|  | phy-handle = <&PHY2>; | 
|  | fsl,cpm-command = <0x80>; | 
|  | linux,network-index = <2>; | 
|  | }; | 
|  | }; | 
|  | }; | 
|  |  | 
|  | chosen { | 
|  | linux,stdout-path = "/soc/cpm/serial@a80"; | 
|  | }; | 
|  | }; |