xref: /linux/scripts/dtc/include-prefixes/arm64/mediatek/pumpkin-common.dtsi (revision 4e4ad6862de5dda0174f3a60c98c8cded0beb64d)
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>;
599983822cSFabien Parent		rst-gpio = <&pio 65 GPIO_ACTIVE_HIGH>;
609983822cSFabien Parent		pinctrl-names = "default";
619983822cSFabien Parent		pinctrl-0 = <&tca6416_pins>;
629983822cSFabien Parent
639983822cSFabien Parent		gpio-controller;
649983822cSFabien Parent		#gpio-cells = <2>;
659983822cSFabien Parent
669983822cSFabien Parent		eint20_mux_sel0 {
679983822cSFabien Parent			gpio-hog;
689983822cSFabien Parent			gpios = <0 0>;
699983822cSFabien Parent			input;
709983822cSFabien Parent			line-name = "eint20_mux_sel0";
719983822cSFabien Parent		};
729983822cSFabien Parent
739983822cSFabien Parent		expcon_mux_sel1 {
749983822cSFabien Parent			gpio-hog;
759983822cSFabien Parent			gpios = <1 0>;
769983822cSFabien Parent			input;
779983822cSFabien Parent			line-name = "expcon_mux_sel1";
789983822cSFabien Parent		};
799983822cSFabien Parent
809983822cSFabien Parent		mrg_di_mux_sel2 {
819983822cSFabien Parent			gpio-hog;
829983822cSFabien Parent			gpios = <2 0>;
839983822cSFabien Parent			input;
849983822cSFabien Parent			line-name = "mrg_di_mux_sel2";
859983822cSFabien Parent		};
869983822cSFabien Parent
879983822cSFabien Parent		sd_sdio_mux_sel3 {
889983822cSFabien Parent			gpio-hog;
899983822cSFabien Parent			gpios = <3 0>;
909983822cSFabien Parent			input;
919983822cSFabien Parent			line-name = "sd_sdio_mux_sel3";
929983822cSFabien Parent		};
939983822cSFabien Parent
949983822cSFabien Parent		sd_sdio_mux_ctrl7 {
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
1019983822cSFabien Parent		hw_id0 {
1029983822cSFabien Parent			gpio-hog;
1039983822cSFabien Parent			gpios = <8 0>;
1049983822cSFabien Parent			input;
1059983822cSFabien Parent			line-name = "hw_id0";
1069983822cSFabien Parent		};
1079983822cSFabien Parent
1089983822cSFabien Parent		hw_id1 {
1099983822cSFabien Parent			gpio-hog;
1109983822cSFabien Parent			gpios = <9 0>;
1119983822cSFabien Parent			input;
1129983822cSFabien Parent			line-name = "hw_id1";
1139983822cSFabien Parent		};
1149983822cSFabien Parent
1159983822cSFabien Parent		hw_id2 {
1169983822cSFabien Parent			gpio-hog;
1179983822cSFabien Parent			gpios = <10 0>;
1189983822cSFabien Parent			input;
1199983822cSFabien Parent			line-name = "hw_id2";
1209983822cSFabien Parent		};
1219983822cSFabien Parent
1229983822cSFabien Parent		fg_int_n {
1239983822cSFabien Parent			gpio-hog;
1249983822cSFabien Parent			gpios = <11 0>;
1259983822cSFabien Parent			input;
1269983822cSFabien Parent			line-name = "fg_int_n";
1279983822cSFabien Parent		};
1289983822cSFabien Parent
1299983822cSFabien Parent		usba_pwr_en {
1309983822cSFabien Parent			gpio-hog;
1319983822cSFabien Parent			gpios = <12 0>;
1329983822cSFabien Parent			output-high;
1339983822cSFabien Parent			line-name = "usba_pwr_en";
1349983822cSFabien Parent		};
1359983822cSFabien Parent
1369983822cSFabien Parent		wifi_3v3_pg {
1379983822cSFabien Parent			gpio-hog;
1389983822cSFabien Parent			gpios = <13 0>;
1399983822cSFabien Parent			input;
1409983822cSFabien Parent			line-name = "wifi_3v3_pg";
1419983822cSFabien Parent		};
1429983822cSFabien Parent
1439983822cSFabien Parent		cam_rst {
1449983822cSFabien Parent			gpio-hog;
1459983822cSFabien Parent			gpios = <14 0>;
1469983822cSFabien Parent			output-low;
1479983822cSFabien Parent			line-name = "cam_rst";
1489983822cSFabien Parent		};
1499983822cSFabien Parent
1509983822cSFabien Parent		cam_pwdn {
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
170*4e4ad686SBartosz Golaszewski&ethernet {
171*4e4ad686SBartosz Golaszewski	pinctrl-names = "default";
172*4e4ad686SBartosz Golaszewski	pinctrl-0 = <&ethernet_pins_default>;
173*4e4ad686SBartosz Golaszewski	phy-handle = <&eth_phy>;
174*4e4ad686SBartosz Golaszewski	phy-mode = "rmii";
175*4e4ad686SBartosz Golaszewski	mac-address = [00 00 00 00 00 00];
176*4e4ad686SBartosz Golaszewski	status = "okay";
177*4e4ad686SBartosz Golaszewski
178*4e4ad686SBartosz Golaszewski	mdio {
179*4e4ad686SBartosz Golaszewski		#address-cells = <1>;
180*4e4ad686SBartosz Golaszewski		#size-cells = <0>;
181*4e4ad686SBartosz Golaszewski
182*4e4ad686SBartosz Golaszewski		eth_phy: ethernet-phy@0 {
183*4e4ad686SBartosz Golaszewski			reg = <0>;
184*4e4ad686SBartosz Golaszewski		};
185*4e4ad686SBartosz Golaszewski	};
186*4e4ad686SBartosz Golaszewski};
187*4e4ad686SBartosz Golaszewski
1889983822cSFabien Parent&usb0 {
1899983822cSFabien Parent	status = "okay";
1909983822cSFabien Parent	dr_mode = "peripheral";
1919983822cSFabien Parent
1929983822cSFabien Parent	usb_con: connector {
1939983822cSFabien Parent		compatible = "usb-c-connector";
1949983822cSFabien Parent		label = "USB-C";
1959983822cSFabien Parent	};
1969983822cSFabien Parent};
1979983822cSFabien Parent
1989983822cSFabien Parent&usb0_phy {
1999983822cSFabien Parent	status = "okay";
2009983822cSFabien Parent};
2019983822cSFabien Parent
2029983822cSFabien Parent&pio {
2039983822cSFabien Parent	gpio_keys_default: gpiodefault {
2049983822cSFabien Parent		pins_cmd_dat {
2059983822cSFabien Parent			pinmux = <MT8516_PIN_42_KPCOL0__FUNC_GPIO42>,
2069983822cSFabien Parent				 <MT8516_PIN_43_KPCOL1__FUNC_GPIO43>;
2079983822cSFabien Parent			bias-pull-up;
2089983822cSFabien Parent			input-enable;
2099983822cSFabien Parent		};
2109983822cSFabien Parent	};
2119983822cSFabien Parent
2129983822cSFabien Parent	i2c0_pins_a: i2c0@0 {
2139983822cSFabien Parent		pins1 {
2149983822cSFabien Parent			pinmux = <MT8516_PIN_58_SDA0__FUNC_SDA0_0>,
2159983822cSFabien Parent				 <MT8516_PIN_59_SCL0__FUNC_SCL0_0>;
2169983822cSFabien Parent			bias-disable;
2179983822cSFabien Parent		};
2189983822cSFabien Parent	};
2199983822cSFabien Parent
2209983822cSFabien Parent	i2c2_pins_a: i2c2@0 {
2219983822cSFabien Parent		pins1 {
2229983822cSFabien Parent			pinmux = <MT8516_PIN_60_SDA2__FUNC_SDA2_0>,
2239983822cSFabien Parent				 <MT8516_PIN_61_SCL2__FUNC_SCL2_0>;
2249983822cSFabien Parent			bias-disable;
2259983822cSFabien Parent		};
2269983822cSFabien Parent	};
2279983822cSFabien Parent
2289983822cSFabien Parent	tca6416_pins: pinmux_tca6416_pins {
2299983822cSFabien Parent		gpio_mux_rst_n_pin {
2309983822cSFabien Parent			pinmux = <MT8516_PIN_65_UTXD1__FUNC_GPIO65>;
2319983822cSFabien Parent			output-high;
2329983822cSFabien Parent		};
2339983822cSFabien Parent
2349983822cSFabien Parent		gpio_mux_int_n_pin {
2359983822cSFabien Parent			pinmux = <MT8516_PIN_64_URXD1__FUNC_GPIO64>;
2369983822cSFabien Parent			input-enable;
2379983822cSFabien Parent			bias-pull-up;
2389983822cSFabien Parent		};
2399983822cSFabien Parent	};
2407c20f7f3SBartosz Golaszewski
2417c20f7f3SBartosz Golaszewski	ethernet_pins_default: ethernet {
2427c20f7f3SBartosz Golaszewski		pins_ethernet {
2437c20f7f3SBartosz Golaszewski			pinmux = <MT8516_PIN_0_EINT0__FUNC_EXT_TXD0>,
2447c20f7f3SBartosz Golaszewski				 <MT8516_PIN_1_EINT1__FUNC_EXT_TXD1>,
2457c20f7f3SBartosz Golaszewski				 <MT8516_PIN_5_EINT5__FUNC_EXT_RXER>,
2467c20f7f3SBartosz Golaszewski				 <MT8516_PIN_6_EINT6__FUNC_EXT_RXC>,
2477c20f7f3SBartosz Golaszewski				 <MT8516_PIN_7_EINT7__FUNC_EXT_RXDV>,
2487c20f7f3SBartosz Golaszewski				 <MT8516_PIN_8_EINT8__FUNC_EXT_RXD0>,
2497c20f7f3SBartosz Golaszewski				 <MT8516_PIN_9_EINT9__FUNC_EXT_RXD1>,
2507c20f7f3SBartosz Golaszewski				 <MT8516_PIN_12_EINT12__FUNC_EXT_TXEN>,
2517c20f7f3SBartosz Golaszewski				 <MT8516_PIN_38_MRG_DI__FUNC_EXT_MDIO>,
2527c20f7f3SBartosz Golaszewski				 <MT8516_PIN_39_MRG_DO__FUNC_EXT_MDC>;
2537c20f7f3SBartosz Golaszewski		};
2547c20f7f3SBartosz Golaszewski	};
2559983822cSFabien Parent};
256