162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2019 BayLibre, SAS. 462306a36Sopenharmony_ci * Author: Fabien Parent <fparent@baylibre.com> 562306a36Sopenharmony_ci */ 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/ { 1062306a36Sopenharmony_ci aliases { 1162306a36Sopenharmony_ci serial0 = &uart0; 1262306a36Sopenharmony_ci ethernet0 = ðernet; 1362306a36Sopenharmony_ci }; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci chosen { 1662306a36Sopenharmony_ci stdout-path = "serial0:921600n8"; 1762306a36Sopenharmony_ci }; 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci firmware { 2062306a36Sopenharmony_ci optee: optee { 2162306a36Sopenharmony_ci compatible = "linaro,optee-tz"; 2262306a36Sopenharmony_ci method = "smc"; 2362306a36Sopenharmony_ci }; 2462306a36Sopenharmony_ci }; 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci gpio-keys { 2762306a36Sopenharmony_ci compatible = "gpio-keys"; 2862306a36Sopenharmony_ci pinctrl-names = "default"; 2962306a36Sopenharmony_ci pinctrl-0 = <&gpio_keys_default>; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci key-volume-up { 3262306a36Sopenharmony_ci gpios = <&pio 42 GPIO_ACTIVE_LOW>; 3362306a36Sopenharmony_ci label = "volume_up"; 3462306a36Sopenharmony_ci linux,code = <115>; 3562306a36Sopenharmony_ci wakeup-source; 3662306a36Sopenharmony_ci debounce-interval = <15>; 3762306a36Sopenharmony_ci }; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci key-volume-down { 4062306a36Sopenharmony_ci gpios = <&pio 43 GPIO_ACTIVE_LOW>; 4162306a36Sopenharmony_ci label = "volume_down"; 4262306a36Sopenharmony_ci linux,code = <114>; 4362306a36Sopenharmony_ci wakeup-source; 4462306a36Sopenharmony_ci debounce-interval = <15>; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci }; 4762306a36Sopenharmony_ci}; 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci&i2c0 { 5062306a36Sopenharmony_ci clock-div = <2>; 5162306a36Sopenharmony_ci pinctrl-names = "default"; 5262306a36Sopenharmony_ci pinctrl-0 = <&i2c0_pins_a>; 5362306a36Sopenharmony_ci status = "okay"; 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci tca6416: gpio@20 { 5662306a36Sopenharmony_ci compatible = "ti,tca6416"; 5762306a36Sopenharmony_ci reg = <0x20>; 5862306a36Sopenharmony_ci reset-gpios = <&pio 65 GPIO_ACTIVE_LOW>; 5962306a36Sopenharmony_ci pinctrl-names = "default"; 6062306a36Sopenharmony_ci pinctrl-0 = <&tca6416_pins>; 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ci gpio-controller; 6362306a36Sopenharmony_ci #gpio-cells = <2>; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci eint20-mux-sel0-hog { 6662306a36Sopenharmony_ci gpio-hog; 6762306a36Sopenharmony_ci gpios = <0 0>; 6862306a36Sopenharmony_ci input; 6962306a36Sopenharmony_ci line-name = "eint20_mux_sel0"; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci expcon-mux-sel1-hog { 7362306a36Sopenharmony_ci gpio-hog; 7462306a36Sopenharmony_ci gpios = <1 0>; 7562306a36Sopenharmony_ci input; 7662306a36Sopenharmony_ci line-name = "expcon_mux_sel1"; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci mrg-di-mux-sel2-hog { 8062306a36Sopenharmony_ci gpio-hog; 8162306a36Sopenharmony_ci gpios = <2 0>; 8262306a36Sopenharmony_ci input; 8362306a36Sopenharmony_ci line-name = "mrg_di_mux_sel2"; 8462306a36Sopenharmony_ci }; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci sd-sdio-mux-sel3-hog { 8762306a36Sopenharmony_ci gpio-hog; 8862306a36Sopenharmony_ci gpios = <3 0>; 8962306a36Sopenharmony_ci input; 9062306a36Sopenharmony_ci line-name = "sd_sdio_mux_sel3"; 9162306a36Sopenharmony_ci }; 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_ci sd-sdio-mux-ctrl7-hog { 9462306a36Sopenharmony_ci gpio-hog; 9562306a36Sopenharmony_ci gpios = <7 0>; 9662306a36Sopenharmony_ci output-low; 9762306a36Sopenharmony_ci line-name = "sd_sdio_mux_ctrl7"; 9862306a36Sopenharmony_ci }; 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci hw-id0-hog { 10162306a36Sopenharmony_ci gpio-hog; 10262306a36Sopenharmony_ci gpios = <8 0>; 10362306a36Sopenharmony_ci input; 10462306a36Sopenharmony_ci line-name = "hw_id0"; 10562306a36Sopenharmony_ci }; 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_ci hw-id1-hog { 10862306a36Sopenharmony_ci gpio-hog; 10962306a36Sopenharmony_ci gpios = <9 0>; 11062306a36Sopenharmony_ci input; 11162306a36Sopenharmony_ci line-name = "hw_id1"; 11262306a36Sopenharmony_ci }; 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ci hw-id2-hog { 11562306a36Sopenharmony_ci gpio-hog; 11662306a36Sopenharmony_ci gpios = <10 0>; 11762306a36Sopenharmony_ci input; 11862306a36Sopenharmony_ci line-name = "hw_id2"; 11962306a36Sopenharmony_ci }; 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci fg-int-n-hog { 12262306a36Sopenharmony_ci gpio-hog; 12362306a36Sopenharmony_ci gpios = <11 0>; 12462306a36Sopenharmony_ci input; 12562306a36Sopenharmony_ci line-name = "fg_int_n"; 12662306a36Sopenharmony_ci }; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci usba-pwr-en-hog { 12962306a36Sopenharmony_ci gpio-hog; 13062306a36Sopenharmony_ci gpios = <12 0>; 13162306a36Sopenharmony_ci output-high; 13262306a36Sopenharmony_ci line-name = "usba_pwr_en"; 13362306a36Sopenharmony_ci }; 13462306a36Sopenharmony_ci 13562306a36Sopenharmony_ci wifi-3v3-pg-hog { 13662306a36Sopenharmony_ci gpio-hog; 13762306a36Sopenharmony_ci gpios = <13 0>; 13862306a36Sopenharmony_ci input; 13962306a36Sopenharmony_ci line-name = "wifi_3v3_pg"; 14062306a36Sopenharmony_ci }; 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci cam-rst-hog { 14362306a36Sopenharmony_ci gpio-hog; 14462306a36Sopenharmony_ci gpios = <14 0>; 14562306a36Sopenharmony_ci output-low; 14662306a36Sopenharmony_ci line-name = "cam_rst"; 14762306a36Sopenharmony_ci }; 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci cam-pwdn-hog { 15062306a36Sopenharmony_ci gpio-hog; 15162306a36Sopenharmony_ci gpios = <15 0>; 15262306a36Sopenharmony_ci output-low; 15362306a36Sopenharmony_ci line-name = "cam_pwdn"; 15462306a36Sopenharmony_ci }; 15562306a36Sopenharmony_ci }; 15662306a36Sopenharmony_ci}; 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci&i2c2 { 15962306a36Sopenharmony_ci clock-div = <2>; 16062306a36Sopenharmony_ci pinctrl-names = "default"; 16162306a36Sopenharmony_ci pinctrl-0 = <&i2c2_pins_a>; 16262306a36Sopenharmony_ci status = "okay"; 16362306a36Sopenharmony_ci}; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci&uart0 { 16662306a36Sopenharmony_ci status = "okay"; 16762306a36Sopenharmony_ci}; 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ciðernet { 17062306a36Sopenharmony_ci pinctrl-names = "default"; 17162306a36Sopenharmony_ci pinctrl-0 = <ðernet_pins_default>; 17262306a36Sopenharmony_ci phy-handle = <ð_phy>; 17362306a36Sopenharmony_ci phy-mode = "rmii"; 17462306a36Sopenharmony_ci mac-address = [00 00 00 00 00 00]; 17562306a36Sopenharmony_ci status = "okay"; 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ci mdio { 17862306a36Sopenharmony_ci #address-cells = <1>; 17962306a36Sopenharmony_ci #size-cells = <0>; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci eth_phy: ethernet-phy@0 { 18262306a36Sopenharmony_ci reg = <0>; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci }; 18562306a36Sopenharmony_ci}; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci&usb0 { 18862306a36Sopenharmony_ci status = "okay"; 18962306a36Sopenharmony_ci dr_mode = "peripheral"; 19062306a36Sopenharmony_ci usb-role-switch; 19162306a36Sopenharmony_ci 19262306a36Sopenharmony_ci usb_con: connector { 19362306a36Sopenharmony_ci compatible = "usb-c-connector"; 19462306a36Sopenharmony_ci label = "USB-C"; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci}; 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci&usb_phy { 19962306a36Sopenharmony_ci status = "okay"; 20062306a36Sopenharmony_ci}; 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci&pio { 20362306a36Sopenharmony_ci gpio_keys_default: gpiodefault { 20462306a36Sopenharmony_ci pins_cmd_dat { 20562306a36Sopenharmony_ci pinmux = <MT8516_PIN_42_KPCOL0__FUNC_GPIO42>, 20662306a36Sopenharmony_ci <MT8516_PIN_43_KPCOL1__FUNC_GPIO43>; 20762306a36Sopenharmony_ci bias-pull-up; 20862306a36Sopenharmony_ci input-enable; 20962306a36Sopenharmony_ci }; 21062306a36Sopenharmony_ci }; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci i2c0_pins_a: i2c0 { 21362306a36Sopenharmony_ci pins1 { 21462306a36Sopenharmony_ci pinmux = <MT8516_PIN_58_SDA0__FUNC_SDA0_0>, 21562306a36Sopenharmony_ci <MT8516_PIN_59_SCL0__FUNC_SCL0_0>; 21662306a36Sopenharmony_ci bias-disable; 21762306a36Sopenharmony_ci }; 21862306a36Sopenharmony_ci }; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci i2c2_pins_a: i2c2 { 22162306a36Sopenharmony_ci pins1 { 22262306a36Sopenharmony_ci pinmux = <MT8516_PIN_60_SDA2__FUNC_SDA2_0>, 22362306a36Sopenharmony_ci <MT8516_PIN_61_SCL2__FUNC_SCL2_0>; 22462306a36Sopenharmony_ci bias-disable; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci }; 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci tca6416_pins: pinmux_tca6416_pins { 22962306a36Sopenharmony_ci gpio_mux_rst_n_pin { 23062306a36Sopenharmony_ci pinmux = <MT8516_PIN_65_UTXD1__FUNC_GPIO65>; 23162306a36Sopenharmony_ci output-high; 23262306a36Sopenharmony_ci }; 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci gpio_mux_int_n_pin { 23562306a36Sopenharmony_ci pinmux = <MT8516_PIN_64_URXD1__FUNC_GPIO64>; 23662306a36Sopenharmony_ci input-enable; 23762306a36Sopenharmony_ci bias-pull-up; 23862306a36Sopenharmony_ci }; 23962306a36Sopenharmony_ci }; 24062306a36Sopenharmony_ci 24162306a36Sopenharmony_ci ethernet_pins_default: ethernet { 24262306a36Sopenharmony_ci pins_ethernet { 24362306a36Sopenharmony_ci pinmux = <MT8516_PIN_0_EINT0__FUNC_EXT_TXD0>, 24462306a36Sopenharmony_ci <MT8516_PIN_1_EINT1__FUNC_EXT_TXD1>, 24562306a36Sopenharmony_ci <MT8516_PIN_5_EINT5__FUNC_EXT_RXER>, 24662306a36Sopenharmony_ci <MT8516_PIN_6_EINT6__FUNC_EXT_RXC>, 24762306a36Sopenharmony_ci <MT8516_PIN_7_EINT7__FUNC_EXT_RXDV>, 24862306a36Sopenharmony_ci <MT8516_PIN_8_EINT8__FUNC_EXT_RXD0>, 24962306a36Sopenharmony_ci <MT8516_PIN_9_EINT9__FUNC_EXT_RXD1>, 25062306a36Sopenharmony_ci <MT8516_PIN_12_EINT12__FUNC_EXT_TXEN>, 25162306a36Sopenharmony_ci <MT8516_PIN_38_MRG_DI__FUNC_EXT_MDIO>, 25262306a36Sopenharmony_ci <MT8516_PIN_39_MRG_DO__FUNC_EXT_MDC>; 25362306a36Sopenharmony_ci }; 25462306a36Sopenharmony_ci }; 25562306a36Sopenharmony_ci}; 256