Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
/*
 * MPC8272 ADS Device Tree Source
 *
 * Copyright 2005 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.
 */

/ {
       model = "MPC8272ADS";
       compatible = "MPC8260ADS";
       #address-cells = <1>;
       #size-cells = <1>;

       cpus {
               #address-cells = <1>;
               #size-cells = <0>;

               PowerPC,8272@0 {
                       device_type = "cpu";
                       reg = <0>;
                       d-cache-line-size = <20>;       // 32 bytes
                       i-cache-line-size = <20>;       // 32 bytes
                       d-cache-size = <4000>;          // L1, 16K
                       i-cache-size = <4000>;          // L1, 16K
                       timebase-frequency = <0>;
                       bus-frequency = <0>;
                       clock-frequency = <0>;
                       32-bit;
               };
       };

		pci_pic: interrupt-controller@f8200000 {
               #address-cells = <0>;
               #interrupt-cells = <2>;
               interrupt-controller;
               reg = <f8200000 f8200004>;
               built-in;
               device_type = "pci-pic";
       };
       memory {
               device_type = "memory";
               reg = <00000000 4000000 f4500000 00000020>;
       };

       chosen {
               name = "chosen";
               linux,platform = <0>;
		interrupt-controller = <&Cpm_pic>;
       };

       soc8272@f0000000 {
               #address-cells = <1>;
               #size-cells = <1>;
               #interrupt-cells = <2>;
               device_type = "soc";
               ranges = <00000000 f0000000 00053000>;
               reg = <f0000000 10000>;

               mdio@0 {
                       device_type = "mdio";
                       compatible = "fs_enet";
                       reg = <0 0>;
                       #address-cells = <1>;
                       #size-cells = <0>;
			phy0:ethernet-phy@0 {
				interrupt-parent = <&Cpm_pic>;
                               interrupts = <17 4>;
                               reg = <0>;
                               bitbang = [ 12 12 13 02 02 01 ];
                               device_type = "ethernet-phy";
                       };
			phy1:ethernet-phy@1 {
				interrupt-parent = <&Cpm_pic>;
                               interrupts = <17 4>;
                               bitbang = [ 12 12 13 02 02 01 ];
                               reg = <3>;
                               device_type = "ethernet-phy";
                       };
               };

               ethernet@24000 {
                       #address-cells = <1>;
                       #size-cells = <0>;
                       device_type = "network";
                       device-id = <1>;
                       compatible = "fs_enet";
                       model = "FCC";
                       reg = <11300 20 8400 100 11380 30>;
                       mac-address = [ 00 11 2F 99 43 54 ];
                       interrupts = <20 2>;
			interrupt-parent = <&Cpm_pic>;
			phy-handle = <&Phy0>;
                       rx-clock = <13>;
                       tx-clock = <12>;
               };

               ethernet@25000 {
                       device_type = "network";
                       device-id = <2>;
                       compatible = "fs_enet";
                       model = "FCC";
                       reg = <11320 20 8500 100 113b0 30>;
                       mac-address = [ 00 11 2F 99 44 54 ];
                       interrupts = <21 2>;
			interrupt-parent = <&Cpm_pic>;
			phy-handle = <&Phy1>;
                       rx-clock = <17>;
                       tx-clock = <18>;
               };

               cpm@f0000000 {
                       #address-cells = <1>;
                       #size-cells = <1>;
                       #interrupt-cells = <2>;
                       device_type = "cpm";
                       model = "CPM2";
                       ranges = <00000000 00000000 20000>;
                       reg = <0 20000>;
                       command-proc = <119c0>;
                       brg-frequency = <17D7840>;
                       cpm_clk = <BEBC200>;

                       scc@11a00 {
                               device_type = "serial";
                               compatible = "cpm_uart";
                               model = "SCC";
                               device-id = <1>;
                               reg = <11a00 20 8000 100>;
                               current-speed = <1c200>;
                               interrupts = <28 2>;
				interrupt-parent = <&Cpm_pic>;
                               clock-setup = <0 00ffffff>;
                               rx-clock = <1>;
                               tx-clock = <1>;
                       };

                       scc@11a60 {
                               device_type = "serial";
                               compatible = "cpm_uart";
                               model = "SCC";
                               device-id = <4>;
                               reg = <11a60 20 8300 100>;
                               current-speed = <1c200>;
                               interrupts = <2b 2>;
				interrupt-parent = <&Cpm_pic>;
                               clock-setup = <1b ffffff00>;
                               rx-clock = <4>;
                               tx-clock = <4>;
                       };

               };
			cpm_pic:interrupt-controller@10c00 {
                       #address-cells = <0>;
                       #interrupt-cells = <2>;
                       interrupt-controller;
                       reg = <10c00 80>;
                       built-in;
                       device_type = "cpm-pic";
		       compatible = "CPM2";
               };
               pci@0500 {
                       #interrupt-cells = <1>;
                       #size-cells = <2>;
                       #address-cells = <3>;
                       compatible = "8272";
                       device_type = "pci";
                       reg = <10430 4dc>;
                       clock-frequency = <3f940aa>;
                       interrupt-map-mask = <f800 0 0 7>;
                       interrupt-map = <

                                       /* IDSEL 0x16 */
                                        b000 0 0 1 f8200000 40 8
                                        b000 0 0 2 f8200000 41 8
                                        b000 0 0 3 f8200000 42 8
                                        b000 0 0 4 f8200000 43 8

                                       /* IDSEL 0x17 */
                                        b800 0 0 1 f8200000 43 8
                                        b800 0 0 2 f8200000 40 8
                                        b800 0 0 3 f8200000 41 8
                                        b800 0 0 4 f8200000 42 8

                                       /* IDSEL 0x18 */
                                        c000 0 0 1 f8200000 42 8
                                        c000 0 0 2 f8200000 43 8
                                        c000 0 0 3 f8200000 40 8
                                        c000 0 0 4 f8200000 41 8>;
			interrupt-parent = <&Cpm_pic>;
                       interrupts = <14 8>;
                       bus-range = <0 0>;
                       ranges = <02000000 0 80000000 80000000 0 40000000
                                 01000000 0 00000000 f6000000 0 02000000>;
               };

/* May need to remove if on a part without crypto engine */
               crypto@30000 {
                       device_type = "crypto";
                       model = "SEC2";
                       compatible = "talitos";
                       reg = <30000 10000>;
                       interrupts = <b 2>;
			interrupt-parent = <&Cpm_pic>;
                       num-channels = <4>;
                       channel-fifo-len = <18>;
                       exec-units-mask = <0000007e>;
/* desc mask is for rev1.x, we need runtime fixup for >=2.x */
                       descriptor-types-mask = <01010ebf>;
               };

       };
};