xref: /linux/scripts/dtc/include-prefixes/arm64/mediatek/pumpkin-common.dtsi (revision a7dceafed43a4a610d340da3703653cca2c50c1d)
19983822cSFabien Parent// SPDX-License-Identifier: GPL-2.0
29983822cSFabien Parent/*
39983822cSFabien Parent * Copyright (c) 2019 BayLibre, SAS.
49983822cSFabien Parent * Author: Fabien Parent <fparent@baylibre.com>
59983822cSFabien Parent */
69983822cSFabien Parent
79983822cSFabien Parent#include <dt-bindings/gpio/gpio.h>
89983822cSFabien Parent
99983822cSFabien Parent/ {
109983822cSFabien Parent	aliases {
119983822cSFabien Parent		serial0 = &uart0;
12b3f5758fSBartosz Golaszewski		ethernet0 = &ethernet;
139983822cSFabien Parent	};
149983822cSFabien Parent
159983822cSFabien Parent	chosen {
169983822cSFabien Parent		stdout-path = "serial0:921600n8";
179983822cSFabien Parent	};
189983822cSFabien Parent
199983822cSFabien Parent	firmware {
209983822cSFabien Parent		optee: optee@4fd00000 {
219983822cSFabien Parent			compatible = "linaro,optee-tz";
229983822cSFabien Parent			method = "smc";
239983822cSFabien Parent		};
249983822cSFabien Parent	};
259983822cSFabien Parent
269983822cSFabien Parent	gpio-keys {
279983822cSFabien Parent		compatible = "gpio-keys";
289983822cSFabien Parent		input-name = "gpio-keys";
299983822cSFabien Parent		pinctrl-names = "default";
309983822cSFabien Parent		pinctrl-0 = <&gpio_keys_default>;
319983822cSFabien Parent
329983822cSFabien Parent		volume-up {
339983822cSFabien Parent			gpios = <&pio 42 GPIO_ACTIVE_LOW>;
349983822cSFabien Parent			label = "volume_up";
359983822cSFabien Parent			linux,code = <115>;
369983822cSFabien Parent			wakeup-source;
379983822cSFabien Parent			debounce-interval = <15>;
389983822cSFabien Parent		};
399983822cSFabien Parent
409983822cSFabien Parent		volume-down {
419983822cSFabien Parent			gpios = <&pio 43 GPIO_ACTIVE_LOW>;
429983822cSFabien Parent			label = "volume_down";
439983822cSFabien Parent			linux,code = <114>;
449983822cSFabien Parent			wakeup-source;
459983822cSFabien Parent			debounce-interval = <15>;
469983822cSFabien Parent		};
479983822cSFabien Parent	};
489983822cSFabien Parent};
499983822cSFabien Parent
509983822cSFabien Parent&i2c0 {
519983822cSFabien Parent	clock-div = <2>;
529983822cSFabien Parent	pinctrl-names = "default";
539983822cSFabien Parent	pinctrl-0 = <&i2c0_pins_a>;
549983822cSFabien Parent	status = "okay";
559983822cSFabien Parent
569983822cSFabien Parent	tca6416: gpio@20 {
579983822cSFabien Parent		compatible = "ti,tca6416";
589983822cSFabien Parent		reg = <0x20>;
59*a7dceafeSFabien Parent		reset-gpios = <&pio 65 GPIO_ACTIVE_LOW>;
609983822cSFabien Parent		pinctrl-names = "default";
619983822cSFabien Parent		pinctrl-0 = <&tca6416_pins>;
629983822cSFabien Parent
639983822cSFabien Parent		gpio-controller;
649983822cSFabien Parent		#gpio-cells = <2>;
659983822cSFabien Parent
6687e218aeSKrzysztof Kozlowski		eint20-mux-sel0-hog {
679983822cSFabien Parent			gpio-hog;
689983822cSFabien Parent			gpios = <0 0>;
699983822cSFabien Parent			input;
709983822cSFabien Parent			line-name = "eint20_mux_sel0";
719983822cSFabien Parent		};
729983822cSFabien Parent
7387e218aeSKrzysztof Kozlowski		expcon-mux-sel1-hog {
749983822cSFabien Parent			gpio-hog;
759983822cSFabien Parent			gpios = <1 0>;
769983822cSFabien Parent			input;
779983822cSFabien Parent			line-name = "expcon_mux_sel1";
789983822cSFabien Parent		};
799983822cSFabien Parent
8087e218aeSKrzysztof Kozlowski		mrg-di-mux-sel2-hog {
819983822cSFabien Parent			gpio-hog;
829983822cSFabien Parent			gpios = <2 0>;
839983822cSFabien Parent			input;
849983822cSFabien Parent			line-name = "mrg_di_mux_sel2";
859983822cSFabien Parent		};
869983822cSFabien Parent
8787e218aeSKrzysztof Kozlowski		sd-sdio-mux-sel3-hog {
889983822cSFabien Parent			gpio-hog;
899983822cSFabien Parent			gpios = <3 0>;
909983822cSFabien Parent			input;
919983822cSFabien Parent			line-name = "sd_sdio_mux_sel3";
929983822cSFabien Parent		};
939983822cSFabien Parent
9487e218aeSKrzysztof Kozlowski		sd-sdio-mux-ctrl7-hog {
959983822cSFabien Parent			gpio-hog;
969983822cSFabien Parent			gpios = <7 0>;
979983822cSFabien Parent			output-low;
989983822cSFabien Parent			line-name = "sd_sdio_mux_ctrl7";
999983822cSFabien Parent		};
1009983822cSFabien Parent
10187e218aeSKrzysztof Kozlowski		hw-id0-hog {
1029983822cSFabien Parent			gpio-hog;
1039983822cSFabien Parent			gpios = <8 0>;
1049983822cSFabien Parent			input;
1059983822cSFabien Parent			line-name = "hw_id0";
1069983822cSFabien Parent		};
1079983822cSFabien Parent
10887e218aeSKrzysztof Kozlowski		hw-id1-hog {
1099983822cSFabien Parent			gpio-hog;
1109983822cSFabien Parent			gpios = <9 0>;
1119983822cSFabien Parent			input;
1129983822cSFabien Parent			line-name = "hw_id1";
1139983822cSFabien Parent		};
1149983822cSFabien Parent
11587e218aeSKrzysztof Kozlowski		hw-id2-hog {
1169983822cSFabien Parent			gpio-hog;
1179983822cSFabien Parent			gpios = <10 0>;
1189983822cSFabien Parent			input;
1199983822cSFabien Parent			line-name = "hw_id2";
1209983822cSFabien Parent		};
1219983822cSFabien Parent
12287e218aeSKrzysztof Kozlowski		fg-int-n-hog {
1239983822cSFabien Parent			gpio-hog;
1249983822cSFabien Parent			gpios = <11 0>;
1259983822cSFabien Parent			input;
1269983822cSFabien Parent			line-name = "fg_int_n";
1279983822cSFabien Parent		};
1289983822cSFabien Parent
12987e218aeSKrzysztof Kozlowski		usba-pwr-en-hog {
1309983822cSFabien Parent			gpio-hog;
1319983822cSFabien Parent			gpios = <12 0>;
1329983822cSFabien Parent			output-high;
1339983822cSFabien Parent			line-name = "usba_pwr_en";
1349983822cSFabien Parent		};
1359983822cSFabien Parent
13687e218aeSKrzysztof Kozlowski		wifi-3v3-pg-hog {
1379983822cSFabien Parent			gpio-hog;
1389983822cSFabien Parent			gpios = <13 0>;
1399983822cSFabien Parent			input;
1409983822cSFabien Parent			line-name = "wifi_3v3_pg";
1419983822cSFabien Parent		};
1429983822cSFabien Parent
14387e218aeSKrzysztof Kozlowski		cam-rst-hog {
1449983822cSFabien Parent			gpio-hog;
1459983822cSFabien Parent			gpios = <14 0>;
1469983822cSFabien Parent			output-low;
1479983822cSFabien Parent			line-name = "cam_rst";
1489983822cSFabien Parent		};
1499983822cSFabien Parent
15087e218aeSKrzysztof Kozlowski		cam-pwdn-hog {
1519983822cSFabien Parent			gpio-hog;
1529983822cSFabien Parent			gpios = <15 0>;
1539983822cSFabien Parent			output-low;
1549983822cSFabien Parent			line-name = "cam_pwdn";
1559983822cSFabien Parent		};
1569983822cSFabien Parent	};
1579983822cSFabien Parent};
1589983822cSFabien Parent
1599983822cSFabien Parent&i2c2 {
1609983822cSFabien Parent	clock-div = <2>;
1619983822cSFabien Parent	pinctrl-names = "default";
1629983822cSFabien Parent	pinctrl-0 = <&i2c2_pins_a>;
1639983822cSFabien Parent	status = "okay";
1649983822cSFabien Parent};
1659983822cSFabien Parent
1669983822cSFabien Parent&uart0 {
1679983822cSFabien Parent	status = "okay";
1689983822cSFabien Parent};
1699983822cSFabien Parent
1704e4ad686SBartosz Golaszewski&ethernet {
1714e4ad686SBartosz Golaszewski	pinctrl-names = "default";
1724e4ad686SBartosz Golaszewski	pinctrl-0 = <&ethernet_pins_default>;
1734e4ad686SBartosz Golaszewski	phy-handle = <&eth_phy>;
1744e4ad686SBartosz Golaszewski	phy-mode = "rmii";
1754e4ad686SBartosz Golaszewski	mac-address = [00 00 00 00 00 00];
1764e4ad686SBartosz Golaszewski	status = "okay";
1774e4ad686SBartosz Golaszewski
1784e4ad686SBartosz Golaszewski	mdio {
1794e4ad686SBartosz Golaszewski		#address-cells = <1>;
1804e4ad686SBartosz Golaszewski		#size-cells = <0>;
1814e4ad686SBartosz Golaszewski
1824e4ad686SBartosz Golaszewski		eth_phy: ethernet-phy@0 {
1834e4ad686SBartosz Golaszewski			reg = <0>;
1844e4ad686SBartosz Golaszewski		};
1854e4ad686SBartosz Golaszewski	};
1864e4ad686SBartosz Golaszewski};
1874e4ad686SBartosz Golaszewski
1889983822cSFabien Parent&usb0 {
1899983822cSFabien Parent	status = "okay";
1909983822cSFabien Parent	dr_mode = "peripheral";
19186c5ed12SChunfeng Yun	usb-role-switch;
1929983822cSFabien Parent
1939983822cSFabien Parent	usb_con: connector {
1949983822cSFabien Parent		compatible = "usb-c-connector";
1959983822cSFabien Parent		label = "USB-C";
1969983822cSFabien Parent	};
1979983822cSFabien Parent};
1989983822cSFabien Parent
1995fae2710SFabien Parent&usb_phy {
2009983822cSFabien Parent	status = "okay";
2019983822cSFabien Parent};
2029983822cSFabien Parent
2039983822cSFabien Parent&pio {
2049983822cSFabien Parent	gpio_keys_default: gpiodefault {
2059983822cSFabien Parent		pins_cmd_dat {
2069983822cSFabien Parent			pinmux = <MT8516_PIN_42_KPCOL0__FUNC_GPIO42>,
2079983822cSFabien Parent				 <MT8516_PIN_43_KPCOL1__FUNC_GPIO43>;
2089983822cSFabien Parent			bias-pull-up;
2099983822cSFabien Parent			input-enable;
2109983822cSFabien Parent		};
2119983822cSFabien Parent	};
2129983822cSFabien Parent
2139983822cSFabien Parent	i2c0_pins_a: i2c0@0 {
2149983822cSFabien Parent		pins1 {
2159983822cSFabien Parent			pinmux = <MT8516_PIN_58_SDA0__FUNC_SDA0_0>,
2169983822cSFabien Parent				 <MT8516_PIN_59_SCL0__FUNC_SCL0_0>;
2179983822cSFabien Parent			bias-disable;
2189983822cSFabien Parent		};
2199983822cSFabien Parent	};
2209983822cSFabien Parent
2219983822cSFabien Parent	i2c2_pins_a: i2c2@0 {
2229983822cSFabien Parent		pins1 {
2239983822cSFabien Parent			pinmux = <MT8516_PIN_60_SDA2__FUNC_SDA2_0>,
2249983822cSFabien Parent				 <MT8516_PIN_61_SCL2__FUNC_SCL2_0>;
2259983822cSFabien Parent			bias-disable;
2269983822cSFabien Parent		};
2279983822cSFabien Parent	};
2289983822cSFabien Parent
2299983822cSFabien Parent	tca6416_pins: pinmux_tca6416_pins {
2309983822cSFabien Parent		gpio_mux_rst_n_pin {
2319983822cSFabien Parent			pinmux = <MT8516_PIN_65_UTXD1__FUNC_GPIO65>;
2329983822cSFabien Parent			output-high;
2339983822cSFabien Parent		};
2349983822cSFabien Parent
2359983822cSFabien Parent		gpio_mux_int_n_pin {
2369983822cSFabien Parent			pinmux = <MT8516_PIN_64_URXD1__FUNC_GPIO64>;
2379983822cSFabien Parent			input-enable;
2389983822cSFabien Parent			bias-pull-up;
2399983822cSFabien Parent		};
2409983822cSFabien Parent	};
2417c20f7f3SBartosz Golaszewski
2427c20f7f3SBartosz Golaszewski	ethernet_pins_default: ethernet {
2437c20f7f3SBartosz Golaszewski		pins_ethernet {
2447c20f7f3SBartosz Golaszewski			pinmux = <MT8516_PIN_0_EINT0__FUNC_EXT_TXD0>,
2457c20f7f3SBartosz Golaszewski				 <MT8516_PIN_1_EINT1__FUNC_EXT_TXD1>,
2467c20f7f3SBartosz Golaszewski				 <MT8516_PIN_5_EINT5__FUNC_EXT_RXER>,
2477c20f7f3SBartosz Golaszewski				 <MT8516_PIN_6_EINT6__FUNC_EXT_RXC>,
2487c20f7f3SBartosz Golaszewski				 <MT8516_PIN_7_EINT7__FUNC_EXT_RXDV>,
2497c20f7f3SBartosz Golaszewski				 <MT8516_PIN_8_EINT8__FUNC_EXT_RXD0>,
2507c20f7f3SBartosz Golaszewski				 <MT8516_PIN_9_EINT9__FUNC_EXT_RXD1>,
2517c20f7f3SBartosz Golaszewski				 <MT8516_PIN_12_EINT12__FUNC_EXT_TXEN>,
2527c20f7f3SBartosz Golaszewski				 <MT8516_PIN_38_MRG_DI__FUNC_EXT_MDIO>,
2537c20f7f3SBartosz Golaszewski				 <MT8516_PIN_39_MRG_DO__FUNC_EXT_MDC>;
2547c20f7f3SBartosz Golaszewski		};
2557c20f7f3SBartosz Golaszewski	};
2569983822cSFabien Parent};
257