xref: /openbmc/u-boot/arch/mips/dts/brcm,bcm6338.dtsi (revision fd0135e3c54c391b6143f85440e30d576a9a83fe)
183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
207661e7fSÁlvaro Fernández Rojas/*
307661e7fSÁlvaro Fernández Rojas * Copyright (C) 2017 Álvaro Fernández Rojas <noltari@gmail.com>
407661e7fSÁlvaro Fernández Rojas */
507661e7fSÁlvaro Fernández Rojas
607661e7fSÁlvaro Fernández Rojas#include <dt-bindings/clock/bcm6338-clock.h>
79ab403d0SÁlvaro Fernández Rojas#include <dt-bindings/dma/bcm6338-dma.h>
807661e7fSÁlvaro Fernández Rojas#include <dt-bindings/gpio/gpio.h>
907661e7fSÁlvaro Fernández Rojas#include <dt-bindings/reset/bcm6338-reset.h>
1007661e7fSÁlvaro Fernández Rojas#include "skeleton.dtsi"
1107661e7fSÁlvaro Fernández Rojas
1207661e7fSÁlvaro Fernández Rojas/ {
1307661e7fSÁlvaro Fernández Rojas	compatible = "brcm,bcm6338";
1407661e7fSÁlvaro Fernández Rojas
150adfb199SÁlvaro Fernández Rojas	aliases {
160adfb199SÁlvaro Fernández Rojas		spi0 = &spi;
170adfb199SÁlvaro Fernández Rojas	};
180adfb199SÁlvaro Fernández Rojas
1907661e7fSÁlvaro Fernández Rojas	cpus {
2007661e7fSÁlvaro Fernández Rojas		reg = <0xfffe0000 0x4>;
2107661e7fSÁlvaro Fernández Rojas		#address-cells = <1>;
2207661e7fSÁlvaro Fernández Rojas		#size-cells = <0>;
2307661e7fSÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
2407661e7fSÁlvaro Fernández Rojas
2507661e7fSÁlvaro Fernández Rojas		cpu@0 {
2607661e7fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6338-cpu", "mips,mips4Kc";
2707661e7fSÁlvaro Fernández Rojas			device_type = "cpu";
2807661e7fSÁlvaro Fernández Rojas			reg = <0>;
2907661e7fSÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
3007661e7fSÁlvaro Fernández Rojas		};
3107661e7fSÁlvaro Fernández Rojas	};
3207661e7fSÁlvaro Fernández Rojas
3307661e7fSÁlvaro Fernández Rojas	clocks {
3407661e7fSÁlvaro Fernández Rojas		compatible = "simple-bus";
3507661e7fSÁlvaro Fernández Rojas		#address-cells = <1>;
3607661e7fSÁlvaro Fernández Rojas		#size-cells = <1>;
3707661e7fSÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
3807661e7fSÁlvaro Fernández Rojas
3907661e7fSÁlvaro Fernández Rojas		periph_osc: periph-osc {
4007661e7fSÁlvaro Fernández Rojas			compatible = "fixed-clock";
4107661e7fSÁlvaro Fernández Rojas			#clock-cells = <0>;
4207661e7fSÁlvaro Fernández Rojas			clock-frequency = <50000000>;
4307661e7fSÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
4407661e7fSÁlvaro Fernández Rojas		};
4507661e7fSÁlvaro Fernández Rojas
4607661e7fSÁlvaro Fernández Rojas		periph_clk: periph-clk {
4707661e7fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-clk";
4807661e7fSÁlvaro Fernández Rojas			reg = <0xfffe0004 0x4>;
4907661e7fSÁlvaro Fernández Rojas			#clock-cells = <1>;
5007661e7fSÁlvaro Fernández Rojas		};
5107661e7fSÁlvaro Fernández Rojas	};
5207661e7fSÁlvaro Fernández Rojas
5307661e7fSÁlvaro Fernández Rojas	pflash: nor@1fc00000 {
5407661e7fSÁlvaro Fernández Rojas		compatible = "cfi-flash";
5507661e7fSÁlvaro Fernández Rojas		reg = <0x1fc00000 0x400000>;
5607661e7fSÁlvaro Fernández Rojas		bank-width = <2>;
5707661e7fSÁlvaro Fernández Rojas		#address-cells = <1>;
5807661e7fSÁlvaro Fernández Rojas		#size-cells = <1>;
5907661e7fSÁlvaro Fernández Rojas
6007661e7fSÁlvaro Fernández Rojas		status = "disabled";
6107661e7fSÁlvaro Fernández Rojas	};
6207661e7fSÁlvaro Fernández Rojas
6307661e7fSÁlvaro Fernández Rojas	ubus {
6407661e7fSÁlvaro Fernández Rojas		compatible = "simple-bus";
6507661e7fSÁlvaro Fernández Rojas		#address-cells = <1>;
6607661e7fSÁlvaro Fernández Rojas		#size-cells = <1>;
6707661e7fSÁlvaro Fernández Rojas		u-boot,dm-pre-reloc;
6807661e7fSÁlvaro Fernández Rojas
6907661e7fSÁlvaro Fernández Rojas		pll_cntl: syscon@fffe0008 {
7007661e7fSÁlvaro Fernández Rojas			compatible = "syscon";
7107661e7fSÁlvaro Fernández Rojas			reg = <0xfffe0008 0x4>;
7207661e7fSÁlvaro Fernández Rojas		};
7307661e7fSÁlvaro Fernández Rojas
7407661e7fSÁlvaro Fernández Rojas		syscon-reboot {
7507661e7fSÁlvaro Fernández Rojas			compatible = "syscon-reboot";
7607661e7fSÁlvaro Fernández Rojas			regmap = <&pll_cntl>;
7707661e7fSÁlvaro Fernández Rojas			offset = <0x0>;
7807661e7fSÁlvaro Fernández Rojas			mask = <0x1>;
7907661e7fSÁlvaro Fernández Rojas		};
8007661e7fSÁlvaro Fernández Rojas
8107661e7fSÁlvaro Fernández Rojas		periph_rst: reset-controller@fffe0028 {
8207661e7fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-reset";
8307661e7fSÁlvaro Fernández Rojas			reg = <0xfffe0028 0x4>;
8407661e7fSÁlvaro Fernández Rojas			#reset-cells = <1>;
8507661e7fSÁlvaro Fernández Rojas		};
8607661e7fSÁlvaro Fernández Rojas
8707661e7fSÁlvaro Fernández Rojas		wdt: watchdog@fffe021c {
8807661e7fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-wdt";
8907661e7fSÁlvaro Fernández Rojas			reg = <0xfffe021c 0xc>;
9007661e7fSÁlvaro Fernández Rojas			clocks = <&periph_osc>;
9107661e7fSÁlvaro Fernández Rojas		};
9207661e7fSÁlvaro Fernández Rojas
9307661e7fSÁlvaro Fernández Rojas		wdt-reboot {
9407661e7fSÁlvaro Fernández Rojas			compatible = "wdt-reboot";
9507661e7fSÁlvaro Fernández Rojas			wdt = <&wdt>;
9607661e7fSÁlvaro Fernández Rojas		};
9707661e7fSÁlvaro Fernández Rojas
9807661e7fSÁlvaro Fernández Rojas		uart0: serial@fffe0300 {
9907661e7fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-uart";
10007661e7fSÁlvaro Fernández Rojas			reg = <0xfffe0300 0x18>;
10107661e7fSÁlvaro Fernández Rojas			clocks = <&periph_osc>;
10207661e7fSÁlvaro Fernández Rojas
10307661e7fSÁlvaro Fernández Rojas			status = "disabled";
10407661e7fSÁlvaro Fernández Rojas		};
10507661e7fSÁlvaro Fernández Rojas
10607661e7fSÁlvaro Fernández Rojas		gpio: gpio-controller@fffe0404 {
10707661e7fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6345-gpio";
10807661e7fSÁlvaro Fernández Rojas			reg = <0xfffe0404 0x4>, <0xfffe040c 0x4>;
10907661e7fSÁlvaro Fernández Rojas			gpio-controller;
11007661e7fSÁlvaro Fernández Rojas			#gpio-cells = <2>;
11107661e7fSÁlvaro Fernández Rojas			ngpios = <8>;
11207661e7fSÁlvaro Fernández Rojas
11307661e7fSÁlvaro Fernández Rojas			status = "disabled";
11407661e7fSÁlvaro Fernández Rojas		};
11507661e7fSÁlvaro Fernández Rojas
1160adfb199SÁlvaro Fernández Rojas		spi: spi@fffe0c00 {
1170adfb199SÁlvaro Fernández Rojas			compatible = "brcm,bcm6348-spi";
1180adfb199SÁlvaro Fernández Rojas			reg = <0xfffe0c00 0xc0>;
1190adfb199SÁlvaro Fernández Rojas			#address-cells = <1>;
1200adfb199SÁlvaro Fernández Rojas			#size-cells = <0>;
1210adfb199SÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6338_CLK_SPI>;
1220adfb199SÁlvaro Fernández Rojas			resets = <&periph_rst BCM6338_RST_SPI>;
1230adfb199SÁlvaro Fernández Rojas			spi-max-frequency = <20000000>;
1240adfb199SÁlvaro Fernández Rojas			num-cs = <4>;
1250adfb199SÁlvaro Fernández Rojas
1260adfb199SÁlvaro Fernández Rojas			status = "disabled";
1270adfb199SÁlvaro Fernández Rojas		};
1280adfb199SÁlvaro Fernández Rojas
12907661e7fSÁlvaro Fernández Rojas		memory-controller@fffe3100 {
13007661e7fSÁlvaro Fernández Rojas			compatible = "brcm,bcm6338-mc";
13107661e7fSÁlvaro Fernández Rojas			reg = <0xfffe3100 0x38>;
13207661e7fSÁlvaro Fernández Rojas			u-boot,dm-pre-reloc;
13307661e7fSÁlvaro Fernández Rojas		};
1349ab403d0SÁlvaro Fernández Rojas
1359ab403d0SÁlvaro Fernández Rojas		iudma: dma-controller@fffe2400 {
1369ab403d0SÁlvaro Fernández Rojas			compatible = "brcm,bcm6348-iudma";
1379ab403d0SÁlvaro Fernández Rojas			reg = <0xfffe2400 0x1c>,
1389ab403d0SÁlvaro Fernández Rojas			      <0xfffe2500 0x60>,
1399ab403d0SÁlvaro Fernández Rojas			      <0xfffe2600 0x60>;
1409ab403d0SÁlvaro Fernández Rojas			reg-names = "dma",
1419ab403d0SÁlvaro Fernández Rojas				    "dma-channels",
1429ab403d0SÁlvaro Fernández Rojas				    "dma-sram";
1439ab403d0SÁlvaro Fernández Rojas			#dma-cells = <1>;
1449ab403d0SÁlvaro Fernández Rojas			dma-channels = <6>;
1459ab403d0SÁlvaro Fernández Rojas			resets = <&periph_rst BCM6338_RST_DMAMEM>;
1469ab403d0SÁlvaro Fernández Rojas		};
147*d7f5bc1aSÁlvaro Fernández Rojas
148*d7f5bc1aSÁlvaro Fernández Rojas		enet: ethernet@fffe2800 {
149*d7f5bc1aSÁlvaro Fernández Rojas			compatible = "brcm,bcm6348-enet";
150*d7f5bc1aSÁlvaro Fernández Rojas			#address-cells = <1>;
151*d7f5bc1aSÁlvaro Fernández Rojas			#size-cells = <0>;
152*d7f5bc1aSÁlvaro Fernández Rojas			reg = <0xfffe2800 0x2dc>;
153*d7f5bc1aSÁlvaro Fernández Rojas			clocks = <&periph_clk BCM6338_CLK_ENET>;
154*d7f5bc1aSÁlvaro Fernández Rojas			resets = <&periph_rst BCM6338_RST_ENET>;
155*d7f5bc1aSÁlvaro Fernández Rojas			dmas = <&iudma BCM6338_DMA_ENET_RX>,
156*d7f5bc1aSÁlvaro Fernández Rojas			       <&iudma BCM6338_DMA_ENET_TX>;
157*d7f5bc1aSÁlvaro Fernández Rojas			dma-names = "rx",
158*d7f5bc1aSÁlvaro Fernández Rojas				    "tx";
159*d7f5bc1aSÁlvaro Fernández Rojas
160*d7f5bc1aSÁlvaro Fernández Rojas			status = "disabled";
161*d7f5bc1aSÁlvaro Fernández Rojas		};
16207661e7fSÁlvaro Fernández Rojas	};
16307661e7fSÁlvaro Fernández Rojas};
164