aboutsummaryrefslogtreecommitdiffstats
path: root/doc/index.rst
blob: fef60000260d937e4e1664a6148686688c9faee6 (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
26
27
28
.. GHDL documentation master file, created by
   sphinx-quickstart on Fri Nov 20 20:33:03 2015.
   You can adapt this file completely to your liking, but it should at least
   contain the root `toctree` directive.

Welcome to GHDL's documentation!
================================

Contents:

.. toctree::
   :maxdepth: 2

   Introduction
   Starting_with_GHDL
   Invoking_GHDL
   Simulation_and_runtime
   GHDL_implementation_of_VHDL
   GHDL_implementation_of_VITAL
   Flaws_and_bugs_report
   Copyrights

Indices and tables
==================

* :ref:`genindex`
* :ref:`search`
f='#n140'>140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
/dts-v1/;

#include "danube.dtsi"

#include <dt-bindings/input/input.h>

/ {
	compatible = "arcadyan,arv7518pw", "lantiq,xway", "lantiq,danube";
	model = "Astoria Networks ARV7518PW";

	chosen {
		bootargs = "console=ttyLTQ0,115200";
	};

	aliases {
		led-boot = &power_green;
		led-failsafe = &power_red;
		led-running = &power_green;
		led-upgrade = &power_green;

		led-dsl = &dsl;
		led-internet = &online_green;
		led-usb = &led_usb;
		led-wifi = &wifi;
	};

	memory@0 {
		device_type = "memory";
		reg = <0x0 0x4000000>;
	};

	keys {
		compatible = "gpio-keys-polled";
		poll-interval = <100>;

		rfkill {
			label = "rfkill";
			gpios = <&gpio 28 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RFKILL>;
		};
		reset {
			label = "reset";
			gpios = <&gpio 30 GPIO_ACTIVE_LOW>;
			linux,code = <KEY_RESTART>;
		};
	};

	leds {
		compatible = "gpio-leds";
		power_green: power {
			label = "arv7518pw:green:power";
			gpios = <&gpio 2 GPIO_ACTIVE_LOW>;
			default-state = "keep";
		};
		dsl: dsl {
			label = "arv7518pw:green:dsl";
			gpios = <&gpio 4 GPIO_ACTIVE_LOW>;
		};
		online_green: online {
			label = "arv7518pw:green:internet";
			gpios = <&gpio 5 GPIO_ACTIVE_LOW>;
		};
		wifi: wifi {
			label = "arv7518pw:green:wlan";
			gpios = <&gpio 6 GPIO_ACTIVE_LOW>;
		};
		power_red: power2 {
			label = "arv7518pw:red:power";
			gpios = <&gpio 7 GPIO_ACTIVE_LOW>;
		};
		online2 {
			label = "arv7518pw:red:internet";
			gpios = <&gpio 8 GPIO_ACTIVE_LOW>;
		};
		led_usb: usb {
			label = "arv7518pw:green:usb";
			gpios = <&gpio 19 GPIO_ACTIVE_LOW>;
		};
		voice {
			label = "arv7518pw:green:voip";
			gpios = <&gpiomm 0 GPIO_ACTIVE_LOW>;
		};
		fxs1 {
			label = "arv7518pw:green:phone1";
			gpios = <&gpiomm 1 GPIO_ACTIVE_LOW>;
		};
		fxs2 {
			label = "arv7518pw:green:phone2";
			gpios = <&gpiomm 2 GPIO_ACTIVE_LOW>;
		};
		unlabeled {
			label = "arv7518pw:amber:unlabeled";
			gpios = <&gpiomm 3 GPIO_ACTIVE_LOW>;
		};
		wps {
			label = "arv7518pw:amber:wps";
			gpios = <&gpiomm 4 GPIO_ACTIVE_LOW>;
		};
		wps2 {
			label = "arv7518pw:green:wps";
			gpios = <&gpiomm 5 GPIO_ACTIVE_LOW>;
		};
		wps3 {
			label = "arv7518pw:red:wps";
			gpios = <&gpiomm 6 GPIO_ACTIVE_LOW>;
		};
	};
};

&gpio {
	pinctrl-names = "default";
	pinctrl-0 = <&state_default>;

	state_default: pinmux {
		ebu {
			lantiq,groups = "ebu cs1";
			lantiq,function = "ebu";
		};
		pci_rst {
			lantiq,pins = "io21";
			lantiq,pull = <2>;
			lantiq,output = <1>;
		};
		leds {
			lantiq,pins = "io2", "io4", "io5", "io6", "io7", "io8", "io19";
			lantiq,output = <1>;
		};
		keys {
			lantiq,pins = "io28", "io30";
			lantiq,output = <0>;
			lantiq,pull = <2>;
			lantiq,open-drain = <1>;
		};
	};

	usb_vbus: regulator-usb-vbus {
		compatible = "regulator-fixed";

		regulator-name = "USB_VBUS";

		regulator-min-microvolt = <5000000>;
		regulator-max-microvolt = <5000000>;

		gpio = <&gpio 14 GPIO_ACTIVE_HIGH>;
		enable-active-high;
	};
};

/*
#define SWITCH_RESET          13
*/
&gsw {
	phy-mode = "mii";
	mtd-mac-address = <&boardconfig 0x16>;
};

&localbus {
	flash@0 {
		compatible = "lantiq,nor";
		bank-width = <2>;
		reg = <0 0x0 0x2000000>;

		partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			partition@0 {
				label = "uboot";
				reg = <0x00000 0x10000>;
				read-only;
			};

			partition@10000 {
				label = "uboot_env";
				reg = <0x10000 0x10000>;
			};

			partition@20000 {
				label = "firmware";
				reg = <0x20000 0x7d0000>;
			};

			boardconfig: partition@400000 {
				label = "boardconfig";
				reg = <0x7f0000 0x10000>;
				read-only;
			};
		};
	};

	gpiomm: gpio@1 {
		compatible = "lantiq,gpio-mm";
		reg = <1 0x0 0x10 >;
		#address-cells = <1>;
		#size-cells = <1>;
		#gpio-cells = <2>;
		gpio-controller;
		lantiq,shadow = <0x0>;
	};
};

&pci0 {
	status = "okay";

	pinctrl-0 = <&pci_gnt1_pins>, <&pci_req1_pins>;
	pinctrl-names = "default";

	gpio-reset = <&gpio 21 GPIO_ACTIVE_HIGH>;
	lantiq,external-clock;
	req-mask = <0xf>;

	wifi@168c,0029 {
		compatible = "pci168c,0029";
		reg = <0x7000 0 0 0 0>;
		qca,no-eeprom; /* load from ath9k-eeprom-pci-0000:00:0e.0.bin */
		mtd-mac-address = <&boardconfig 0x16>;
		mtd-mac-address-increment = <1>;
	};
};

&usb_phy {
	status = "okay";
};

&usb {
	status = "okay";
	vbus-supply = <&usb_vbus>;
};

&vmmc {
	status = "okay";
};