1 // SPDX-License-Identifier: GPL-2.0-or-later O 1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT 2 /* 2 /* 3 * Copyright (c) 2020-2023 TQ-Systems GmbH <lin 3 * Copyright (c) 2020-2023 TQ-Systems GmbH <linux@ew.tq-group.com>, 4 * D-82229 Seefeld, Germany. 4 * D-82229 Seefeld, Germany. 5 * Author: Gregor Herburger 5 * Author: Gregor Herburger 6 */ 6 */ 7 7 8 /dts-v1/; 8 /dts-v1/; 9 9 10 #include <dt-bindings/input/input.h> 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/leds/common.h> 11 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/net/ti-dp83867.h> 12 #include <dt-bindings/net/ti-dp83867.h> 13 13 14 #include "fsl-lx2160a-tqmlx2160a.dtsi" 14 #include "fsl-lx2160a-tqmlx2160a.dtsi" 15 15 16 / { 16 / { 17 model = "TQ Systems GmbH MBLX2160A Sta 17 model = "TQ Systems GmbH MBLX2160A Starterkit"; 18 compatible = "tq,lx2160a-tqmlx2160a-mb 18 compatible = "tq,lx2160a-tqmlx2160a-mblx2160a", "tq,lx2160a-tqmlx2160a", 19 "fsl,lx2160a"; 19 "fsl,lx2160a"; 20 20 21 aliases { 21 aliases { 22 mmc0 = &esdhc0; 22 mmc0 = &esdhc0; 23 mmc1 = &esdhc1; 23 mmc1 = &esdhc1; 24 serial0 = &uart0; 24 serial0 = &uart0; 25 serial1 = &uart1; 25 serial1 = &uart1; 26 serial2 = &uart2; 26 serial2 = &uart2; 27 serial3 = &uart3; 27 serial3 = &uart3; 28 }; 28 }; 29 29 30 chosen { 30 chosen { 31 stdout-path = &uart0; 31 stdout-path = &uart0; 32 }; 32 }; 33 33 34 gpio-keys { 34 gpio-keys { 35 compatible = "gpio-keys"; 35 compatible = "gpio-keys"; 36 36 37 button-user1 { 37 button-user1 { 38 label = "button:user1" 38 label = "button:user1"; 39 gpios = <&gpio2 9 GPIO 39 gpios = <&gpio2 9 GPIO_ACTIVE_LOW>; 40 linux,code = <KEY_F1>; 40 linux,code = <KEY_F1>; 41 }; 41 }; 42 42 43 button-user2 { 43 button-user2 { 44 label = "button:user2" 44 label = "button:user2"; 45 gpios = <&gpio2 10 GPI 45 gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; 46 linux,code = <KEY_F2>; 46 linux,code = <KEY_F2>; 47 }; 47 }; 48 }; 48 }; 49 49 50 leds { 50 leds { 51 compatible = "gpio-leds"; 51 compatible = "gpio-leds"; 52 52 53 led-user1 { 53 led-user1 { 54 gpios = <&gpioex1 15 G 54 gpios = <&gpioex1 15 GPIO_ACTIVE_LOW>; 55 color = <LED_COLOR_ID_ 55 color = <LED_COLOR_ID_BLUE>; 56 function = LED_FUNCTIO 56 function = LED_FUNCTION_HEARTBEAT; 57 function-enumerator = 57 function-enumerator = <0>; 58 linux,default-trigger 58 linux,default-trigger = "heartbeat"; 59 }; 59 }; 60 60 61 led-user2 { 61 led-user2 { 62 gpios = <&gpio2 8 GPIO 62 gpios = <&gpio2 8 GPIO_ACTIVE_LOW>; 63 color = <LED_COLOR_ID_ 63 color = <LED_COLOR_ID_BLUE>; 64 function = LED_FUNCTIO 64 function = LED_FUNCTION_HEARTBEAT; 65 function-enumerator = 65 function-enumerator = <1>; 66 linux,default-trigger 66 linux,default-trigger = "heartbeat"; 67 }; 67 }; 68 }; 68 }; 69 69 70 sfp_xfi1: sfp-xfi1 { 70 sfp_xfi1: sfp-xfi1 { 71 compatible = "sff,sfp"; 71 compatible = "sff,sfp"; 72 i2c-bus = <&xfi1_i2c>; 72 i2c-bus = <&xfi1_i2c>; 73 mod-def0-gpios = <&gpioex2 2 G 73 mod-def0-gpios = <&gpioex2 2 GPIO_ACTIVE_LOW>; 74 los-gpios = <&gpioex2 3 GPIO_A 74 los-gpios = <&gpioex2 3 GPIO_ACTIVE_HIGH>; 75 tx-fault-gpios = <&gpioex2 0 G 75 tx-fault-gpios = <&gpioex2 0 GPIO_ACTIVE_HIGH>; 76 tx-disable-gpios = <&gpioex2 1 76 tx-disable-gpios = <&gpioex2 1 GPIO_ACTIVE_HIGH>; 77 status = "disabled"; 77 status = "disabled"; 78 }; 78 }; 79 79 80 sfp_xfi2: sfp-xfi2 { 80 sfp_xfi2: sfp-xfi2 { 81 compatible = "sff,sfp"; 81 compatible = "sff,sfp"; 82 i2c-bus = <&xfi2_i2c>; 82 i2c-bus = <&xfi2_i2c>; 83 mod-def0-gpios = <&gpioex2 6 G 83 mod-def0-gpios = <&gpioex2 6 GPIO_ACTIVE_LOW>; 84 los-gpios = <&gpioex2 7 GPIO_A 84 los-gpios = <&gpioex2 7 GPIO_ACTIVE_HIGH>; 85 tx-fault-gpios = <&gpioex2 4 G 85 tx-fault-gpios = <&gpioex2 4 GPIO_ACTIVE_HIGH>; 86 tx-disable-gpios = <&gpioex2 5 86 tx-disable-gpios = <&gpioex2 5 GPIO_ACTIVE_HIGH>; 87 status = "disabled"; 87 status = "disabled"; 88 }; 88 }; 89 }; 89 }; 90 90 91 &can0 { 91 &can0 { 92 status = "okay"; 92 status = "okay"; 93 }; 93 }; 94 94 95 &can1 { 95 &can1 { 96 status = "okay"; 96 status = "okay"; 97 }; 97 }; 98 98 99 &dpmac17 { 99 &dpmac17 { 100 phy-handle = <&dp83867_2_3>; 100 phy-handle = <&dp83867_2_3>; 101 phy-connection-type = "rgmii-id"; 101 phy-connection-type = "rgmii-id"; 102 }; 102 }; 103 103 104 &dpmac18 { 104 &dpmac18 { 105 phy-handle = <&dp83867_2_4>; 105 phy-handle = <&dp83867_2_4>; 106 phy-connection-type = "rgmii-id"; 106 phy-connection-type = "rgmii-id"; 107 }; 107 }; 108 108 109 &emdio1 { 109 &emdio1 { 110 status = "okay"; 110 status = "okay"; 111 111 112 dp83867_1_1: ethernet-phy@1 { 112 dp83867_1_1: ethernet-phy@1 { 113 reg = <1>; 113 reg = <1>; 114 ti,clk-output-sel = <DP83867_C 114 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 115 }; 115 }; 116 116 117 dp83867_1_2: ethernet-phy@2 { 117 dp83867_1_2: ethernet-phy@2 { 118 reg = <2>; 118 reg = <2>; 119 ti,clk-output-sel = <DP83867_C 119 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 120 }; 120 }; 121 121 122 dp83867_1_3: ethernet-phy@3 { 122 dp83867_1_3: ethernet-phy@3 { 123 reg = <3>; 123 reg = <3>; 124 ti,clk-output-sel = <DP83867_C 124 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 125 }; 125 }; 126 126 127 dp83867_1_4: ethernet-phy@4 { 127 dp83867_1_4: ethernet-phy@4 { 128 reg = <4>; 128 reg = <4>; 129 ti,clk-output-sel = <DP83867_C 129 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 130 }; 130 }; 131 131 132 dp83867_1_5: ethernet-phy@5 { 132 dp83867_1_5: ethernet-phy@5 { 133 reg = <5>; 133 reg = <5>; 134 ti,clk-output-sel = <DP83867_C 134 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 135 }; 135 }; 136 136 137 dp83867_1_6: ethernet-phy@6 { 137 dp83867_1_6: ethernet-phy@6 { 138 reg = <6>; 138 reg = <6>; 139 ti,clk-output-sel = <DP83867_C 139 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 140 }; 140 }; 141 }; 141 }; 142 142 143 &emdio2 { 143 &emdio2 { 144 status = "okay"; 144 status = "okay"; 145 145 146 dp83867_2_1: ethernet-phy@1 { 146 dp83867_2_1: ethernet-phy@1 { 147 reg = <1>; 147 reg = <1>; 148 ti,clk-output-sel = <DP83867_C 148 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 149 }; 149 }; 150 150 151 dp83867_2_2: ethernet-phy@2 { 151 dp83867_2_2: ethernet-phy@2 { 152 reg = <2>; 152 reg = <2>; 153 ti,clk-output-sel = <DP83867_C 153 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 154 }; 154 }; 155 155 156 dp83867_2_3: ethernet-phy@3 { 156 dp83867_2_3: ethernet-phy@3 { 157 reg = <3>; 157 reg = <3>; 158 ti,rx-internal-delay = <DP8386 158 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 159 ti,tx-internal-delay = <DP8386 159 ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 160 ti,clk-output-sel = <DP83867_C 160 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 161 }; 161 }; 162 162 163 dp83867_2_4: ethernet-phy@4 { 163 dp83867_2_4: ethernet-phy@4 { 164 reg = <4>; 164 reg = <4>; 165 ti,rx-internal-delay = <DP8386 165 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 166 ti,tx-internal-delay = <DP8386 166 ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_25_NS>; 167 ti,clk-output-sel = <DP83867_C 167 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; 168 }; 168 }; 169 }; 169 }; 170 170 171 &esdhc0 { 171 &esdhc0 { 172 sd-uhs-sdr104; 172 sd-uhs-sdr104; 173 sd-uhs-sdr50; 173 sd-uhs-sdr50; 174 sd-uhs-sdr25; 174 sd-uhs-sdr25; 175 sd-uhs-sdr12; 175 sd-uhs-sdr12; 176 no-mmc; 176 no-mmc; 177 no-sdio; 177 no-sdio; 178 wp-gpios = <&gpio0 30 GPIO_ACTIVE_LOW> 178 wp-gpios = <&gpio0 30 GPIO_ACTIVE_LOW>; 179 cd-gpios = <&gpio0 31 GPIO_ACTIVE_LOW> 179 cd-gpios = <&gpio0 31 GPIO_ACTIVE_LOW>; 180 status = "okay"; 180 status = "okay"; 181 }; 181 }; 182 182 183 &i2c0 { 183 &i2c0 { 184 gpioex3: gpio@20 { 184 gpioex3: gpio@20 { 185 compatible = "nxp,pca9555"; 185 compatible = "nxp,pca9555"; 186 reg = <0x20>; 186 reg = <0x20>; 187 #gpio-cells = <2>; 187 #gpio-cells = <2>; 188 gpio-controller; 188 gpio-controller; 189 vcc-supply = <®_vcc3v3>; 189 vcc-supply = <®_vcc3v3>; 190 }; 190 }; 191 }; 191 }; 192 192 193 &i2c4 { 193 &i2c4 { 194 status = "okay"; 194 status = "okay"; 195 195 196 mux@70 { 196 mux@70 { 197 compatible = "nxp,pca9544"; 197 compatible = "nxp,pca9544"; 198 reg = <0x70>; 198 reg = <0x70>; 199 #address-cells = <1>; 199 #address-cells = <1>; 200 #size-cells = <0>; 200 #size-cells = <0>; 201 vdd-supply = <®_vcc3v3>; 201 vdd-supply = <®_vcc3v3>; 202 202 203 i2c@0 { 203 i2c@0 { 204 reg = <0>; 204 reg = <0>; 205 #address-cells = <1>; 205 #address-cells = <1>; 206 #size-cells = <0>; 206 #size-cells = <0>; 207 }; 207 }; 208 208 209 i2c@1 { 209 i2c@1 { 210 reg = <1>; 210 reg = <1>; 211 #address-cells = <1>; 211 #address-cells = <1>; 212 #size-cells = <0>; 212 #size-cells = <0>; 213 }; 213 }; 214 214 215 i2c@2 { 215 i2c@2 { 216 reg = <2>; 216 reg = <2>; 217 #address-cells = <1>; 217 #address-cells = <1>; 218 #size-cells = <0>; 218 #size-cells = <0>; 219 219 220 gpioex0: gpio@20 { 220 gpioex0: gpio@20 { 221 compatible = " 221 compatible = "nxp,pca9555"; 222 reg = <0x20>; 222 reg = <0x20>; 223 #gpio-cells = 223 #gpio-cells = <2>; 224 gpio-controlle 224 gpio-controller; 225 vcc-supply = < 225 vcc-supply = <®_vcc3v3>; 226 }; 226 }; 227 227 228 gpioex1: gpio@21 { 228 gpioex1: gpio@21 { 229 compatible = " 229 compatible = "nxp,pca9555"; 230 reg = <0x21>; 230 reg = <0x21>; 231 #gpio-cells = 231 #gpio-cells = <2>; 232 gpio-controlle 232 gpio-controller; 233 vcc-supply = < 233 vcc-supply = <®_vcc3v3>; 234 }; 234 }; 235 235 236 gpioex2: gpio@22 { 236 gpioex2: gpio@22 { 237 compatible = " 237 compatible = "nxp,pca9555"; 238 reg = <0x22>; 238 reg = <0x22>; 239 #gpio-cells = 239 #gpio-cells = <2>; 240 gpio-controlle 240 gpio-controller; 241 vcc-supply = < 241 vcc-supply = <®_vcc3v3>; 242 }; 242 }; 243 }; 243 }; 244 244 245 i2c@3 { 245 i2c@3 { 246 reg = <3>; 246 reg = <3>; 247 #address-cells = <1>; 247 #address-cells = <1>; 248 #size-cells = <0>; 248 #size-cells = <0>; 249 }; 249 }; 250 }; 250 }; 251 }; 251 }; 252 252 253 &i2c5 { 253 &i2c5 { 254 status = "okay"; 254 status = "okay"; 255 255 256 mux@70 { 256 mux@70 { 257 compatible = "nxp,pca9544"; 257 compatible = "nxp,pca9544"; 258 reg = <0x70>; 258 reg = <0x70>; 259 #address-cells = <1>; 259 #address-cells = <1>; 260 #size-cells = <0>; 260 #size-cells = <0>; 261 vdd-supply = <®_vcc3v3>; 261 vdd-supply = <®_vcc3v3>; 262 262 263 i2c@0 { 263 i2c@0 { 264 reg = <0>; 264 reg = <0>; 265 #address-cells = <1>; 265 #address-cells = <1>; 266 #size-cells = <0>; 266 #size-cells = <0>; 267 }; 267 }; 268 268 269 xfi1_i2c: i2c@1 { 269 xfi1_i2c: i2c@1 { 270 reg = <1>; 270 reg = <1>; 271 #address-cells = <1>; 271 #address-cells = <1>; 272 #size-cells = <0>; 272 #size-cells = <0>; 273 }; 273 }; 274 274 275 xfi2_i2c: i2c@2 { 275 xfi2_i2c: i2c@2 { 276 reg = <2>; 276 reg = <2>; 277 #address-cells = <1>; 277 #address-cells = <1>; 278 #size-cells = <0>; 278 #size-cells = <0>; 279 }; 279 }; 280 280 281 i2c@3 { 281 i2c@3 { 282 reg = <3>; 282 reg = <3>; 283 #address-cells = <1>; 283 #address-cells = <1>; 284 #size-cells = <0>; 284 #size-cells = <0>; 285 }; 285 }; 286 }; 286 }; 287 }; 287 }; 288 288 289 &pcs_mdio17 { 289 &pcs_mdio17 { 290 status = "okay"; 290 status = "okay"; 291 }; 291 }; 292 292 293 &pcs_mdio18 { 293 &pcs_mdio18 { 294 status = "okay"; 294 status = "okay"; 295 }; 295 }; 296 296 297 &uart0 { 297 &uart0 { 298 status = "okay"; 298 status = "okay"; 299 }; 299 }; 300 300 301 &uart1 { 301 &uart1 { 302 status = "okay"; 302 status = "okay"; 303 }; 303 }; 304 304 305 &uart2 { 305 &uart2 { 306 status = "okay"; 306 status = "okay"; 307 }; 307 }; 308 308 309 &uart3 { 309 &uart3 { 310 status = "okay"; 310 status = "okay"; 311 }; 311 }; 312 312 313 &usb0 { 313 &usb0 { 314 #address-cells = <1>; 314 #address-cells = <1>; 315 #size-cells = <0>; 315 #size-cells = <0>; 316 status = "okay"; 316 status = "okay"; 317 317 318 hub_2_0: hub@1 { 318 hub_2_0: hub@1 { 319 compatible = "usb451,8142"; 319 compatible = "usb451,8142"; 320 reg = <1>; 320 reg = <1>; 321 peer-hub = <&hub_3_0>; 321 peer-hub = <&hub_3_0>; 322 reset-gpios = <&gpioex1 0 GPIO 322 reset-gpios = <&gpioex1 0 GPIO_ACTIVE_LOW>; 323 vdd-supply = <®_vcc3v3>; !! 323 vcc-supply = <®_vcc3v3>; 324 }; 324 }; 325 325 326 hub_3_0: hub@2 { 326 hub_3_0: hub@2 { 327 compatible = "usb451,8140"; 327 compatible = "usb451,8140"; 328 reg = <2>; 328 reg = <2>; 329 peer-hub = <&hub_2_0>; 329 peer-hub = <&hub_2_0>; 330 reset-gpios = <&gpioex1 0 GPIO 330 reset-gpios = <&gpioex1 0 GPIO_ACTIVE_LOW>; 331 vdd-supply = <®_vcc3v3>; !! 331 vcc-supply = <®_vcc3v3>; 332 }; 332 }; 333 }; 333 }; 334 334 335 &usb1 { 335 &usb1 { 336 dr_mode = "otg"; 336 dr_mode = "otg"; 337 status = "okay"; 337 status = "okay"; 338 }; 338 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.