aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ppc40x/Makefile
blob: ab79d7ce232608ae216d34e8ccd0d91844015db7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#
# Copyright (C) 2008-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk

ARCH:=powerpc
BOARD:=ppc40x
BOARDNAME:=AMCC/IBM PPC40x
FEATURES:=squashfs
CFLAGS:=-Os -pipe -fno-caller-saves -mcpu=405
MAINTAINER:=Imre Kaloz <kaloz@openwrt.org>

LINUX_VERSION:=3.8.9

include $(INCLUDE_DIR)/target.mk

define Target/Description
	Build firmware images for AMCC/IBM PPC40x based boards.
endef

$(eval $(call BuildTarget))
0' href='#n230'>230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336
/ {
	#address-cells = <1>;
	#size-cells = <1>;
	compatible = "ralink,mtk7620n-soc";

	cpus {
		cpu@0 {
			compatible = "mips,mips24KEc";
		};
	};

	chosen {
		bootargs = "console=ttyS0,57600";
	};

	cpuintc: cpuintc@0 {
		#address-cells = <0>;
		#interrupt-cells = <1>;
		interrupt-controller;
		compatible = "mti,cpu-interrupt-controller";
	};

	aliases {
		spi0 = &spi0;
		spi1 = &spi1;
		serial0 = &uartlite;
	};

	palmbus@10000000 {
		compatible = "palmbus";
		reg = <0x10000000 0x200000>;
		ranges = <0x0 0x10000000 0x1FFFFF>;

		#address-cells = <1>;
		#size-cells = <1>;

		sysc@0 {
			compatible = "ralink,mt7620a-sysc", "ralink,rt3050-sysc";
			reg = <0x0 0x100>;
		};

		timer@100 {
			compatible = "ralink,mt7620a-timer", "ralink,rt2880-timer";
			reg = <0x100 0x20>;

			interrupt-parent = <&intc>;
			interrupts = <1>;
		};

		watchdog@120 {
			compatible = "ralink,mt7620a-wdt", "ralink,rt2880-wdt";
			reg = <0x120 0x10>;

			resets = <&rstctrl 8>;
			reset-names = "wdt";

			interrupt-parent = <&intc>;
			interrupts = <1>;
		};

		intc: intc@200 {
			compatible = "ralink,mt7620a-intc", "ralink,rt2880-intc";
			reg = <0x200 0x100>;

			resets = <&rstctrl 19>;
			reset-names = "intc";

			interrupt-controller;
			#interrupt-cells = <1>;

			interrupt-parent = <&cpuintc>;
			interrupts = <2>;
		};

		memc@300 {
			compatible = "ralink,mt7620a-memc", "ralink,rt3050-memc";
			reg = <0x300 0x100>;

			resets = <&rstctrl 20>;
			reset-names = "mc";

			interrupt-parent = <&intc>;
			interrupts = <3>;
		};

		gpio0: gpio@600 {
			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
			reg = <0x600 0x34>;

			resets = <&rstctrl 13>;
			reset-names = "pio";

			interrupt-parent = <&intc>;
			interrupts = <6>;

			gpio-controller;
			#gpio-cells = <2>;

			ralink,gpio-base = <0>;
			ralink,num-gpios = <24>;
			ralink,register-map = [ 00 04 08 0c
						20 24 28 2c
						30 34 ];
		};

		gpio1: gpio@638 {
			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
			reg = <0x638 0x24>;

			interrupt-parent = <&intc>;
			interrupts = <6>;

			gpio-controller;
			#gpio-cells = <2>;

			ralink,gpio-base = <24>;
			ralink,num-gpios = <16>;
			ralink,register-map = [ 00 04 08 0c
						10 14 18 1c
						20 24 ];

			status = "disabled";
		};

		gpio2: gpio@660 {
			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
			reg = <0x660 0x24>;

			interrupt-parent = <&intc>;
			interrupts = <6>;

			gpio-controller;
			#gpio-cells = <2>;

			ralink,gpio-base = <40>;
			ralink,num-gpios = <32>;
			ralink,register-map = [ 00 04 08 0c
						10 14 18 1c
						20 24 ];

			status = "disabled";
		};

		gpio3: gpio@688 {
			compatible = "ralink,mt7620a-gpio", "ralink,rt2880-gpio";
			reg = <0x688 0x24>;

			interrupt-parent = <&intc>;
			interrupts = <6>;

			gpio-controller;
			#gpio-cells = <2>;

			ralink,gpio-base = <72>;
			ralink,num-gpios = <1>;
			ralink,register-map = [ 00 04 08 0c
						10 14 18 1c
						20 24 ];

			status = "disabled";
		};

		spi0: spi@b00 {
			compatible = "ralink,mt7620a-spi", "ralink,rt2880-spi";
			reg = <0xb00 0x40>;

			resets = <&rstctrl 18>;
			reset-names = "spi";

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

			status = "disabled";

			pinctrl-names = "default";
			pinctrl-0 = <&spi_pins>;
		};

		spi1: spi@b40 {
			compatible = "ralink,rt2880-spi";
			reg = <0xb40 0x60>;

			resets = <&rstctrl 18>;
			reset-names = "spi";

			#address-cells = <1>;
			#size-cells = <1>;

			status = "disabled";

			pinctrl-names = "default";
			pinctrl-0 = <&spi_cs1>;
		};

		uartlite: uartlite@c00 {
			compatible = "ralink,mt7620a-uart", "ralink,rt2880-uart", "ns16550a";
			reg = <0xc00 0x100>;

			resets = <&rstctrl 19>;
			reset-names = "uartl";

			interrupt-parent = <&intc>;
			interrupts = <12>;

			reg-shift = <2>;

			pinctrl-names = "default";
			pinctrl-0 = <&uartlite_pins>;
		};

		systick@d00 {
			compatible = "ralink,mt7620a-systick", "ralink,cevt-systick";
			reg = <0xd00 0x10>;

			resets = <&rstctrl 28>;
			reset-names = "intc";

			interrupt-parent = <&cpuintc>;
			interrupts = <7>;
		};
	};

	pinctrl {
		compatible = "ralink,rt2880-pinmux";
		pinctrl-names = "default";
		pinctrl-0 = <&state_default>;

		state_default: pinctrl0 {
		};

		spi_pins: spi {
			spi {
				ralink,group = "spi";
				ralink,function = "spi";
			};
		};

		spi_cs1: spi1 {
			spi1 {
				ralink,group = "spi_cs1";
				ralink,function = "spi_cs1";
			};
		};

		uartlite_pins: uartlite {
			uart {
				ralink,group = "uartlite";
				ralink,function = "uartlite";
			};
		};
	};

	rstctrl: rstctrl {
		compatible = "ralink,mt7620a-reset", "ralink,rt2880-reset";
		#reset-cells = <1>;
	};

	usbphy: usbphy {
		compatible = "mediatek,mt7620-usbphy";
		#phy-cells = <1>;

		resets = <&rstctrl 22 &rstctrl 25>;
		reset-names = "host", "device";
	};

	ethernet@10100000 {
		compatible = "mediatek,mt7620-eth";
		reg = <0x10100000 0x10000>;

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

		interrupt-parent = <&cpuintc>;
		interrupts = <5>;

		resets = <&rstctrl 21 &rstctrl 23>;
		reset-names = "fe", "esw";

		mediatek,switch = <&gsw>;

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

			status = "disabled";
		};
	};

	gsw: gsw@10110000 {
		compatible = "mediatek,mt7620-gsw";
		reg = <0x10110000 0x8000>;

		resets = <&rstctrl 23>;
		reset-names = "esw";

		interrupt-parent = <&intc>;
		interrupts = <17>;
		mediatek,port4 = "gmac";
	};

	ehci@101c0000 {
		compatible = "generic-ehci";
		reg = <0x101c0000 0x1000>;

		interrupt-parent = <&intc>;
		interrupts = <18>;

		phys = <&usbphy 1>;
		phy-names = "usb";

		status = "disabled";
	};

	ohci@101c1000 {
		compatible = "generic-ohci";
		reg = <0x101c1000 0x1000>;

		phys = <&usbphy 1>;
		phy-names = "usb";

		interrupt-parent = <&intc>;
		interrupts = <18>;

		status = "disabled";
	};

	wmac@10180000 {
		compatible = "ralink,rt7620-wmac", "ralink,rt2880-wmac";
		reg = <0x10180000 0x40000>;

		interrupt-parent = <&cpuintc>;
		interrupts = <6>;

		ralink,eeprom = "soc_wmac.eeprom";
	};
};