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