1 // SPDX-License-Identifier: GPL-2.0 OR MIT 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 2 /* 2 /* 3 * Copyright (C) 2021 StarFive Technology Co., 3 * Copyright (C) 2021 StarFive Technology Co., Ltd. 4 * Copyright (C) 2021 Emil Renner Berthing <ker 4 * Copyright (C) 2021 Emil Renner Berthing <kernel@esmil.dk> 5 */ 5 */ 6 6 7 /dts-v1/; 7 /dts-v1/; 8 #include "jh7100.dtsi" 8 #include "jh7100.dtsi" 9 #include <dt-bindings/gpio/gpio.h> 9 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/leds/common.h> 10 #include <dt-bindings/leds/common.h> 11 #include <dt-bindings/pinctrl/pinctrl-starfive 11 #include <dt-bindings/pinctrl/pinctrl-starfive-jh7100.h> 12 12 13 / { 13 / { 14 aliases { 14 aliases { 15 mmc0 = &sdio0; << 16 mmc1 = &sdio1; << 17 serial0 = &uart3; 15 serial0 = &uart3; 18 }; 16 }; 19 17 20 chosen { 18 chosen { 21 stdout-path = "serial0:115200n 19 stdout-path = "serial0:115200n8"; 22 }; 20 }; 23 21 24 cpus { 22 cpus { 25 timebase-frequency = <6250000> 23 timebase-frequency = <6250000>; 26 }; 24 }; 27 25 28 memory@80000000 { 26 memory@80000000 { 29 device_type = "memory"; 27 device_type = "memory"; 30 reg = <0x0 0x80000000 0x2 0x0> 28 reg = <0x0 0x80000000 0x2 0x0>; 31 }; 29 }; 32 30 33 leds { 31 leds { 34 compatible = "gpio-leds"; 32 compatible = "gpio-leds"; 35 33 36 led-ack { 34 led-ack { 37 gpios = <&gpio 43 GPIO 35 gpios = <&gpio 43 GPIO_ACTIVE_HIGH>; 38 color = <LED_COLOR_ID_ 36 color = <LED_COLOR_ID_GREEN>; 39 function = LED_FUNCTIO 37 function = LED_FUNCTION_HEARTBEAT; 40 linux,default-trigger 38 linux,default-trigger = "heartbeat"; 41 label = "ack"; 39 label = "ack"; 42 }; 40 }; 43 }; 41 }; 44 << 45 reserved-memory { << 46 #address-cells = <2>; << 47 #size-cells = <2>; << 48 ranges; << 49 << 50 dma-reserved@fa000000 { << 51 reg = <0x0 0xfa000000 << 52 no-map; << 53 }; << 54 << 55 linux,dma@107a000000 { << 56 compatible = "shared-d << 57 reg = <0x10 0x7a000000 << 58 no-map; << 59 linux,dma-default; << 60 }; << 61 }; << 62 << 63 soc { << 64 dma-ranges = <0x00 0x80000000 << 65 <0x00 0xfa000000 << 66 <0x00 0xfb000000 << 67 }; << 68 << 69 wifi_pwrseq: wifi-pwrseq { << 70 compatible = "mmc-pwrseq-simpl << 71 reset-gpios = <&gpio 37 GPIO_A << 72 }; << 73 }; << 74 << 75 &gmac { << 76 pinctrl-names = "default"; << 77 pinctrl-0 = <&gmac_pins>; << 78 phy-mode = "rgmii-id"; << 79 status = "okay"; << 80 << 81 mdio: mdio { << 82 #address-cells = <1>; << 83 #size-cells = <0>; << 84 compatible = "snps,dwmac-mdio" << 85 }; << 86 }; 42 }; 87 43 88 &gpio { 44 &gpio { 89 gmac_pins: gmac-0 { << 90 gtxclk-pins { << 91 pins = <PAD_FUNC_SHARE << 92 bias-pull-up; << 93 drive-strength = <35>; << 94 input-enable; << 95 input-schmitt-enable; << 96 slew-rate = <0>; << 97 }; << 98 miitxclk-pins { << 99 pins = <PAD_FUNC_SHARE << 100 bias-pull-up; << 101 drive-strength = <14>; << 102 input-enable; << 103 input-schmitt-disable; << 104 slew-rate = <0>; << 105 }; << 106 tx-pins { << 107 pins = <PAD_FUNC_SHARE << 108 <PAD_FUNC_SHARE << 109 <PAD_FUNC_SHARE << 110 <PAD_FUNC_SHARE << 111 <PAD_FUNC_SHARE << 112 <PAD_FUNC_SHARE << 113 <PAD_FUNC_SHARE << 114 <PAD_FUNC_SHARE << 115 <PAD_FUNC_SHARE << 116 bias-pull-up; << 117 drive-strength = <35>; << 118 input-disable; << 119 input-schmitt-disable; << 120 slew-rate = <0>; << 121 }; << 122 rxclk-pins { << 123 pins = <PAD_FUNC_SHARE << 124 bias-pull-up; << 125 drive-strength = <14>; << 126 input-enable; << 127 input-schmitt-disable; << 128 slew-rate = <6>; << 129 }; << 130 rxer-pins { << 131 pins = <PAD_FUNC_SHARE << 132 bias-pull-up; << 133 drive-strength = <14>; << 134 input-enable; << 135 input-schmitt-disable; << 136 slew-rate = <0>; << 137 }; << 138 rx-pins { << 139 pins = <PAD_FUNC_SHARE << 140 <PAD_FUNC_SHARE << 141 <PAD_FUNC_SHARE << 142 <PAD_FUNC_SHARE << 143 <PAD_FUNC_SHARE << 144 <PAD_FUNC_SHARE << 145 <PAD_FUNC_SHARE << 146 <PAD_FUNC_SHARE << 147 <PAD_FUNC_SHARE << 148 <PAD_FUNC_SHARE << 149 <PAD_FUNC_SHARE << 150 <PAD_FUNC_SHARE << 151 <PAD_FUNC_SHARE << 152 bias-pull-up; << 153 drive-strength = <14>; << 154 input-enable; << 155 input-schmitt-enable; << 156 slew-rate = <0>; << 157 }; << 158 }; << 159 << 160 i2c0_pins: i2c0-0 { 45 i2c0_pins: i2c0-0 { 161 i2c-pins { 46 i2c-pins { 162 pinmux = <GPIOMUX(62, 47 pinmux = <GPIOMUX(62, GPO_LOW, 163 GPO_I2C0_PAD 48 GPO_I2C0_PAD_SCK_OEN, 164 GPI_I2C0_PAD 49 GPI_I2C0_PAD_SCK_IN)>, 165 <GPIOMUX(61, 50 <GPIOMUX(61, GPO_LOW, 166 GPO_I2C0_PAD 51 GPO_I2C0_PAD_SDA_OEN, 167 GPI_I2C0_PAD 52 GPI_I2C0_PAD_SDA_IN)>; 168 bias-disable; /* exter 53 bias-disable; /* external pull-up */ 169 input-enable; 54 input-enable; 170 input-schmitt-enable; 55 input-schmitt-enable; 171 }; 56 }; 172 }; 57 }; 173 58 174 i2c1_pins: i2c1-0 { 59 i2c1_pins: i2c1-0 { 175 i2c-pins { 60 i2c-pins { 176 pinmux = <GPIOMUX(47, 61 pinmux = <GPIOMUX(47, GPO_LOW, 177 GPO_I2C1_PAD 62 GPO_I2C1_PAD_SCK_OEN, 178 GPI_I2C1_PAD 63 GPI_I2C1_PAD_SCK_IN)>, 179 <GPIOMUX(48, 64 <GPIOMUX(48, GPO_LOW, 180 GPO_I2C1_PAD 65 GPO_I2C1_PAD_SDA_OEN, 181 GPI_I2C1_PAD 66 GPI_I2C1_PAD_SDA_IN)>; 182 bias-pull-up; 67 bias-pull-up; 183 input-enable; 68 input-enable; 184 input-schmitt-enable; 69 input-schmitt-enable; 185 }; 70 }; 186 }; 71 }; 187 72 188 i2c2_pins: i2c2-0 { 73 i2c2_pins: i2c2-0 { 189 i2c-pins { 74 i2c-pins { 190 pinmux = <GPIOMUX(60, 75 pinmux = <GPIOMUX(60, GPO_LOW, 191 GPO_I2C2_PAD 76 GPO_I2C2_PAD_SCK_OEN, 192 GPI_I2C2_PAD 77 GPI_I2C2_PAD_SCK_IN)>, 193 <GPIOMUX(59, 78 <GPIOMUX(59, GPO_LOW, 194 GPO_I2C2_PAD 79 GPO_I2C2_PAD_SDA_OEN, 195 GPI_I2C2_PAD 80 GPI_I2C2_PAD_SDA_IN)>; 196 bias-disable; /* exter 81 bias-disable; /* external pull-up */ 197 input-enable; 82 input-enable; 198 input-schmitt-enable; 83 input-schmitt-enable; 199 }; 84 }; 200 }; 85 }; 201 86 202 pwm_pins: pwm-0 { << 203 pwm-pins { << 204 pinmux = <GPIOMUX(7, << 205 GPO_PWM_PAD_ << 206 GPO_PWM_PAD_ << 207 GPI_NONE)>, << 208 <GPIOMUX(5, << 209 GPO_PWM_PAD_ << 210 GPO_PWM_PAD_ << 211 GPI_NONE)>; << 212 bias-disable; << 213 drive-strength = <35>; << 214 input-disable; << 215 input-schmitt-disable; << 216 slew-rate = <0>; << 217 }; << 218 }; << 219 << 220 sdio0_pins: sdio0-0 { << 221 clk-pins { << 222 pinmux = <GPIOMUX(54, << 223 GPO_ENABLE, << 224 bias-disable; << 225 input-disable; << 226 input-schmitt-disable; << 227 }; << 228 sdio-pins { << 229 pinmux = <GPIOMUX(55, << 230 GPI_SDIO0_PA << 231 <GPIOMUX(53, << 232 GPO_SDIO0_PA << 233 GPO_SDIO0_PA << 234 GPI_SDIO0_PA << 235 <GPIOMUX(49, << 236 GPO_SDIO0_PA << 237 GPO_SDIO0_PA << 238 GPI_SDIO0_PA << 239 <GPIOMUX(50, << 240 GPO_SDIO0_PA << 241 GPO_SDIO0_PA << 242 GPI_SDIO0_PA << 243 <GPIOMUX(51, << 244 GPO_SDIO0_PA << 245 GPO_SDIO0_PA << 246 GPI_SDIO0_PA << 247 <GPIOMUX(52, << 248 GPO_SDIO0_PA << 249 GPO_SDIO0_PA << 250 GPI_SDIO0_PA << 251 bias-pull-up; << 252 input-enable; << 253 input-schmitt-enable; << 254 }; << 255 }; << 256 << 257 sdio1_pins: sdio1-0 { << 258 clk-pins { << 259 pinmux = <GPIOMUX(33, << 260 GPO_ENABLE, << 261 bias-disable; << 262 input-disable; << 263 input-schmitt-disable; << 264 }; << 265 sdio-pins { << 266 pinmux = <GPIOMUX(29, << 267 GPO_SDIO1_PA << 268 GPO_SDIO1_PA << 269 GPI_SDIO1_PA << 270 <GPIOMUX(36, << 271 GPO_SDIO1_PA << 272 GPO_SDIO1_PA << 273 GPI_SDIO1_PA << 274 <GPIOMUX(30, << 275 GPO_SDIO1_PA << 276 GPO_SDIO1_PA << 277 GPI_SDIO1_PA << 278 <GPIOMUX(34, << 279 GPO_SDIO1_PA << 280 GPO_SDIO1_PA << 281 GPI_SDIO1_PA << 282 <GPIOMUX(31, << 283 GPO_SDIO1_PA << 284 GPO_SDIO1_PA << 285 GPI_SDIO1_PA << 286 bias-pull-up; << 287 input-enable; << 288 input-schmitt-enable; << 289 }; << 290 }; << 291 << 292 uart3_pins: uart3-0 { 87 uart3_pins: uart3-0 { 293 rx-pins { 88 rx-pins { 294 pinmux = <GPIOMUX(13, 89 pinmux = <GPIOMUX(13, GPO_LOW, GPO_DISABLE, 295 GPI_UART3_PA 90 GPI_UART3_PAD_SIN)>; 296 bias-pull-up; 91 bias-pull-up; 297 drive-strength = <14>; 92 drive-strength = <14>; 298 input-enable; 93 input-enable; 299 input-schmitt-enable; 94 input-schmitt-enable; 300 slew-rate = <0>; 95 slew-rate = <0>; 301 }; 96 }; 302 tx-pins { 97 tx-pins { 303 pinmux = <GPIOMUX(14, 98 pinmux = <GPIOMUX(14, GPO_UART3_PAD_SOUT, 304 GPO_ENABLE, 99 GPO_ENABLE, GPI_NONE)>; 305 bias-disable; 100 bias-disable; 306 drive-strength = <35>; 101 drive-strength = <35>; 307 input-disable; 102 input-disable; 308 input-schmitt-disable; 103 input-schmitt-disable; 309 slew-rate = <0>; 104 slew-rate = <0>; 310 }; 105 }; 311 }; 106 }; 312 }; 107 }; 313 108 314 &i2c0 { 109 &i2c0 { 315 clock-frequency = <100000>; 110 clock-frequency = <100000>; 316 i2c-sda-hold-time-ns = <300>; 111 i2c-sda-hold-time-ns = <300>; 317 i2c-sda-falling-time-ns = <500>; 112 i2c-sda-falling-time-ns = <500>; 318 i2c-scl-falling-time-ns = <500>; 113 i2c-scl-falling-time-ns = <500>; 319 pinctrl-names = "default"; 114 pinctrl-names = "default"; 320 pinctrl-0 = <&i2c0_pins>; 115 pinctrl-0 = <&i2c0_pins>; 321 status = "okay"; 116 status = "okay"; 322 117 323 pmic@5e { 118 pmic@5e { 324 compatible = "ti,tps65086"; 119 compatible = "ti,tps65086"; 325 reg = <0x5e>; 120 reg = <0x5e>; 326 gpio-controller; 121 gpio-controller; 327 #gpio-cells = <2>; 122 #gpio-cells = <2>; 328 123 329 regulators { 124 regulators { 330 }; 125 }; 331 }; 126 }; 332 }; 127 }; 333 128 334 &i2c1 { 129 &i2c1 { 335 clock-frequency = <400000>; 130 clock-frequency = <400000>; 336 i2c-sda-hold-time-ns = <300>; 131 i2c-sda-hold-time-ns = <300>; 337 i2c-sda-falling-time-ns = <100>; 132 i2c-sda-falling-time-ns = <100>; 338 i2c-scl-falling-time-ns = <100>; 133 i2c-scl-falling-time-ns = <100>; 339 pinctrl-names = "default"; 134 pinctrl-names = "default"; 340 pinctrl-0 = <&i2c1_pins>; 135 pinctrl-0 = <&i2c1_pins>; 341 status = "okay"; 136 status = "okay"; 342 }; 137 }; 343 138 344 &i2c2 { 139 &i2c2 { 345 clock-frequency = <100000>; 140 clock-frequency = <100000>; 346 i2c-sda-hold-time-ns = <300>; 141 i2c-sda-hold-time-ns = <300>; 347 i2c-sda-falling-time-ns = <500>; 142 i2c-sda-falling-time-ns = <500>; 348 i2c-scl-falling-time-ns = <500>; 143 i2c-scl-falling-time-ns = <500>; 349 pinctrl-names = "default"; 144 pinctrl-names = "default"; 350 pinctrl-0 = <&i2c2_pins>; 145 pinctrl-0 = <&i2c2_pins>; 351 status = "okay"; 146 status = "okay"; 352 }; 147 }; 353 148 354 &osc_sys { 149 &osc_sys { 355 clock-frequency = <25000000>; 150 clock-frequency = <25000000>; 356 }; 151 }; 357 152 358 &osc_aud { 153 &osc_aud { 359 clock-frequency = <27000000>; 154 clock-frequency = <27000000>; 360 }; << 361 << 362 &pwm { << 363 pinctrl-names = "default"; << 364 pinctrl-0 = <&pwm_pins>; << 365 status = "okay"; << 366 }; << 367 << 368 &sdio0 { << 369 broken-cd; << 370 bus-width = <4>; << 371 cap-sd-highspeed; << 372 pinctrl-names = "default"; << 373 pinctrl-0 = <&sdio0_pins>; << 374 status = "okay"; << 375 }; << 376 << 377 &sdio1 { << 378 #address-cells = <1>; << 379 #size-cells = <0>; << 380 bus-width = <4>; << 381 cap-sd-highspeed; << 382 cap-sdio-irq; << 383 cap-power-off-card; << 384 mmc-pwrseq = <&wifi_pwrseq>; << 385 non-removable; << 386 pinctrl-names = "default"; << 387 pinctrl-0 = <&sdio1_pins>; << 388 status = "okay"; << 389 << 390 wifi@1 { << 391 compatible = "brcm,bcm4329-fma << 392 reg = <1>; << 393 }; << 394 }; 155 }; 395 156 396 &uart3 { 157 &uart3 { 397 pinctrl-names = "default"; 158 pinctrl-names = "default"; 398 pinctrl-0 = <&uart3_pins>; 159 pinctrl-0 = <&uart3_pins>; 399 status = "okay"; 160 status = "okay"; 400 }; 161 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.