Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ffe42395 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

Merge tag 'gemni-dts-1' of...

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
parents ce541f04 dd5c0561
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 \
+241 −0
Original line number Diff line number Diff line
// 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";
		};
	};
};
+13 −0
Original line number Diff line number Diff line
@@ -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";
+13 −0
Original line number Diff line number Diff line
@@ -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";
+13 −0
Original line number Diff line number Diff line
@@ -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";
Loading