1c66ec88fSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0 2c66ec88fSEmmanuel Vadot/* 3c66ec88fSEmmanuel Vadot * Copyright (c) 2019 BayLibre, SAS. 4c66ec88fSEmmanuel Vadot * Author: Fabien Parent <fparent@baylibre.com> 5c66ec88fSEmmanuel Vadot */ 6c66ec88fSEmmanuel Vadot 7c66ec88fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadot/ { 10c66ec88fSEmmanuel Vadot aliases { 11c66ec88fSEmmanuel Vadot serial0 = &uart0; 12c66ec88fSEmmanuel Vadot ethernet0 = ðernet; 13c66ec88fSEmmanuel Vadot }; 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel Vadot chosen { 16c66ec88fSEmmanuel Vadot stdout-path = "serial0:921600n8"; 17c66ec88fSEmmanuel Vadot }; 18c66ec88fSEmmanuel Vadot 19c66ec88fSEmmanuel Vadot firmware { 20*8bab661aSEmmanuel Vadot optee: optee { 21c66ec88fSEmmanuel Vadot compatible = "linaro,optee-tz"; 22c66ec88fSEmmanuel Vadot method = "smc"; 23c66ec88fSEmmanuel Vadot }; 24c66ec88fSEmmanuel Vadot }; 25c66ec88fSEmmanuel Vadot 26c66ec88fSEmmanuel Vadot gpio-keys { 27c66ec88fSEmmanuel Vadot compatible = "gpio-keys"; 28c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 29c66ec88fSEmmanuel Vadot pinctrl-0 = <&gpio_keys_default>; 30c66ec88fSEmmanuel Vadot 31b97ee269SEmmanuel Vadot key-volume-up { 32c66ec88fSEmmanuel Vadot gpios = <&pio 42 GPIO_ACTIVE_LOW>; 33c66ec88fSEmmanuel Vadot label = "volume_up"; 34c66ec88fSEmmanuel Vadot linux,code = <115>; 35c66ec88fSEmmanuel Vadot wakeup-source; 36c66ec88fSEmmanuel Vadot debounce-interval = <15>; 37c66ec88fSEmmanuel Vadot }; 38c66ec88fSEmmanuel Vadot 39b97ee269SEmmanuel Vadot key-volume-down { 40c66ec88fSEmmanuel Vadot gpios = <&pio 43 GPIO_ACTIVE_LOW>; 41c66ec88fSEmmanuel Vadot label = "volume_down"; 42c66ec88fSEmmanuel Vadot linux,code = <114>; 43c66ec88fSEmmanuel Vadot wakeup-source; 44c66ec88fSEmmanuel Vadot debounce-interval = <15>; 45c66ec88fSEmmanuel Vadot }; 46c66ec88fSEmmanuel Vadot }; 47c66ec88fSEmmanuel Vadot}; 48c66ec88fSEmmanuel Vadot 49c66ec88fSEmmanuel Vadot&i2c0 { 50c66ec88fSEmmanuel Vadot clock-div = <2>; 51c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 52c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c0_pins_a>; 53c66ec88fSEmmanuel Vadot status = "okay"; 54c66ec88fSEmmanuel Vadot 55c66ec88fSEmmanuel Vadot tca6416: gpio@20 { 56c66ec88fSEmmanuel Vadot compatible = "ti,tca6416"; 57c66ec88fSEmmanuel Vadot reg = <0x20>; 582eb4d8dcSEmmanuel Vadot reset-gpios = <&pio 65 GPIO_ACTIVE_LOW>; 59c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 60c66ec88fSEmmanuel Vadot pinctrl-0 = <&tca6416_pins>; 61c66ec88fSEmmanuel Vadot 62c66ec88fSEmmanuel Vadot gpio-controller; 63c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 64c66ec88fSEmmanuel Vadot 655def4c47SEmmanuel Vadot eint20-mux-sel0-hog { 66c66ec88fSEmmanuel Vadot gpio-hog; 67c66ec88fSEmmanuel Vadot gpios = <0 0>; 68c66ec88fSEmmanuel Vadot input; 69c66ec88fSEmmanuel Vadot line-name = "eint20_mux_sel0"; 70c66ec88fSEmmanuel Vadot }; 71c66ec88fSEmmanuel Vadot 725def4c47SEmmanuel Vadot expcon-mux-sel1-hog { 73c66ec88fSEmmanuel Vadot gpio-hog; 74c66ec88fSEmmanuel Vadot gpios = <1 0>; 75c66ec88fSEmmanuel Vadot input; 76c66ec88fSEmmanuel Vadot line-name = "expcon_mux_sel1"; 77c66ec88fSEmmanuel Vadot }; 78c66ec88fSEmmanuel Vadot 795def4c47SEmmanuel Vadot mrg-di-mux-sel2-hog { 80c66ec88fSEmmanuel Vadot gpio-hog; 81c66ec88fSEmmanuel Vadot gpios = <2 0>; 82c66ec88fSEmmanuel Vadot input; 83c66ec88fSEmmanuel Vadot line-name = "mrg_di_mux_sel2"; 84c66ec88fSEmmanuel Vadot }; 85c66ec88fSEmmanuel Vadot 865def4c47SEmmanuel Vadot sd-sdio-mux-sel3-hog { 87c66ec88fSEmmanuel Vadot gpio-hog; 88c66ec88fSEmmanuel Vadot gpios = <3 0>; 89c66ec88fSEmmanuel Vadot input; 90c66ec88fSEmmanuel Vadot line-name = "sd_sdio_mux_sel3"; 91c66ec88fSEmmanuel Vadot }; 92c66ec88fSEmmanuel Vadot 935def4c47SEmmanuel Vadot sd-sdio-mux-ctrl7-hog { 94c66ec88fSEmmanuel Vadot gpio-hog; 95c66ec88fSEmmanuel Vadot gpios = <7 0>; 96c66ec88fSEmmanuel Vadot output-low; 97c66ec88fSEmmanuel Vadot line-name = "sd_sdio_mux_ctrl7"; 98c66ec88fSEmmanuel Vadot }; 99c66ec88fSEmmanuel Vadot 1005def4c47SEmmanuel Vadot hw-id0-hog { 101c66ec88fSEmmanuel Vadot gpio-hog; 102c66ec88fSEmmanuel Vadot gpios = <8 0>; 103c66ec88fSEmmanuel Vadot input; 104c66ec88fSEmmanuel Vadot line-name = "hw_id0"; 105c66ec88fSEmmanuel Vadot }; 106c66ec88fSEmmanuel Vadot 1075def4c47SEmmanuel Vadot hw-id1-hog { 108c66ec88fSEmmanuel Vadot gpio-hog; 109c66ec88fSEmmanuel Vadot gpios = <9 0>; 110c66ec88fSEmmanuel Vadot input; 111c66ec88fSEmmanuel Vadot line-name = "hw_id1"; 112c66ec88fSEmmanuel Vadot }; 113c66ec88fSEmmanuel Vadot 1145def4c47SEmmanuel Vadot hw-id2-hog { 115c66ec88fSEmmanuel Vadot gpio-hog; 116c66ec88fSEmmanuel Vadot gpios = <10 0>; 117c66ec88fSEmmanuel Vadot input; 118c66ec88fSEmmanuel Vadot line-name = "hw_id2"; 119c66ec88fSEmmanuel Vadot }; 120c66ec88fSEmmanuel Vadot 1215def4c47SEmmanuel Vadot fg-int-n-hog { 122c66ec88fSEmmanuel Vadot gpio-hog; 123c66ec88fSEmmanuel Vadot gpios = <11 0>; 124c66ec88fSEmmanuel Vadot input; 125c66ec88fSEmmanuel Vadot line-name = "fg_int_n"; 126c66ec88fSEmmanuel Vadot }; 127c66ec88fSEmmanuel Vadot 1285def4c47SEmmanuel Vadot usba-pwr-en-hog { 129c66ec88fSEmmanuel Vadot gpio-hog; 130c66ec88fSEmmanuel Vadot gpios = <12 0>; 131c66ec88fSEmmanuel Vadot output-high; 132c66ec88fSEmmanuel Vadot line-name = "usba_pwr_en"; 133c66ec88fSEmmanuel Vadot }; 134c66ec88fSEmmanuel Vadot 1355def4c47SEmmanuel Vadot wifi-3v3-pg-hog { 136c66ec88fSEmmanuel Vadot gpio-hog; 137c66ec88fSEmmanuel Vadot gpios = <13 0>; 138c66ec88fSEmmanuel Vadot input; 139c66ec88fSEmmanuel Vadot line-name = "wifi_3v3_pg"; 140c66ec88fSEmmanuel Vadot }; 141c66ec88fSEmmanuel Vadot 1425def4c47SEmmanuel Vadot cam-rst-hog { 143c66ec88fSEmmanuel Vadot gpio-hog; 144c66ec88fSEmmanuel Vadot gpios = <14 0>; 145c66ec88fSEmmanuel Vadot output-low; 146c66ec88fSEmmanuel Vadot line-name = "cam_rst"; 147c66ec88fSEmmanuel Vadot }; 148c66ec88fSEmmanuel Vadot 1495def4c47SEmmanuel Vadot cam-pwdn-hog { 150c66ec88fSEmmanuel Vadot gpio-hog; 151c66ec88fSEmmanuel Vadot gpios = <15 0>; 152c66ec88fSEmmanuel Vadot output-low; 153c66ec88fSEmmanuel Vadot line-name = "cam_pwdn"; 154c66ec88fSEmmanuel Vadot }; 155c66ec88fSEmmanuel Vadot }; 156c66ec88fSEmmanuel Vadot}; 157c66ec88fSEmmanuel Vadot 158c66ec88fSEmmanuel Vadot&i2c2 { 159c66ec88fSEmmanuel Vadot clock-div = <2>; 160c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 161c66ec88fSEmmanuel Vadot pinctrl-0 = <&i2c2_pins_a>; 162c66ec88fSEmmanuel Vadot status = "okay"; 163c66ec88fSEmmanuel Vadot}; 164c66ec88fSEmmanuel Vadot 165c66ec88fSEmmanuel Vadot&uart0 { 166c66ec88fSEmmanuel Vadot status = "okay"; 167c66ec88fSEmmanuel Vadot}; 168c66ec88fSEmmanuel Vadot 169c66ec88fSEmmanuel Vadotðernet { 170c66ec88fSEmmanuel Vadot pinctrl-names = "default"; 171c66ec88fSEmmanuel Vadot pinctrl-0 = <ðernet_pins_default>; 172c66ec88fSEmmanuel Vadot phy-handle = <ð_phy>; 173c66ec88fSEmmanuel Vadot phy-mode = "rmii"; 174c66ec88fSEmmanuel Vadot mac-address = [00 00 00 00 00 00]; 175c66ec88fSEmmanuel Vadot status = "okay"; 176c66ec88fSEmmanuel Vadot 177c66ec88fSEmmanuel Vadot mdio { 178c66ec88fSEmmanuel Vadot #address-cells = <1>; 179c66ec88fSEmmanuel Vadot #size-cells = <0>; 180c66ec88fSEmmanuel Vadot 181c66ec88fSEmmanuel Vadot eth_phy: ethernet-phy@0 { 182c66ec88fSEmmanuel Vadot reg = <0>; 183c66ec88fSEmmanuel Vadot }; 184c66ec88fSEmmanuel Vadot }; 185c66ec88fSEmmanuel Vadot}; 186c66ec88fSEmmanuel Vadot 187c66ec88fSEmmanuel Vadot&usb0 { 188c66ec88fSEmmanuel Vadot status = "okay"; 189c66ec88fSEmmanuel Vadot dr_mode = "peripheral"; 1902eb4d8dcSEmmanuel Vadot usb-role-switch; 191c66ec88fSEmmanuel Vadot 192c66ec88fSEmmanuel Vadot usb_con: connector { 193c66ec88fSEmmanuel Vadot compatible = "usb-c-connector"; 194c66ec88fSEmmanuel Vadot label = "USB-C"; 195c66ec88fSEmmanuel Vadot }; 196c66ec88fSEmmanuel Vadot}; 197c66ec88fSEmmanuel Vadot 1985def4c47SEmmanuel Vadot&usb_phy { 199c66ec88fSEmmanuel Vadot status = "okay"; 200c66ec88fSEmmanuel Vadot}; 201c66ec88fSEmmanuel Vadot 202c66ec88fSEmmanuel Vadot&pio { 203c66ec88fSEmmanuel Vadot gpio_keys_default: gpiodefault { 204c66ec88fSEmmanuel Vadot pins_cmd_dat { 205c66ec88fSEmmanuel Vadot pinmux = <MT8516_PIN_42_KPCOL0__FUNC_GPIO42>, 206c66ec88fSEmmanuel Vadot <MT8516_PIN_43_KPCOL1__FUNC_GPIO43>; 207c66ec88fSEmmanuel Vadot bias-pull-up; 208c66ec88fSEmmanuel Vadot input-enable; 209c66ec88fSEmmanuel Vadot }; 210c66ec88fSEmmanuel Vadot }; 211c66ec88fSEmmanuel Vadot 212*8bab661aSEmmanuel Vadot i2c0_pins_a: i2c0 { 213c66ec88fSEmmanuel Vadot pins1 { 214c66ec88fSEmmanuel Vadot pinmux = <MT8516_PIN_58_SDA0__FUNC_SDA0_0>, 215c66ec88fSEmmanuel Vadot <MT8516_PIN_59_SCL0__FUNC_SCL0_0>; 216c66ec88fSEmmanuel Vadot bias-disable; 217c66ec88fSEmmanuel Vadot }; 218c66ec88fSEmmanuel Vadot }; 219c66ec88fSEmmanuel Vadot 220*8bab661aSEmmanuel Vadot i2c2_pins_a: i2c2 { 221c66ec88fSEmmanuel Vadot pins1 { 222c66ec88fSEmmanuel Vadot pinmux = <MT8516_PIN_60_SDA2__FUNC_SDA2_0>, 223c66ec88fSEmmanuel Vadot <MT8516_PIN_61_SCL2__FUNC_SCL2_0>; 224c66ec88fSEmmanuel Vadot bias-disable; 225c66ec88fSEmmanuel Vadot }; 226c66ec88fSEmmanuel Vadot }; 227c66ec88fSEmmanuel Vadot 228c66ec88fSEmmanuel Vadot tca6416_pins: pinmux_tca6416_pins { 229c66ec88fSEmmanuel Vadot gpio_mux_rst_n_pin { 230c66ec88fSEmmanuel Vadot pinmux = <MT8516_PIN_65_UTXD1__FUNC_GPIO65>; 231c66ec88fSEmmanuel Vadot output-high; 232c66ec88fSEmmanuel Vadot }; 233c66ec88fSEmmanuel Vadot 234c66ec88fSEmmanuel Vadot gpio_mux_int_n_pin { 235c66ec88fSEmmanuel Vadot pinmux = <MT8516_PIN_64_URXD1__FUNC_GPIO64>; 236c66ec88fSEmmanuel Vadot input-enable; 237c66ec88fSEmmanuel Vadot bias-pull-up; 238c66ec88fSEmmanuel Vadot }; 239c66ec88fSEmmanuel Vadot }; 240c66ec88fSEmmanuel Vadot 241c66ec88fSEmmanuel Vadot ethernet_pins_default: ethernet { 242c66ec88fSEmmanuel Vadot pins_ethernet { 243c66ec88fSEmmanuel Vadot pinmux = <MT8516_PIN_0_EINT0__FUNC_EXT_TXD0>, 244c66ec88fSEmmanuel Vadot <MT8516_PIN_1_EINT1__FUNC_EXT_TXD1>, 245c66ec88fSEmmanuel Vadot <MT8516_PIN_5_EINT5__FUNC_EXT_RXER>, 246c66ec88fSEmmanuel Vadot <MT8516_PIN_6_EINT6__FUNC_EXT_RXC>, 247c66ec88fSEmmanuel Vadot <MT8516_PIN_7_EINT7__FUNC_EXT_RXDV>, 248c66ec88fSEmmanuel Vadot <MT8516_PIN_8_EINT8__FUNC_EXT_RXD0>, 249c66ec88fSEmmanuel Vadot <MT8516_PIN_9_EINT9__FUNC_EXT_RXD1>, 250c66ec88fSEmmanuel Vadot <MT8516_PIN_12_EINT12__FUNC_EXT_TXEN>, 251c66ec88fSEmmanuel Vadot <MT8516_PIN_38_MRG_DI__FUNC_EXT_MDIO>, 252c66ec88fSEmmanuel Vadot <MT8516_PIN_39_MRG_DO__FUNC_EXT_MDC>; 253c66ec88fSEmmanuel Vadot }; 254c66ec88fSEmmanuel Vadot }; 255c66ec88fSEmmanuel Vadot}; 256