summaryrefslogtreecommitdiffstats
path: root/arch/arm/boot/dts/armada-370-netgear-rn102.dts
blob: 56634803e16b804e832f9bd5794f6d4d2380edf6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
config VIDEO_TM6000
	tristate "TV Master TM5600/6000/6010 driver"
	depends on VIDEO_DEV && I2C && INPUT && RC_CORE && USB && EXPERIMENTAL
	select VIDEO_TUNER
	select MEDIA_TUNER_XC2028
	select MEDIA_TUNER_XC5000
	select VIDEOBUF_VMALLOC
	help
	  Support for TM5600/TM6000/TM6010 USB Device

	  Since these cards have no MPEG decoder onboard, they transmit
	  only compressed MPEG data over the usb bus, so you need
	  an external software decoder to watch TV on your computer.

	  Say Y if you own such a device and want to use it.

config VIDEO_TM6000_ALSA
	tristate "TV Master TM5600/6000/6010 audio support"
	depends on VIDEO_TM6000 && SND && EXPERIMENTAL
	select SND_PCM
	---help---
	  This is a video4linux driver for direct (DMA) audio for
	  TM5600/TM6000/TM6010 USB Devices.

	  To compile this driver as a module, choose M here: the
	  module will be called tm6000-alsa.

config VIDEO_TM6000_DVB
	tr
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Device Tree file for NETGEAR ReadyNAS 102
 *
 * Copyright (C) 2013, Arnaud EBALARD <arno@natisbad.org>
 */

/dts-v1/;

#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include "armada-370.dtsi"

/ {
	model = "NETGEAR ReadyNAS 102";
	compatible = "netgear,readynas-102", "marvell,armada370", "marvell,armada-370-xp";

	chosen {
		stdout-path = "serial0:115200n8";
	};

	memory@0 {
		device_type = "memory";
		reg = <0x00000000 0x20000000>; /* 512 MB */
	};

	soc {
		ranges = <MBUS_ID(0xf0, 0x01) 0 0xd0000000 0x100000
			  MBUS_ID(0x01, 0xe0) 0 0xfff00000 0x100000
			  MBUS_ID(0x09, 0x01) 0 0xf1100000 0x10000>;

		internal-regs {

			/* RTC is provided by Intersil ISL12057 I2C RTC chip */
			rtc@10300 {
				status = "disabled";
			};

			serial@12000 {
				status = "okay";
			};

			/* eSATA interface */
			sata@a0000 {
				nr-ports = <1>;
				status = "okay";
			};

			ethernet@74000 {
				pinctrl-0 = <&ge1_rgmii_pins>;
				pinctrl-names = "default";
				status = "okay";
				phy = <&phy0>;
				phy-mode = "rgmii-id";
			};

			usb@50000 {
				status = "okay";
			};

			i2c@11000 {
				clock-frequency = <100000>;

				pinctrl-0 = <&i2c0_pins>;
				pinctrl-names = "default";

				status = "okay";

				isl12057: rtc@68 {
					compatible = "isil,isl12057";
					reg = <0x68>;
					wakeup-source;
				};

				g762: g762@3e {
					compatible = "gmt,g762";
					reg = <0x3e>;
					clocks = <&g762_clk>; /* input clock */
					fan_gear_mode = <0>;
					fan_startv = <1>;
					pwm_polarity = <0>;
				};
			};

			nand@d0000 {
				status = "okay";
				num-cs = <1>;
				marvell,nand-keep-config;
				marvell,nand-enable-arbiter;
				nand-on-flash-bbt;

				/* Use Hardware BCH ECC */
				nand-ecc-strength = <4>;
				nand-ecc-step-size = <512>;

				partition@0 {
					label = "u-boot";
					reg = <0x0000000 0x180000>;  /* 1.5MB */
					read-only;
				};

				partition@180000 {
					label = "u-boot-env";
					reg = <0x180000 0x20000>;    /* 128KB */
					read-only;
				};

				partition@200000 {
					label = "uImage";
					reg = <0x0200000 0x600000>;    /* 6MB */
				};

				partition@800000 {
					label = "minirootfs";
					reg = <0x0800000 0x400000>;    /* 4MB */
				};

				/* Last MB is for the BBT, i.e. not writable */
				partition@c00000 {
					label = "ubifs";
					reg = <0x0c00000 0x7400000>; /* 116MB */
				};
			};
		};
	};

	clocks {
	       g762_clk: g762-oscillator {
			 compatible = "fixed-clock";
			 #clock-cells = <0>;
			 clock-frequency = <8192>;
	       };
	};

	gpio-leds {
		compatible = "gpio-leds";
		pinctrl-0 = <&power_led_pin
			     &sata1_led_pin
			     &sata2_led_pin
			     &backup_led_pin>;
		pinctrl-names = "default";

		blue-power-led {
			label = "rn102:blue:pwr";
			gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
			default-state = "keep";
		};

		blue-sata1-led {
			label = "rn102:blue:sata1";
			gpios = <&gpio0 15 GPIO_ACTIVE_LOW>;
			default-state = "on";
		};

		blue-sata2-led {
			label = "rn102:blue:sata2";
			gpios = <&gpio0 14 GPIO_ACTIVE_LOW>;
			default-state = "on";
		};

		blue-backup-led {
			label = "rn102:blue:backup";
			gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
			default-state = "on";
		};
	};

	gpio-keys {
		compatible = "gpio-keys";
		pinctrl-0 = <&power_button_pin
			     &reset_button_pin
			     &backup_button_pin>;
		pinctrl-names = "default";

		power-button {
			label = "Power Button";
			linux,code = <KEY_POWER>;
			gpios = <&gpio1 30 GPIO_ACTIVE_HIGH>;
		};

		reset-button {
			label = "Reset Button";
			linux,code = <KEY_RESTART>;
			gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
		};

		backup-button {
			label = "Backup Button";
			linux,code = <KEY_COPY>;
			gpios = <&gpio1 26 GPIO_ACTIVE_LOW>;
		};
	};

	gpio-poweroff {
		compatible = "gpio-poweroff";
		pinctrl-0 = <&poweroff>;
		pinctrl-names = "default";
		gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
	};
};

&pciec {
	status = "okay";

	/* Connected to Marvell 88SE9170 SATA controller */
	pcie@1,0 {
		/* Port 0, Lane 0 */
		status = "okay";
	};

	/* Connected to FL1009 USB 3.0 controller */
	pcie@2,0 {
		/* Port 1, Lane 0 */
		status = "okay";
	};
};

&mdio {
	pinctrl-0 = <&mdio_pins>;
	pinctrl-names = "default";
	phy0: ethernet-phy@0 { /* Marvell 88E1318 */
		reg = <0>;
	};
};

&pinctrl {
	power_led_pin: power-led-pin {
		marvell,pins = "mpp57";
		marvell,function = "gpio";
	};

	sata1_led_pin: sata1-led-pin {
		marvell,pins = "mpp15";
		marvell,function = "gpio";
	};

	sata2_led_pin: sata2-led-pin {
		marvell,pins = "mpp14";
		marvell,function = "gpio";
	};

	backup_led_pin: backup-led-pin {
		marvell,pins = "mpp56";
		marvell,function = "gpio";
	};

	backup_button_pin: backup-button-pin {
		marvell,pins = "mpp58";
		marvell,function = "gpio";
	};

	power_button_pin: power-button-pin {
		marvell,pins = "mpp62";
		marvell,function = "gpio";
	};

	reset_button_pin: reset-button-pin {
		marvell,pins = "mpp6";
		marvell,function = "gpio";
	};

	poweroff: poweroff {
		marvell,pins = "mpp8";
		marvell,function = "gpio";
	};
};