Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
232 changes: 232 additions & 0 deletions arch/arm/boot/dts/xilinx/ni-fielddaq.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,232 @@
/dts-v1/;
#include <dt-bindings/interrupt-controller/irq.h>
/include/ "ni-zynq.dtsi"
/* NIDEVCODE 79FF */
/* NIDEVCODE 7943 */
/* NIDEVCODE 7941 */

/ {
model = "NI FieldDAQ";
compatible = "ni,zynq", "xlnx,zynq-7000";

/*
* This 100MHz reference clock is actually the output of a Si514;
* However, we do not declare it in the device tree because it is
* steered in usermode, and therefore we don't want a kernel driver
* to attach to it.
*/
ref100: oscillator {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <100000000>;
};

leds {
compatible = "gpio-leds";

/* "LED_USER_RED" is on GPIO1 */
status {
label = "nilrt:status:red";
gpios = <&gpio0 1 0>;
default-state = "on";
};

/* "LED_USER_GREEN" is on GPIO15 */
active {
label = "nilrt:active:green";
gpios = <&gpio0 15 0>;
default-state = "on";
};

/* "ZYNQ_LED0_P1" is on GPIO47 */
port1 {
label = "nilrt:port1:green";
gpios = <&gpio0 47 0>;
linux,default-trigger = "dsa-0:00:01:link";
};

/* "ZYNQ_LED0_P2" is on GPIO46 */
port2 {
label = "nilrt:port2:green";
gpios = <&gpio0 46 0>;
linux,default-trigger = "dsa-0:00:02:link";
};
};

gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;

/* Reset switch is on GPIO48 */
reset_sw@0 {
label = "reset_sw";
gpios = <&gpio0 48 1 /* GPIO_ACTIVE_LOW */>;
linux,code = <408>; /* KEY_RESTART */
gpio-key,wakeup;
};
};

gpio_restart {
compatible = "gpio-restart";

/* ~PS_FORCE_RESET is on GPIO44 */
gpios = <&gpio0 44 1 /* GPIO_ACTIVE_LOW */>;
priority = <200>;
};

si5351c: clock-generator@60 {
compatible = "silabs,si5351c";
reg = <0x60>;
#address-cells = <1>;
#size-cells = <0>;
#clock-cells = <1>;

clocks = <&ref100>;
clock-names = "clkin";

silabs,pll-source = <0 1>, <1 0>;
silabs,pll-frequency = <0 737280000>;

umber-btsi0 {
reg = <0>;
silabs,drive-strength = <8>;
silabs,multisynth-source = <0>;
silabs,clock-source = <0>;
silabs,disable-state = <0>;
clock-frequency = <12800000>;
};

umber-sysclk {
reg = <1>;
silabs,drive-strength = <8>;
silabs,multisynth-source = <0>;
silabs,clock-source = <0>;
silabs,disable-state = <0>;
clock-frequency = <80000000>;
};

umber-btsi1 {
reg = <2>;
silabs,drive-strength = <8>;
silabs,multisynth-source = <0>;
silabs,clock-source = <0>;
silabs,disable-state = <0>;
clock-frequency = <13107200>;
};

umber-btsi3 {
reg = <4>;
silabs,drive-strength = <8>;
silabs,multisynth-source = <0>;
silabs,clock-source = <0>;
silabs,disable-state = <0>;
clock-frequency = <10240000>;
};

umber-btsi4 {
reg = <7>;
silabs,drive-strength = <8>;
silabs,multisynth-source = <0>;
silabs,clock-source = <0>;
silabs,disable-state = <0>;
clock-frequency = <12288000>;
};
};
};

&i2c0 {
/* Override ni-zynq.dtsi; we do not have a CPLD at 0x40. */
nicpld@40 {
status = "disabled";
};

tmp451@4C {
compatible = "ti,tmp451";
reg = <0x4C>;
vcc-supply = <&regulator_vccpint>;
};
};

&gem0 {
status = "okay";
#address-cells = <0x1>;
#size-cells = <0x0>;

fixed-link {
speed = <1000>;
full-duplex;
reg = <0>;
};

mdio0: mdio {
status = "okay";
};
};

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

switch: switch@0 {
compatible = "marvell,mv88e6085";
reg = <0x0>;
status = "okay";
interrupt-parent = <&intc>;
interrupts = <45 IRQ_TYPE_LEVEL_LOW>;
interrupt-controller;
#interrupt-cells = <2>;

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

port@0 {
reg = <0>;
label = "cpu";
phy-mode = "rgmii-id";
ethernet = <&gem0>;
fixed-link {
speed = <1000>;
full-duplex;
};
};

port@1 {
reg = <1>;
label = "sw0";
phy-handle = <&swphy1>;
};

port@2 {
reg = <2>;
label = "sw1";
phy-handle = <&swphy2>;
};
};

mdio {
swphy1: ethernet-phy@11 {
reg = <0x11>;
};

swphy2: ethernet-phy@12 {
reg = <0x12>;
};
};
};
};

&uart1 {
status = "okay";
};

&usb0 {
status = "okay";
dr_mode = "host";
};

&watchdog0 {
status = "okay";
reset-on-timeout;
};
Loading