xref: /linux/scripts/dtc/include-prefixes/arm64/mediatek/pumpkin-common.dtsi (revision 7c20f7f36e6a3a93dcdb9cb5d790494cd7f22a1b)
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
1709983822cSFabien Parent&usb0 {
1719983822cSFabien Parent	status = "okay";
1729983822cSFabien Parent	dr_mode = "peripheral";
1739983822cSFabien Parent
1749983822cSFabien Parent	usb_con: connector {
1759983822cSFabien Parent		compatible = "usb-c-connector";
1769983822cSFabien Parent		label = "USB-C";
1779983822cSFabien Parent	};
1789983822cSFabien Parent};
1799983822cSFabien Parent
1809983822cSFabien Parent&usb0_phy {
1819983822cSFabien Parent	status = "okay";
1829983822cSFabien Parent};
1839983822cSFabien Parent
1849983822cSFabien Parent&pio {
1859983822cSFabien Parent	gpio_keys_default: gpiodefault {
1869983822cSFabien Parent		pins_cmd_dat {
1879983822cSFabien Parent			pinmux = <MT8516_PIN_42_KPCOL0__FUNC_GPIO42>,
1889983822cSFabien Parent				 <MT8516_PIN_43_KPCOL1__FUNC_GPIO43>;
1899983822cSFabien Parent			bias-pull-up;
1909983822cSFabien Parent			input-enable;
1919983822cSFabien Parent		};
1929983822cSFabien Parent	};
1939983822cSFabien Parent
1949983822cSFabien Parent	i2c0_pins_a: i2c0@0 {
1959983822cSFabien Parent		pins1 {
1969983822cSFabien Parent			pinmux = <MT8516_PIN_58_SDA0__FUNC_SDA0_0>,
1979983822cSFabien Parent				 <MT8516_PIN_59_SCL0__FUNC_SCL0_0>;
1989983822cSFabien Parent			bias-disable;
1999983822cSFabien Parent		};
2009983822cSFabien Parent	};
2019983822cSFabien Parent
2029983822cSFabien Parent	i2c2_pins_a: i2c2@0 {
2039983822cSFabien Parent		pins1 {
2049983822cSFabien Parent			pinmux = <MT8516_PIN_60_SDA2__FUNC_SDA2_0>,
2059983822cSFabien Parent				 <MT8516_PIN_61_SCL2__FUNC_SCL2_0>;
2069983822cSFabien Parent			bias-disable;
2079983822cSFabien Parent		};
2089983822cSFabien Parent	};
2099983822cSFabien Parent
2109983822cSFabien Parent	tca6416_pins: pinmux_tca6416_pins {
2119983822cSFabien Parent		gpio_mux_rst_n_pin {
2129983822cSFabien Parent			pinmux = <MT8516_PIN_65_UTXD1__FUNC_GPIO65>;
2139983822cSFabien Parent			output-high;
2149983822cSFabien Parent		};
2159983822cSFabien Parent
2169983822cSFabien Parent		gpio_mux_int_n_pin {
2179983822cSFabien Parent			pinmux = <MT8516_PIN_64_URXD1__FUNC_GPIO64>;
2189983822cSFabien Parent			input-enable;
2199983822cSFabien Parent			bias-pull-up;
2209983822cSFabien Parent		};
2219983822cSFabien Parent	};
222*7c20f7f3SBartosz Golaszewski
223*7c20f7f3SBartosz Golaszewski	ethernet_pins_default: ethernet {
224*7c20f7f3SBartosz Golaszewski		pins_ethernet {
225*7c20f7f3SBartosz Golaszewski			pinmux = <MT8516_PIN_0_EINT0__FUNC_EXT_TXD0>,
226*7c20f7f3SBartosz Golaszewski				 <MT8516_PIN_1_EINT1__FUNC_EXT_TXD1>,
227*7c20f7f3SBartosz Golaszewski				 <MT8516_PIN_5_EINT5__FUNC_EXT_RXER>,
228*7c20f7f3SBartosz Golaszewski				 <MT8516_PIN_6_EINT6__FUNC_EXT_RXC>,
229*7c20f7f3SBartosz Golaszewski				 <MT8516_PIN_7_EINT7__FUNC_EXT_RXDV>,
230*7c20f7f3SBartosz Golaszewski				 <MT8516_PIN_8_EINT8__FUNC_EXT_RXD0>,
231*7c20f7f3SBartosz Golaszewski				 <MT8516_PIN_9_EINT9__FUNC_EXT_RXD1>,
232*7c20f7f3SBartosz Golaszewski				 <MT8516_PIN_12_EINT12__FUNC_EXT_TXEN>,
233*7c20f7f3SBartosz Golaszewski				 <MT8516_PIN_38_MRG_DI__FUNC_EXT_MDIO>,
234*7c20f7f3SBartosz Golaszewski				 <MT8516_PIN_39_MRG_DO__FUNC_EXT_MDC>;
235*7c20f7f3SBartosz Golaszewski		};
236*7c20f7f3SBartosz Golaszewski	};
2379983822cSFabien Parent};
238