freebsd-dev/sys/boot/fdt/dts/mips/fbsd-mt7628an.dtsi
Stanislav Galabov 89f8f24077 Import Mediatek/Ralink dtsi patches against OpenWRT dtsi files
This revision suggests dtsi patches to be used with the original OpenWRT
dtsi files so we can re-use what has already been done in OpenWRT for the
Mediatek/Ralink SoCs.

The only thing that is required after importing this revision should be
the following:
1. Import OpenWRT dts/dtsi files into sys/gnu/dts/mips
2. Run the following script in sys/gnu/dts/mips:
for f in `ls [mr]t*.dtsi`; do
printf "\n#include <fbsd-$f>\n" > $f
done

This will apply our dtsi patches to OpenWRT's dtsi files and will allow us
to re-use dts/dtsi files for ~170 Mediatek/Ralink boards.

Currently our drivers are not 100% compatible with OpenWRT's dts files, but
they're compatible enough.
We can add more functionality in the future that would better leverage the
OpenWRT work as well.

Approved by:	adrian (mentor)
Sponsored by:	Smartcom - Bulgaria AD
Differential Revision:	https://reviews.freebsd.org/D5965
2016-04-15 15:36:09 +00:00

89 lines
1.7 KiB
Plaintext

/* $FreeBSD$ */
/ {
/*
* FreeBSD's stdin and stdout, so we can have a console
*/
chosen {
stdin = &uartlite;
stdout = &uartlite;
};
/*
* OpenWRT doesn't define a clock controller, but we currently need one
*/
clkctrl: cltctrl {
compatible = "ralink,rt2880-clock";
#clock-cells = <1>;
};
palmbus@10000000 {
/*
* Make palmbus compatible to our simplebus
*/
compatible = "simple-bus";
/*
* Reference uart2@e00 as uartlite, so we can address it
* within the chosen node above
*/
uartlite: uart2@e00 {
/*
* Mark uartlite as compatible to mtk,ns16550a instead
* of simply ns16550a so we can autodetect the UART
* clock
*/
compatible = "mtk,ns16550a";
};
gpio@600 {
/*
* Mark gpio as compatible to simple-bus and override
* its #size-cells and provide a default ranges property
* so we can attach instances of our mtk_gpio_v2 driver
* to it for now. Provide exactly the same resources to
* the instances of mtk_gpio_v2.
*/
compatible = "simple-bus";
ranges = <0x0 0x600 0x100>;
#size-cells = <1>;
gpio0: bank@0 {
reg = <0x0 0x100>;
interrupts = <6>;
};
gpio1: bank@1 {
reg = <0x0 0x100>;
interrupts = <6>;
};
gpio2: bank@2 {
reg = <0x0 0x100>;
interrupts = <6>;
};
};
};
usbphy: usbphy@10120000 {
clocks = <&clkctrl 22 &clkctrl 25>;
clock-names = "host", "device";
};
pcie@10140000 {
/*
* Our driver is different that OpenWRT's, so we need slightly
* different values for the reg property
*/
reg = <0x10140000 0x10000>;
/*
* Also, we need resets and clocks defined, so we can properly
* initialize the PCIe
*/
resets = <&rstctrl 26>, <&rstctrl 27>;
clocks = <&clkctrl 26>, <&clkctrl 27>;
};
};