mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-26 20:44:32 +08:00
14fd8ed0a7
Now that mbus has been added to the device tree, it's possible to move the PCIe nodes out of internal registers, placing it directly below the mbus. This is a more accurate representation of the hardware. Moving the PCIe nodes, we now need to introduce an extra cell to encode the window target ID and attribute. Since this depends on the PCIe port, we split the ranges translation entries, to correspond to each MBus window. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com> Tested-by: Andrew Lunn <andrew@lunn.ch> Tested-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
145 lines
2.7 KiB
Plaintext
145 lines
2.7 KiB
Plaintext
/*
|
|
* Device Tree file for Globalscale Mirabox
|
|
*
|
|
* Gregory CLEMENT <gregory.clement@free-electrons.com>
|
|
*
|
|
* This file is licensed under the terms of the GNU General Public
|
|
* License version 2. This program is licensed "as is" without any
|
|
* warranty of any kind, whether express or implied.
|
|
*/
|
|
|
|
/dts-v1/;
|
|
#include "armada-370.dtsi"
|
|
|
|
/ {
|
|
model = "Globalscale Mirabox";
|
|
compatible = "globalscale,mirabox", "marvell,armada370", "marvell,armada-370-xp";
|
|
|
|
chosen {
|
|
bootargs = "console=ttyS0,115200 earlyprintk";
|
|
};
|
|
|
|
memory {
|
|
device_type = "memory";
|
|
reg = <0x00000000 0x20000000>; /* 512 MB */
|
|
};
|
|
|
|
soc {
|
|
ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
|
|
MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000>;
|
|
|
|
pcie-controller {
|
|
status = "okay";
|
|
|
|
/* Internal mini-PCIe connector */
|
|
pcie@1,0 {
|
|
/* Port 0, Lane 0 */
|
|
status = "okay";
|
|
};
|
|
|
|
/* Connected on the PCB to a USB 3.0 XHCI controller */
|
|
pcie@2,0 {
|
|
/* Port 1, Lane 0 */
|
|
status = "okay";
|
|
};
|
|
};
|
|
|
|
internal-regs {
|
|
serial@12000 {
|
|
clock-frequency = <200000000>;
|
|
status = "okay";
|
|
};
|
|
timer@20300 {
|
|
clock-frequency = <600000000>;
|
|
status = "okay";
|
|
};
|
|
|
|
pinctrl {
|
|
pwr_led_pin: pwr-led-pin {
|
|
marvell,pins = "mpp63";
|
|
marvell,function = "gpo";
|
|
};
|
|
|
|
stat_led_pins: stat-led-pins {
|
|
marvell,pins = "mpp64", "mpp65";
|
|
marvell,function = "gpio";
|
|
};
|
|
};
|
|
|
|
gpio_leds {
|
|
compatible = "gpio-leds";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&pwr_led_pin &stat_led_pins>;
|
|
|
|
green_pwr_led {
|
|
label = "mirabox:green:pwr";
|
|
gpios = <&gpio1 31 1>;
|
|
linux,default-trigger = "heartbeat";
|
|
};
|
|
|
|
blue_stat_led {
|
|
label = "mirabox:blue:stat";
|
|
gpios = <&gpio2 0 1>;
|
|
linux,default-trigger = "cpu0";
|
|
};
|
|
|
|
green_stat_led {
|
|
label = "mirabox:green:stat";
|
|
gpios = <&gpio2 1 1>;
|
|
default-state = "off";
|
|
};
|
|
};
|
|
|
|
mdio {
|
|
phy0: ethernet-phy@0 {
|
|
reg = <0>;
|
|
};
|
|
|
|
phy1: ethernet-phy@1 {
|
|
reg = <1>;
|
|
};
|
|
};
|
|
ethernet@70000 {
|
|
status = "okay";
|
|
phy = <&phy0>;
|
|
phy-mode = "rgmii-id";
|
|
};
|
|
ethernet@74000 {
|
|
status = "okay";
|
|
phy = <&phy1>;
|
|
phy-mode = "rgmii-id";
|
|
};
|
|
|
|
mvsdio@d4000 {
|
|
pinctrl-0 = <&sdio_pins3>;
|
|
pinctrl-names = "default";
|
|
status = "okay";
|
|
/*
|
|
* No CD or WP GPIOs: SDIO interface used for
|
|
* Wifi/Bluetooth chip
|
|
*/
|
|
broken-cd;
|
|
};
|
|
|
|
usb@50000 {
|
|
status = "okay";
|
|
};
|
|
|
|
usb@51000 {
|
|
status = "okay";
|
|
};
|
|
|
|
i2c@11000 {
|
|
status = "okay";
|
|
clock-frequency = <100000>;
|
|
pca9505: pca9505@25 {
|
|
compatible = "nxp,pca9505";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
reg = <0x25>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|