Gemini DTS updates, take one

-----BEGIN PGP SIGNATURE-----
 
 iQIcBAABAgAGBQJaNXUrAAoJEEEQszewGV1zLPEP/0QQ9i4UCR+hglmUOPHAe1eu
 h9HccxmtqzWOKWcknBoL5DtM7gHhTLW1ty9yCs4vKwzUevr+NJNenqTlkDnKcQV4
 /mxYePPnkDB6o26pg0CZOaCi5w1q54R9gOa9QNDomNSG+iOsZwdjOUBUIURe1xmU
 eekOBT++cmHK56D2/lHZxXNy15/P1B0KmXRUYtORDWKy9cqgYhREAAHGBCL5vTBM
 skIze8zkb1VZ34rWLfJwxoXnMOGCpGO+EN6xQRZOuxRYwys5Hfjl/5WcHo/Mvk8H
 lgiLCtF2K+l6MVc8qAuDFsUlyZvKSTPxBVdx4nlRiCJ+s0nbAOdtS2wsEoRNTC70
 DcbYsuO+K4Sfmn8rAUAAnQXlFDVxZQuoZb3+pxl5TugktSVJN38hdcp76k9XnGt8
 6DjU/kuUbOR2mjQqF6xNUxT83rEm0/MlmH2yGgTlIXCRz7LUATGODjWIO7QwX0gO
 kyLT191VajQM6ewD4TLpVbapwatyEskYIDZ86oUdP3uIsut51hZbKELBmJt/bFes
 8ys5Gd6VMZT7bI/P4DOWCVfASNgnAP4duvTQJS1VA1H1iyG7Rv+7OEPICqa+5ytD
 50DcG3iwfVJEMsf7NmOoHNVLakKFSdSIue8xP4HdnbL9JaTWx70LlYAXckerN+nO
 qAXFGpNrpATM8TUvfy5y
 =10ji
 -----END PGP SIGNATURE-----

Merge tag 'gemni-dts-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/dt

Gemini DTS updates, take one

* tag 'gemni-dts-1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: Add basic devicetree for D-Link DNS-313
  ARM: dts: Add ethernet PHYs to the a bunch of Geminis
This commit is contained in:
Arnd Bergmann 2017-12-21 17:40:35 +01:00
commit ffe42395e4
6 changed files with 299 additions and 0 deletions

View File

@ -190,6 +190,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \
exynos5800-peach-pi.dtb
dtb-$(CONFIG_ARCH_GEMINI) += \
gemini-dlink-dir-685.dtb \
gemini-dlink-dns-313.dtb \
gemini-nas4220b.dtb \
gemini-rut1xx.dtb \
gemini-sq201.dtb \

View File

@ -0,0 +1,241 @@
// SPDX-License-Identifier: GPL-2.0
/*
* Device Tree file for D-Link DNS-313 1-Bay Network Storage Enclosure
*/
/dts-v1/;
#include "gemini.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/thermal/thermal.h>
/ {
model = "D-Link DNS-313 1-Bay Network Storage Enclosure";
compatible = "dlink,dir-313", "cortina,gemini";
#address-cells = <1>;
#size-cells = <1>;
memory {
/* 64 MB SDRAM in a Nanya NT5DS32M16BS-6K package */
device_type = "memory";
reg = <0x00000000 0x4000000>;
};
aliases {
mdio-gpio0 = &mdio0;
};
chosen {
stdout-path = "uart0:19200n8";
};
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
button-esc {
debounce_interval = <50>;
wakeup-source;
linux,code = <KEY_ESC>;
label = "reset";
gpios = <&gpio1 31 GPIO_ACTIVE_LOW>;
};
};
leds {
compatible = "gpio-leds";
led-power {
label = "dns313:blue:power";
gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
default-state = "on";
linux,default-trigger = "heartbeat";
};
led-disk-blue {
label = "dns313:blue:disk";
gpios = <&gpio0 2 GPIO_ACTIVE_HIGH>;
default-state = "off";
};
led-disk-green {
label = "dns313:green:disk";
gpios = <&gpio0 3 GPIO_ACTIVE_HIGH>;
default-state = "off";
linux,default-trigger = "ide-disk";
/* Ideally should activate while reading */
};
led-disk-red {
label = "dns313:red:disk";
gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
default-state = "off";
/* Ideally should activate while writing */
};
};
/*
* This is a ADDA AD0405GB-G73 fan @3000 and 6000 RPM.
*/
fan0: gpio-fan {
compatible = "gpio-fan";
gpios = <&gpio0 11 GPIO_ACTIVE_HIGH>,
<&gpio0 12 GPIO_ACTIVE_HIGH>;
gpio-fan,speed-map = <0 0>, <3000 1>, <6000 2>;
cooling-min-level = <0>;
cooling-max-level = <2>;
#cooling-cells = <2>;
};
/* Global Mixed-Mode Technology G751 mounted on GPIO I2C */
gpio-i2c {
compatible = "i2c-gpio";
sda-gpios = <&gpio0 15 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
scl-gpios = <&gpio0 16 (GPIO_ACTIVE_HIGH|GPIO_OPEN_DRAIN)>;
#address-cells = <1>;
#size-cells = <0>;
g751: temperature-sensor@48 {
compatible = "gmt,g751";
reg = <0x48>;
#thermal-sensor-cells = <0>;
};
};
thermal-zones {
chassis-thermal {
/* Poll every 20 seconds */
polling-delay = <20000>;
/* Poll every 2nd second when cooling */
polling-delay-passive = <2000>;
thermal-sensors = <&g751>;
/* Tripping points from the fan.script in the rootfs */
trips {
chassis_alert0: chassis-alert0 {
/* At 43 degrees turn on low speed */
temperature = <43000>;
hysteresis = <3000>;
type = "active";
};
chassis_alert1: chassis-alert1 {
/* At 47 degrees turn on high speed */
temperature = <47000>;
hysteresis = <3000>;
type = "active";
};
chassis_crit: chassis-crit {
/* Just shut down at 60 degrees */
temperature = <60000>;
hysteresis = <2000>;
type = "critical";
};
};
cooling-maps {
map0 {
trip = <&chassis_alert0>;
cooling-device = <&fan0 1 1>;
};
map1 {
trip = <&chassis_alert1>;
cooling-device = <&fan0 2 2>;
};
};
};
};
mdio0: ethernet-phy {
compatible = "virtual,mdio-gpio";
/* Uses MDC and MDIO */
gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
<&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
#address-cells = <1>;
#size-cells = <0>;
/* This is a Realtek RTL8211B Gigabit ethernet transceiver */
phy0: ethernet-phy@1 {
reg = <1>;
device_type = "ethernet-phy";
};
};
soc {
flash@30000000 {
status = "okay";
/* 512KB of flash */
reg = <0x30000000 0x00080000>;
/*
* This "RedBoot" is the Storlink derivative.
*/
partition@0 {
label = "RedBoot";
reg = <0x00000000 0x00040000>;
read-only;
};
partition@40000 {
label = "MTD1";
reg = <0x00040000 0x00020000>;
read-only;
};
partition@60000 {
label = "MTD2";
reg = <0x00060000 0x00020000>;
read-only;
};
};
syscon: syscon@40000000 {
pinctrl {
/*
*/
gpio0_default_pins: pinctrl-gpio0 {
mux {
function = "gpio0";
groups =
/* Used by LEDs conflicts ICE */
"gpio0bgrp",
/* Used by ? conflicts ICE */
"gpio0cgrp",
/*
* Used by fan & G751, conflicts LPC,
* UART modem lines, SSP
*/
"gpio0egrp",
/* Used by G751 */
"gpio0fgrp",
/* Used by MDIO */
"gpio0igrp";
};
};
gpio1_default_pins: pinctrl-gpio1 {
mux {
function = "gpio1";
/* Used by "reset" button */
groups = "gpio1dgrp";
};
};
};
};
sata: sata@46000000 {
/* The ROM uses this muxmode */
cortina,gemini-ata-muxmode = <3>;
cortina,gemini-enable-sata-bridge;
status = "okay";
};
gpio0: gpio@4d000000 {
pinctrl-names = "default";
pinctrl-0 = <&gpio0_default_pins>;
};
gpio1: gpio@4e000000 {
pinctrl-names = "default";
pinctrl-0 = <&gpio1_default_pins>;
};
ata@63000000 {
status = "okay";
};
};
};

View File

@ -64,6 +64,19 @@
};
};
mdio0: ethernet-phy {
compatible = "virtual,mdio-gpio";
gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
<&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@1 {
reg = <1>;
device_type = "ethernet-phy";
};
};
soc {
flash@30000000 {
status = "okay";

View File

@ -58,6 +58,19 @@
};
};
mdio0: ethernet-phy {
compatible = "virtual,mdio-gpio";
gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
<&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@1 {
reg = <1>;
device_type = "ethernet-phy";
};
};
soc {
flash@30000000 {
status = "okay";

View File

@ -69,6 +69,19 @@
};
};
mdio0: ethernet-phy {
compatible = "virtual,mdio-gpio";
gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
<&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@1 {
reg = <1>;
device_type = "ethernet-phy";
};
};
soc {
flash@30000000 {
status = "okay";

View File

@ -69,6 +69,24 @@
};
};
mdio0: ethernet-phy {
compatible = "virtual,mdio-gpio";
gpios = <&gpio0 22 GPIO_ACTIVE_HIGH>, /* MDC */
<&gpio0 21 GPIO_ACTIVE_HIGH>; /* MDIO */
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@1 {
reg = <1>;
device_type = "ethernet-phy";
};
phy1: ethernet-phy@3 {
reg = <3>;
device_type = "ethernet-phy";
};
};
soc {
flash@30000000 {
status = "okay";