162306a36Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Device Tree common file for kirkwood based Buffalo Linkstation
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2015, 2016
662306a36Sopenharmony_ci * Roger Shimizu <rogershimizu@gmail.com>
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci/ {
1062306a36Sopenharmony_ci	chosen {
1162306a36Sopenharmony_ci		bootargs = "console=ttyS0,115200n8 earlyprintk";
1262306a36Sopenharmony_ci		stdout-path = &uart0;
1362306a36Sopenharmony_ci	};
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci	ocp@f1000000 {
1662306a36Sopenharmony_ci		pinctrl: pin-controller@10000 {
1762306a36Sopenharmony_ci			pmx_power_hdd0: pmx-power-hdd0 {
1862306a36Sopenharmony_ci				marvell,function = "gpio";
1962306a36Sopenharmony_ci			};
2062306a36Sopenharmony_ci			pmx_usb_vbus: pmx-usb-vbus {
2162306a36Sopenharmony_ci				marvell,function = "gpio";
2262306a36Sopenharmony_ci			};
2362306a36Sopenharmony_ci			pmx_led_alarm: pmx-led-alarm {
2462306a36Sopenharmony_ci				marvell,function = "gpio";
2562306a36Sopenharmony_ci			};
2662306a36Sopenharmony_ci			pmx_led_function_red: pmx-led-function-red {
2762306a36Sopenharmony_ci				marvell,function = "gpio";
2862306a36Sopenharmony_ci			};
2962306a36Sopenharmony_ci			pmx_led_function_blue: pmx-led-function-blue {
3062306a36Sopenharmony_ci				marvell,function = "gpio";
3162306a36Sopenharmony_ci			};
3262306a36Sopenharmony_ci			pmx_led_info: pmx-led-info {
3362306a36Sopenharmony_ci				marvell,function = "gpio";
3462306a36Sopenharmony_ci			};
3562306a36Sopenharmony_ci			pmx_led_power: pmx-led-power {
3662306a36Sopenharmony_ci				marvell,function = "gpio";
3762306a36Sopenharmony_ci			};
3862306a36Sopenharmony_ci			pmx_button_function: pmx-button-function {
3962306a36Sopenharmony_ci				marvell,function = "gpio";
4062306a36Sopenharmony_ci			};
4162306a36Sopenharmony_ci			pmx_power_switch: pmx-power-switch {
4262306a36Sopenharmony_ci				marvell,function = "gpio";
4362306a36Sopenharmony_ci			};
4462306a36Sopenharmony_ci			pmx_power_auto_switch: pmx-power-auto-switch {
4562306a36Sopenharmony_ci				marvell,function = "gpio";
4662306a36Sopenharmony_ci			};
4762306a36Sopenharmony_ci		};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci		serial@12000 {
5062306a36Sopenharmony_ci			status = "okay";
5162306a36Sopenharmony_ci		};
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci		sata@80000 {
5462306a36Sopenharmony_ci			status = "okay";
5562306a36Sopenharmony_ci			nr-ports = <1>;
5662306a36Sopenharmony_ci		};
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci		spi@10600 {
5962306a36Sopenharmony_ci			status = "okay";
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci			m25p40@0 {
6262306a36Sopenharmony_ci				#address-cells = <1>;
6362306a36Sopenharmony_ci				#size-cells = <1>;
6462306a36Sopenharmony_ci				compatible = "st,m25p40", "jedec,spi-nor";
6562306a36Sopenharmony_ci				reg = <0>;
6662306a36Sopenharmony_ci				spi-max-frequency = <25000000>;
6762306a36Sopenharmony_ci				mode = <0>;
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci				partition@0 {
7062306a36Sopenharmony_ci					reg = <0x0 0x60000>;
7162306a36Sopenharmony_ci					label = "uboot";
7262306a36Sopenharmony_ci					read-only;
7362306a36Sopenharmony_ci				};
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci				partition@60000 {
7662306a36Sopenharmony_ci					reg = <0x60000 0x10000>;
7762306a36Sopenharmony_ci					label = "dtb";
7862306a36Sopenharmony_ci					read-only;
7962306a36Sopenharmony_ci				};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci				partition@70000 {
8262306a36Sopenharmony_ci					reg = <0x70000 0x10000>;
8362306a36Sopenharmony_ci					label = "uboot_env";
8462306a36Sopenharmony_ci				};
8562306a36Sopenharmony_ci			};
8662306a36Sopenharmony_ci		};
8762306a36Sopenharmony_ci	};
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci	gpio_keys {
9062306a36Sopenharmony_ci		compatible = "gpio-keys";
9162306a36Sopenharmony_ci		#address-cells = <1>;
9262306a36Sopenharmony_ci		#size-cells = <0>;
9362306a36Sopenharmony_ci		pinctrl-0 = <&pmx_button_function &pmx_power_switch
9462306a36Sopenharmony_ci			     &pmx_power_auto_switch>;
9562306a36Sopenharmony_ci		pinctrl-names = "default";
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci		function-button {
9862306a36Sopenharmony_ci			label = "Function Button";
9962306a36Sopenharmony_ci			linux,code = <KEY_OPTION>;
10062306a36Sopenharmony_ci		};
10162306a36Sopenharmony_ci
10262306a36Sopenharmony_ci		power-on-switch {
10362306a36Sopenharmony_ci			label = "Power-on Switch";
10462306a36Sopenharmony_ci			linux,code = <KEY_RESERVED>;
10562306a36Sopenharmony_ci			linux,input-type = <5>;
10662306a36Sopenharmony_ci		};
10762306a36Sopenharmony_ci
10862306a36Sopenharmony_ci		power-auto-switch {
10962306a36Sopenharmony_ci			label = "Power-auto Switch";
11062306a36Sopenharmony_ci			linux,code = <KEY_ESC>;
11162306a36Sopenharmony_ci			linux,input-type = <5>;
11262306a36Sopenharmony_ci		};
11362306a36Sopenharmony_ci	};
11462306a36Sopenharmony_ci
11562306a36Sopenharmony_ci	gpio_leds {
11662306a36Sopenharmony_ci		compatible = "gpio-leds";
11762306a36Sopenharmony_ci		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
11862306a36Sopenharmony_ci			     &pmx_led_info &pmx_led_power
11962306a36Sopenharmony_ci			     &pmx_led_function_blue>;
12062306a36Sopenharmony_ci		pinctrl-names = "default";
12162306a36Sopenharmony_ci	};
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci	restart_poweroff {
12462306a36Sopenharmony_ci		compatible = "restart-poweroff";
12562306a36Sopenharmony_ci	};
12662306a36Sopenharmony_ci
12762306a36Sopenharmony_ci	regulators {
12862306a36Sopenharmony_ci		compatible = "simple-bus";
12962306a36Sopenharmony_ci		#address-cells = <1>;
13062306a36Sopenharmony_ci		#size-cells = <0>;
13162306a36Sopenharmony_ci		pinctrl-0 = <&pmx_power_hdd0 &pmx_usb_vbus>;
13262306a36Sopenharmony_ci		pinctrl-names = "default";
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci		usb_power: regulator@1 {
13562306a36Sopenharmony_ci			compatible = "regulator-fixed";
13662306a36Sopenharmony_ci			reg = <1>;
13762306a36Sopenharmony_ci			regulator-name = "USB Power";
13862306a36Sopenharmony_ci			regulator-min-microvolt = <5000000>;
13962306a36Sopenharmony_ci			regulator-max-microvolt = <5000000>;
14062306a36Sopenharmony_ci			enable-active-high;
14162306a36Sopenharmony_ci			regulator-always-on;
14262306a36Sopenharmony_ci			regulator-boot-on;
14362306a36Sopenharmony_ci		};
14462306a36Sopenharmony_ci
14562306a36Sopenharmony_ci		hdd_power0: regulator@2 {
14662306a36Sopenharmony_ci			compatible = "regulator-fixed";
14762306a36Sopenharmony_ci			reg = <2>;
14862306a36Sopenharmony_ci			regulator-name = "HDD0 Power";
14962306a36Sopenharmony_ci			regulator-min-microvolt = <5000000>;
15062306a36Sopenharmony_ci			regulator-max-microvolt = <5000000>;
15162306a36Sopenharmony_ci			enable-active-high;
15262306a36Sopenharmony_ci			regulator-always-on;
15362306a36Sopenharmony_ci			regulator-boot-on;
15462306a36Sopenharmony_ci		};
15562306a36Sopenharmony_ci	};
15662306a36Sopenharmony_ci};
15762306a36Sopenharmony_ci
15862306a36Sopenharmony_ci&pciec {
15962306a36Sopenharmony_ci	status = "okay";
16062306a36Sopenharmony_ci};
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci&pcie0 {
16362306a36Sopenharmony_ci	status = "okay";
16462306a36Sopenharmony_ci};
165