1// SPDX-License-Identifier: GPL-2.0+ OR MIT 2/* 3 * PMGR Power domains for the Apple T7000 "A8" SoC 4 * 5 * Copyright (c) 2024, Nick Chan <towinchenmi@gmail.com> 6 */ 7&pmgr { 8 ps_cpu0: power-controller@20000 { 9 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 10 reg = <0x20000 4>; 11 #power-domain-cells = <0>; 12 #reset-cells = <0>; 13 label = "cpu0"; 14 apple,always-on; /* Core device */ 15 }; 16 17 ps_cpu1: power-controller@20008 { 18 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 19 reg = <0x20008 4>; 20 #power-domain-cells = <0>; 21 #reset-cells = <0>; 22 label = "cpu1"; 23 apple,always-on; /* Core device */ 24 }; 25 26 ps_cpm: power-controller@20040 { 27 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 28 reg = <0x20040 4>; 29 #power-domain-cells = <0>; 30 #reset-cells = <0>; 31 label = "cpm"; 32 apple,always-on; /* Core device */ 33 }; 34 35 ps_sio_p: power-controller@201f8 { 36 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 37 reg = <0x201f8 4>; 38 #power-domain-cells = <0>; 39 #reset-cells = <0>; 40 label = "sio_p"; 41 }; 42 43 ps_lio: power-controller@20100 { 44 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 45 reg = <0x20100 4>; 46 #power-domain-cells = <0>; 47 #reset-cells = <0>; 48 label = "lio"; 49 apple,always-on; /* Core device */ 50 }; 51 52 ps_iomux: power-controller@20108 { 53 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 54 reg = <0x20108 4>; 55 #power-domain-cells = <0>; 56 #reset-cells = <0>; 57 label = "iomux"; 58 apple,always-on; /* Core device */ 59 }; 60 61 ps_aic: power-controller@20110 { 62 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 63 reg = <0x20110 4>; 64 #power-domain-cells = <0>; 65 #reset-cells = <0>; 66 label = "aic"; 67 apple,always-on; /* Core device */ 68 }; 69 70 ps_debug: power-controller@20118 { 71 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 72 reg = <0x20118 4>; 73 #power-domain-cells = <0>; 74 #reset-cells = <0>; 75 label = "debug"; 76 }; 77 78 ps_dwi: power-controller@20120 { 79 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 80 reg = <0x20120 4>; 81 #power-domain-cells = <0>; 82 #reset-cells = <0>; 83 label = "dwi"; 84 }; 85 86 ps_gpio: power-controller@20128 { 87 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 88 reg = <0x20128 4>; 89 #power-domain-cells = <0>; 90 #reset-cells = <0>; 91 label = "gpio"; 92 }; 93 94 ps_mca0: power-controller@20130 { 95 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 96 reg = <0x20130 4>; 97 #power-domain-cells = <0>; 98 #reset-cells = <0>; 99 label = "mca0"; 100 power-domains = <&ps_sio_p>; 101 }; 102 103 ps_mca1: power-controller@20138 { 104 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 105 reg = <0x20138 4>; 106 #power-domain-cells = <0>; 107 #reset-cells = <0>; 108 label = "mca1"; 109 power-domains = <&ps_sio_p>; 110 }; 111 112 ps_mca2: power-controller@20140 { 113 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 114 reg = <0x20140 4>; 115 #power-domain-cells = <0>; 116 #reset-cells = <0>; 117 label = "mca2"; 118 power-domains = <&ps_sio_p>; 119 }; 120 121 ps_mca3: power-controller@20148 { 122 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 123 reg = <0x20148 4>; 124 #power-domain-cells = <0>; 125 #reset-cells = <0>; 126 label = "mca3"; 127 power-domains = <&ps_sio_p>; 128 }; 129 130 ps_mca4: power-controller@20150 { 131 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 132 reg = <0x20150 4>; 133 #power-domain-cells = <0>; 134 #reset-cells = <0>; 135 label = "mca4"; 136 power-domains = <&ps_sio_p>; 137 }; 138 139 ps_pwm0: power-controller@20158 { 140 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 141 reg = <0x20158 4>; 142 #power-domain-cells = <0>; 143 #reset-cells = <0>; 144 label = "pwm0"; 145 power-domains = <&ps_sio_p>; 146 }; 147 148 ps_i2c0: power-controller@20160 { 149 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 150 reg = <0x20160 4>; 151 #power-domain-cells = <0>; 152 #reset-cells = <0>; 153 label = "i2c0"; 154 power-domains = <&ps_sio_p>; 155 }; 156 157 ps_i2c1: power-controller@20168 { 158 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 159 reg = <0x20168 4>; 160 #power-domain-cells = <0>; 161 #reset-cells = <0>; 162 label = "i2c1"; 163 power-domains = <&ps_sio_p>; 164 }; 165 166 ps_i2c2: power-controller@20170 { 167 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 168 reg = <0x20170 4>; 169 #power-domain-cells = <0>; 170 #reset-cells = <0>; 171 label = "i2c2"; 172 power-domains = <&ps_sio_p>; 173 }; 174 175 ps_i2c3: power-controller@20178 { 176 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 177 reg = <0x20178 4>; 178 #power-domain-cells = <0>; 179 #reset-cells = <0>; 180 label = "i2c3"; 181 power-domains = <&ps_sio_p>; 182 }; 183 184 ps_spi0: power-controller@20180 { 185 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 186 reg = <0x20180 4>; 187 #power-domain-cells = <0>; 188 #reset-cells = <0>; 189 label = "spi0"; 190 power-domains = <&ps_sio_p>; 191 }; 192 193 ps_spi1: power-controller@20188 { 194 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 195 reg = <0x20188 4>; 196 #power-domain-cells = <0>; 197 #reset-cells = <0>; 198 label = "spi1"; 199 power-domains = <&ps_sio_p>; 200 }; 201 202 ps_spi2: power-controller@20190 { 203 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 204 reg = <0x20190 4>; 205 #power-domain-cells = <0>; 206 #reset-cells = <0>; 207 label = "spi2"; 208 power-domains = <&ps_sio_p>; 209 }; 210 211 ps_spi3: power-controller@20198 { 212 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 213 reg = <0x20198 4>; 214 #power-domain-cells = <0>; 215 #reset-cells = <0>; 216 label = "spi3"; 217 power-domains = <&ps_sio_p>; 218 }; 219 220 ps_uart0: power-controller@201a0 { 221 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 222 reg = <0x201a0 4>; 223 #power-domain-cells = <0>; 224 #reset-cells = <0>; 225 label = "uart0"; 226 power-domains = <&ps_sio_p>; 227 }; 228 229 ps_uart1: power-controller@201a8 { 230 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 231 reg = <0x201a8 4>; 232 #power-domain-cells = <0>; 233 #reset-cells = <0>; 234 label = "uart1"; 235 power-domains = <&ps_sio_p>; 236 }; 237 238 ps_uart2: power-controller@201b0 { 239 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 240 reg = <0x201b0 4>; 241 #power-domain-cells = <0>; 242 #reset-cells = <0>; 243 label = "uart2"; 244 power-domains = <&ps_sio_p>; 245 }; 246 247 ps_uart3: power-controller@201b8 { 248 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 249 reg = <0x201b8 4>; 250 #power-domain-cells = <0>; 251 #reset-cells = <0>; 252 label = "uart3"; 253 power-domains = <&ps_sio_p>; 254 }; 255 256 ps_uart4: power-controller@201c0 { 257 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 258 reg = <0x201c0 4>; 259 #power-domain-cells = <0>; 260 #reset-cells = <0>; 261 label = "uart4"; 262 power-domains = <&ps_sio_p>; 263 }; 264 265 ps_uart5: power-controller@201c8 { 266 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 267 reg = <0x201c8 4>; 268 #power-domain-cells = <0>; 269 #reset-cells = <0>; 270 label = "uart5"; 271 power-domains = <&ps_sio_p>; 272 }; 273 274 ps_uart6: power-controller@201d0 { 275 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 276 reg = <0x201d0 4>; 277 #power-domain-cells = <0>; 278 #reset-cells = <0>; 279 label = "uart6"; 280 power-domains = <&ps_sio_p>; 281 }; 282 283 ps_uart7: power-controller@201d8 { 284 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 285 reg = <0x201d8 4>; 286 #power-domain-cells = <0>; 287 #reset-cells = <0>; 288 label = "uart7"; 289 power-domains = <&ps_sio_p>; 290 }; 291 292 ps_uart8: power-controller@201e0 { 293 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 294 reg = <0x201e0 4>; 295 #power-domain-cells = <0>; 296 #reset-cells = <0>; 297 label = "uart8"; 298 power-domains = <&ps_sio_p>; 299 }; 300 301 ps_aes0: power-controller@201e8 { 302 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 303 reg = <0x201e8 4>; 304 #power-domain-cells = <0>; 305 #reset-cells = <0>; 306 label = "aes0"; 307 power-domains = <&ps_sio_p>; 308 }; 309 310 ps_sio: power-controller@201f0 { 311 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 312 reg = <0x201f0 4>; 313 #power-domain-cells = <0>; 314 #reset-cells = <0>; 315 label = "sio"; 316 power-domains = <&ps_sio_p>; 317 apple,always-on; /* Core device */ 318 }; 319 320 ps_usb: power-controller@20248 { 321 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 322 reg = <0x20248 4>; 323 #power-domain-cells = <0>; 324 #reset-cells = <0>; 325 label = "usb"; 326 }; 327 328 ps_usbctrl: power-controller@20250 { 329 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 330 reg = <0x20250 4>; 331 #power-domain-cells = <0>; 332 #reset-cells = <0>; 333 label = "usbctrl"; 334 power-domains = <&ps_usb>; 335 }; 336 337 ps_usb2host0: power-controller@20258 { 338 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 339 reg = <0x20258 4>; 340 #power-domain-cells = <0>; 341 #reset-cells = <0>; 342 label = "usb2host0"; 343 power-domains = <&ps_usbctrl>; 344 }; 345 346 ps_usb2host1: power-controller@20268 { 347 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 348 reg = <0x20268 4>; 349 #power-domain-cells = <0>; 350 #reset-cells = <0>; 351 label = "usb2host1"; 352 power-domains = <&ps_usbctrl>; 353 }; 354 355 ps_usb2host2: power-controller@20278 { 356 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 357 reg = <0x20278 4>; 358 #power-domain-cells = <0>; 359 #reset-cells = <0>; 360 label = "usb2host2"; 361 power-domains = <&ps_usbctrl>; 362 }; 363 364 ps_disp_busmux: power-controller@202a8 { 365 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 366 reg = <0x202a8 4>; 367 #power-domain-cells = <0>; 368 #reset-cells = <0>; 369 label = "disp_busmux"; 370 }; 371 372 ps_media: power-controller@202d8 { 373 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 374 reg = <0x202d8 4>; 375 #power-domain-cells = <0>; 376 #reset-cells = <0>; 377 label = "media"; 378 }; 379 380 ps_isp: power-controller@202d0 { 381 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 382 reg = <0x202d0 4>; 383 #power-domain-cells = <0>; 384 #reset-cells = <0>; 385 label = "isp"; 386 }; 387 388 ps_msr: power-controller@202e0 { 389 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 390 reg = <0x202e0 4>; 391 #power-domain-cells = <0>; 392 #reset-cells = <0>; 393 label = "msr"; 394 power-domains = <&ps_media>; 395 }; 396 397 ps_jpg: power-controller@202e8 { 398 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 399 reg = <0x202e8 4>; 400 #power-domain-cells = <0>; 401 #reset-cells = <0>; 402 label = "jpg"; 403 power-domains = <&ps_media>; 404 }; 405 406 ps_disp0: power-controller@202b0 { 407 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 408 reg = <0x202b0 4>; 409 #power-domain-cells = <0>; 410 #reset-cells = <0>; 411 label = "disp0"; 412 power-domains = <&ps_disp_busmux>; 413 }; 414 415 ps_disp1: power-controller@202c8 { 416 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 417 reg = <0x202c8 4>; 418 #power-domain-cells = <0>; 419 #reset-cells = <0>; 420 label = "disp1"; 421 power-domains = <&ps_disp_busmux>; 422 }; 423 424 ps_pcie_ref: power-controller@20220 { 425 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 426 reg = <0x20220 4>; 427 #power-domain-cells = <0>; 428 #reset-cells = <0>; 429 label = "pcie_ref"; 430 }; 431 432 ps_hsic0_phy: power-controller@20200 { 433 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 434 reg = <0x20200 4>; 435 #power-domain-cells = <0>; 436 #reset-cells = <0>; 437 label = "hsic0_phy"; 438 power-domains = <&ps_usb2host1>; 439 }; 440 441 ps_hsic1_phy: power-controller@20208 { 442 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 443 reg = <0x20208 4>; 444 #power-domain-cells = <0>; 445 #reset-cells = <0>; 446 label = "hsic1_phy"; 447 power-domains = <&ps_usb2host2>; 448 }; 449 450 ps_ispsens0: power-controller@20210 { 451 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 452 reg = <0x20210 4>; 453 #power-domain-cells = <0>; 454 #reset-cells = <0>; 455 label = "ispsens0"; 456 }; 457 458 ps_ispsens1: power-controller@20218 { 459 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 460 reg = <0x20218 4>; 461 #power-domain-cells = <0>; 462 #reset-cells = <0>; 463 label = "ispsens1"; 464 }; 465 466 ps_mcc: power-controller@20230 { 467 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 468 reg = <0x20230 4>; 469 #power-domain-cells = <0>; 470 #reset-cells = <0>; 471 label = "mcc"; 472 apple,always-on; /* Memory cache controller */ 473 }; 474 475 ps_mcu: power-controller@20238 { 476 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 477 reg = <0x20238 4>; 478 #power-domain-cells = <0>; 479 #reset-cells = <0>; 480 label = "mcu"; 481 apple,always-on; /* Core device */ 482 }; 483 484 ps_amp: power-controller@20240 { 485 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 486 reg = <0x20240 4>; 487 #power-domain-cells = <0>; 488 #reset-cells = <0>; 489 label = "amp"; 490 apple,always-on; /* Core device */ 491 }; 492 493 ps_usb2host0_ohci: power-controller@20260 { 494 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 495 reg = <0x20260 4>; 496 #power-domain-cells = <0>; 497 #reset-cells = <0>; 498 label = "usb2host0_ohci"; 499 power-domains = <&ps_usb2host0>; 500 }; 501 502 ps_usbotg: power-controller@20288 { 503 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 504 reg = <0x20288 4>; 505 #power-domain-cells = <0>; 506 #reset-cells = <0>; 507 label = "usbotg"; 508 power-domains = <&ps_usbctrl>; 509 }; 510 511 ps_smx: power-controller@20290 { 512 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 513 reg = <0x20290 4>; 514 #power-domain-cells = <0>; 515 #reset-cells = <0>; 516 label = "smx"; 517 apple,always-on; /* Apple Fabric, critical block */ 518 }; 519 520 ps_sf: power-controller@20298 { 521 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 522 reg = <0x20298 4>; 523 #power-domain-cells = <0>; 524 #reset-cells = <0>; 525 label = "sf"; 526 apple,always-on; /* Apple Fabric, critical block */ 527 }; 528 529 ps_cp: power-controller@202a0 { 530 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 531 reg = <0x202a0 4>; 532 #power-domain-cells = <0>; 533 #reset-cells = <0>; 534 label = "cp"; 535 apple,always-on; /* Core device */ 536 }; 537 538 ps_mipi_dsi: power-controller@202b8 { 539 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 540 reg = <0x202b8 4>; 541 #power-domain-cells = <0>; 542 #reset-cells = <0>; 543 label = "mipi_dsi"; 544 power-domains = <&ps_disp_busmux>; 545 }; 546 547 ps_dp: power-controller@202c0 { 548 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 549 reg = <0x202c0 4>; 550 #power-domain-cells = <0>; 551 #reset-cells = <0>; 552 label = "dp"; 553 power-domains = <&ps_disp0>; 554 }; 555 556 ps_vdec: power-controller@202f0 { 557 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 558 reg = <0x202f0 4>; 559 #power-domain-cells = <0>; 560 #reset-cells = <0>; 561 label = "vdec"; 562 power-domains = <&ps_media>; 563 }; 564 565 ps_ans: power-controller@20318 { 566 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 567 reg = <0x20318 4>; 568 #power-domain-cells = <0>; 569 #reset-cells = <0>; 570 label = "ans"; 571 }; 572 573 ps_venc: power-controller@20300 { 574 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 575 reg = <0x20300 4>; 576 #power-domain-cells = <0>; 577 #reset-cells = <0>; 578 label = "venc"; 579 power-domains = <&ps_media>; 580 }; 581 582 ps_pcie: power-controller@20308 { 583 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 584 reg = <0x20308 4>; 585 #power-domain-cells = <0>; 586 #reset-cells = <0>; 587 label = "pcie"; 588 }; 589 590 ps_pcie_aux: power-controller@20310 { 591 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 592 reg = <0x20310 4>; 593 #power-domain-cells = <0>; 594 #reset-cells = <0>; 595 label = "pcie_aux"; 596 }; 597 598 ps_gfx: power-controller@20320 { 599 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 600 reg = <0x20320 4>; 601 #power-domain-cells = <0>; 602 #reset-cells = <0>; 603 label = "gfx"; 604 }; 605 606 ps_sep: power-controller@20400 { 607 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 608 reg = <0x20400 4>; 609 #power-domain-cells = <0>; 610 #reset-cells = <0>; 611 label = "sep"; 612 apple,always-on; /* Locked on */ 613 }; 614 615 ps_venc_pipe: power-controller@21000 { 616 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 617 reg = <0x21000 4>; 618 #power-domain-cells = <0>; 619 #reset-cells = <0>; 620 label = "venc_pipe"; 621 power-domains = <&ps_venc>; 622 }; 623 624 ps_venc_me0: power-controller@21008 { 625 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 626 reg = <0x21008 4>; 627 #power-domain-cells = <0>; 628 #reset-cells = <0>; 629 label = "venc_me0"; 630 power-domains = <&ps_venc>; 631 }; 632 633 ps_venc_me1: power-controller@21010 { 634 compatible = "apple,t7000-pmgr-pwrstate", "apple,pmgr-pwrstate"; 635 reg = <0x21010 4>; 636 #power-domain-cells = <0>; 637 #reset-cells = <0>; 638 label = "venc_me1"; 639 power-domains = <&ps_venc>; 640 }; 641}; 642