1 // SPDX-License-Identifier: BSD-3-Clause 2 /* 3 * Lenovo Yoga C630 4 * 5 * Copyright (c) 2019, Linaro Ltd. 6 */ 7 8 /dts-v1/; 9 10 #include <dt-bindings/input/gpio-keys.h> 11 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/regulator/qcom,rpmh-regu 13 #include <dt-bindings/sound/qcom,q6afe.h> 14 #include <dt-bindings/sound/qcom,q6asm.h> 15 #include "sdm850.dtsi" 16 #include "sdm845-wcd9340.dtsi" 17 #include "pm8998.dtsi" 18 19 /* 20 * Update following upstream (sdm845.dtsi) res 21 * memory mappings for firmware loading to suc 22 * and enable the IPA device. 23 */ 24 /delete-node/ &ipa_fw_mem; 25 /delete-node/ &ipa_gsi_mem; 26 /delete-node/ &gpu_mem; 27 /delete-node/ &adsp_mem; 28 /delete-node/ &wlan_msa_mem; 29 30 / { 31 model = "Lenovo Yoga C630"; 32 compatible = "lenovo,yoga-c630", "qcom 33 chassis-type = "convertible"; 34 35 aliases { 36 serial0 = &uart9; 37 serial1 = &uart6; 38 }; 39 40 gpio-keys { 41 compatible = "gpio-keys"; 42 43 pinctrl-names = "default"; 44 pinctrl-0 = <&lid_pin_active>, 45 46 switch-lid { 47 gpios = <&tlmm 124 GPI 48 linux,input-type = <EV 49 linux,code = <SW_LID>; 50 wakeup-source; 51 wakeup-event-action = 52 }; 53 54 switch-mode { 55 gpios = <&tlmm 95 GPIO 56 linux,input-type = <EV 57 linux,code = <SW_TABLE 58 }; 59 }; 60 61 /* Reserved memory changes for IPA */ 62 reserved-memory { 63 wlan_msa_mem: memory@8c400000 64 reg = <0 0x8c400000 0 65 no-map; 66 }; 67 68 gpu_mem: memory@8c515000 { 69 reg = <0 0x8c515000 0 70 no-map; 71 }; 72 73 ipa_fw_mem: memory@8c517000 { 74 reg = <0 0x8c517000 0 75 no-map; 76 }; 77 78 adsp_mem: memory@8c600000 { 79 reg = <0 0x8c600000 0 80 no-map; 81 }; 82 }; 83 84 sw_edp_1p2: edp-1p2-regulator { 85 compatible = "regulator-fixed" 86 regulator-name = "sw_edp_1p2"; 87 88 regulator-min-microvolt = <120 89 regulator-max-microvolt = <120 90 91 pinctrl-0 = <&sw_edp_1p2_en>; 92 pinctrl-names = "default"; 93 94 gpio = <&pm8998_gpios 9 GPIO_A 95 enable-active-high; 96 97 vin-supply = <&vreg_l2a_1p2>; 98 }; 99 100 sn65dsi86_refclk: sn65dsi86-refclk { 101 compatible = "fixed-clock"; 102 #clock-cells = <0>; 103 104 clock-frequency = <19200000>; 105 }; 106 107 vph_pwr: regulator-vph-pwr { 108 compatible = "regulator-fixed" 109 regulator-name = "vph_pwr"; 110 regulator-min-microvolt = <370 111 regulator-max-microvolt = <370 112 }; 113 114 vlcm_3v3: regulator-vlcm-3v3 { 115 compatible = "regulator-fixed" 116 regulator-name = "vlcm_3v3"; 117 118 vin-supply = <&vph_pwr>; 119 regulator-min-microvolt = <330 120 regulator-max-microvolt = <330 121 122 gpio = <&tlmm 88 GPIO_ACTIVE_H 123 enable-active-high; 124 }; 125 126 backlight: backlight { 127 compatible = "pwm-backlight"; 128 pwms = <&sn65dsi86 1000000>; 129 enable-gpios = <&tlmm 11 GPIO_ 130 }; 131 }; 132 133 &adsp_pas { 134 firmware-name = "qcom/sdm850/LENOVO/81 135 status = "okay"; 136 }; 137 138 &apps_rsc { 139 regulators-0 { 140 compatible = "qcom,pm8998-rpmh 141 qcom,pmic-id = "a"; 142 143 vdd-l2-l8-l17-supply = <&vreg_ 144 vdd-l7-l12-l14-l15-supply = <& 145 146 vreg_s2a_1p125: smps2 { 147 }; 148 149 vreg_s3a_1p35: smps3 { 150 regulator-min-microvol 151 regulator-max-microvol 152 regulator-initial-mode 153 }; 154 155 vreg_s4a_1p8: smps4 { 156 regulator-min-microvol 157 regulator-max-microvol 158 regulator-initial-mode 159 }; 160 161 vreg_s5a_2p04: smps5 { 162 regulator-min-microvol 163 regulator-max-microvol 164 regulator-initial-mode 165 }; 166 167 vreg_s7a_1p025: smps7 { 168 }; 169 170 vdd_qusb_hs0: 171 vdda_hp_pcie_core: 172 vdda_mipi_csi0_0p9: 173 vdda_mipi_csi1_0p9: 174 vdda_mipi_csi2_0p9: 175 vdda_mipi_dsi0_pll: 176 vdda_mipi_dsi1_pll: 177 vdda_qlink_lv: 178 vdda_qlink_lv_ck: 179 vdda_qrefs_0p875: 180 vdda_pcie_core: 181 vdda_pll_cc_ebi01: 182 vdda_pll_cc_ebi23: 183 vdda_sp_sensor: 184 vdda_ufs1_core: 185 vdda_ufs2_core: 186 vdda_usb1_ss_core: 187 vdda_usb2_ss_core: 188 vreg_l1a_0p875: ldo1 { 189 regulator-min-microvol 190 regulator-max-microvol 191 regulator-initial-mode 192 }; 193 194 vddpx_10: 195 vreg_l2a_1p2: ldo2 { 196 regulator-min-microvol 197 regulator-max-microvol 198 regulator-initial-mode 199 regulator-always-on; 200 }; 201 202 vreg_l3a_1p0: ldo3 { 203 }; 204 205 vdd_wcss_cx: 206 vdd_wcss_mx: 207 vdda_wcss_pll: 208 vreg_l5a_0p8: ldo5 { 209 regulator-min-microvol 210 regulator-max-microvol 211 regulator-initial-mode 212 }; 213 214 vddpx_13: 215 vreg_l6a_1p8: ldo6 { 216 regulator-min-microvol 217 regulator-max-microvol 218 regulator-initial-mode 219 }; 220 221 vreg_l7a_1p8: ldo7 { 222 regulator-min-microvol 223 regulator-max-microvol 224 regulator-initial-mode 225 }; 226 227 vreg_l8a_1p2: ldo8 { 228 }; 229 230 vreg_l9a_1p8: ldo9 { 231 }; 232 233 vreg_l10a_1p8: ldo10 { 234 }; 235 236 vreg_l11a_1p0: ldo11 { 237 }; 238 239 vdd_qfprom: 240 vdd_qfprom_sp: 241 vdda_apc1_cs_1p8: 242 vdda_gfx_cs_1p8: 243 vdda_qrefs_1p8: 244 vdda_qusb_hs0_1p8: 245 vddpx_11: 246 vreg_l12a_1p8: ldo12 { 247 regulator-min-microvol 248 regulator-max-microvol 249 regulator-initial-mode 250 }; 251 252 vddpx_2: 253 vreg_l13a_2p95: ldo13 { 254 }; 255 256 vreg_l14a_1p88: ldo14 { 257 regulator-min-microvol 258 regulator-max-microvol 259 regulator-initial-mode 260 regulator-always-on; 261 }; 262 263 vreg_l15a_1p8: ldo15 { 264 }; 265 266 vreg_l16a_2p7: ldo16 { 267 }; 268 269 vreg_l17a_1p3: ldo17 { 270 regulator-min-microvol 271 regulator-max-microvol 272 regulator-initial-mode 273 }; 274 275 vreg_l18a_2p7: ldo18 { 276 }; 277 278 vreg_l19a_3p0: ldo19 { 279 regulator-min-microvol 280 regulator-max-microvol 281 regulator-initial-mode 282 }; 283 284 vreg_l20a_2p95: ldo20 { 285 regulator-min-microvol 286 regulator-max-microvol 287 regulator-initial-mode 288 }; 289 290 vreg_l21a_2p95: ldo21 { 291 }; 292 293 vreg_l22a_2p85: ldo22 { 294 }; 295 296 vreg_l23a_3p3: ldo23 { 297 regulator-min-microvol 298 regulator-max-microvol 299 regulator-initial-mode 300 }; 301 302 vdda_qusb_hs0_3p1: 303 vreg_l24a_3p075: ldo24 { 304 regulator-min-microvol 305 regulator-max-microvol 306 regulator-initial-mode 307 }; 308 309 vreg_l25a_3p3: ldo25 { 310 regulator-min-microvol 311 regulator-max-microvol 312 regulator-initial-mode 313 }; 314 315 vdda_hp_pcie_1p2: 316 vdda_hv_ebi0: 317 vdda_hv_ebi1: 318 vdda_hv_ebi2: 319 vdda_hv_ebi3: 320 vdda_mipi_csi_1p25: 321 vdda_mipi_dsi0_1p2: 322 vdda_mipi_dsi1_1p2: 323 vdda_pcie_1p2: 324 vdda_ufs1_1p2: 325 vdda_ufs2_1p2: 326 vdda_usb1_ss_1p2: 327 vdda_usb2_ss_1p2: 328 vreg_l26a_1p2: ldo26 { 329 regulator-min-microvol 330 regulator-max-microvol 331 regulator-initial-mode 332 }; 333 334 vreg_l28a_3p0: ldo28 { 335 }; 336 337 vreg_lvs1a_1p8: lvs1 { 338 }; 339 340 vreg_lvs2a_1p8: lvs2 { 341 }; 342 }; 343 }; 344 345 &cdsp_pas { 346 firmware-name = "qcom/sdm850/LENOVO/81 347 status = "okay"; 348 }; 349 350 &gcc { 351 protected-clocks = <GCC_QSPI_CORE_CLK> 352 <GCC_QSPI_CORE_CLK_ 353 <GCC_QSPI_CNOC_PERI 354 <GCC_LPASS_Q6_AXI_C 355 <GCC_LPASS_SWAY_CLK 356 }; 357 358 &gmu { 359 status = "okay"; 360 }; 361 362 &gpu { 363 status = "okay"; 364 zap-shader { 365 memory-region = <&gpu_mem>; 366 firmware-name = "qcom/sdm850/L 367 }; 368 }; 369 370 &i2c1 { 371 status = "okay"; 372 clock-frequency = <400000>; 373 374 embedded-controller@70 { 375 compatible = "lenovo,yoga-c630 376 reg = <0x70>; 377 378 interrupts-extended = <&tlmm 2 379 380 pinctrl-names = "default"; 381 pinctrl-0 = <&ec_int_state>; 382 383 #address-cells = <1>; 384 #size-cells = <0>; 385 386 connector@0 { 387 compatible = "usb-c-co 388 reg = <0>; 389 power-role = "dual"; 390 data-role = "host"; 391 392 ports { 393 #address-cells 394 #size-cells = 395 396 port@0 { 397 reg = 398 399 ucsi0_ 400 401 }; 402 }; 403 404 port@1 { 405 reg = 406 407 ucsi0_ 408 409 }; 410 }; 411 412 port@2 { 413 reg = 414 415 ucsi0_ 416 }; 417 }; 418 }; 419 }; 420 421 connector@1 { 422 compatible = "usb-c-co 423 reg = <1>; 424 power-role = "dual"; 425 data-role = "host"; 426 427 /* 428 * connected to the on 429 * handled by the cont 430 */ 431 }; 432 }; 433 }; 434 435 &i2c3 { 436 status = "okay"; 437 clock-frequency = <400000>; 438 /* Overwrite pinctrl-0 from sdm845.dts 439 pinctrl-0 = <&qup_i2c3_default &i2c3_h 440 441 tsel: hid@15 { 442 compatible = "hid-over-i2c"; 443 reg = <0x15>; 444 hid-descr-addr = <0x1>; 445 446 interrupts-extended = <&tlmm 3 447 }; 448 449 tsc2: hid@2c { 450 compatible = "hid-over-i2c"; 451 reg = <0x2c>; 452 hid-descr-addr = <0x20>; 453 454 interrupts-extended = <&tlmm 3 455 456 wakeup-source; 457 }; 458 }; 459 460 &i2c5 { 461 status = "okay"; 462 clock-frequency = <400000>; 463 464 tsc1: hid@10 { 465 compatible = "hid-over-i2c"; 466 reg = <0x10>; 467 hid-descr-addr = <0x1>; 468 469 interrupts-extended = <&tlmm 1 470 471 pinctrl-names = "default"; 472 pinctrl-0 = <&i2c5_hid_active> 473 474 wakeup-source; 475 }; 476 }; 477 478 &i2c10 { 479 status = "okay"; 480 clock-frequency = <400000>; 481 482 sn65dsi86: bridge@2c { 483 compatible = "ti,sn65dsi86"; 484 reg = <0x2c>; 485 pinctrl-names = "default"; 486 pinctrl-0 = <&sn65dsi86_pin_ac 487 488 enable-gpios = <&tlmm 96 GPIO_ 489 490 vcca-supply = <&sw_edp_1p2>; 491 vcc-supply = <&sw_edp_1p2>; 492 vpll-supply = <&vreg_l14a_1p88 493 vccio-supply = <&vreg_l14a_1p8 494 495 clocks = <&sn65dsi86_refclk>; 496 clock-names = "refclk"; 497 498 no-hpd; 499 #pwm-cells = <1>; 500 501 ports { 502 #address-cells = <1>; 503 #size-cells = <0>; 504 505 port@0 { 506 reg = <0>; 507 sn65dsi86_in_a 508 remote 509 }; 510 }; 511 512 port@1 { 513 reg = <1>; 514 sn65dsi86_out: 515 remote 516 }; 517 }; 518 }; 519 520 aux-bus { 521 panel: panel { 522 compatible = " 523 backlight = <& 524 power-supply = 525 526 port { 527 panel_ 528 529 }; 530 }; 531 }; 532 }; 533 }; 534 }; 535 536 &i2c11 { 537 status = "okay"; 538 clock-frequency = <400000>; 539 540 ecsh: hid@5c { 541 compatible = "hid-over-i2c"; 542 reg = <0x5c>; 543 hid-descr-addr = <0x1>; 544 545 interrupts-extended = <&tlmm 9 546 547 pinctrl-names = "default"; 548 pinctrl-0 = <&i2c11_hid_active 549 550 wakeup-source; 551 }; 552 }; 553 554 &ipa { 555 qcom,gsi-loader = "self"; 556 memory-region = <&ipa_fw_mem>; 557 firmware-name = "qcom/sdm850/LENOVO/81 558 status = "okay"; 559 }; 560 561 &mdss { 562 status = "okay"; 563 }; 564 565 &mdss_dsi0 { 566 status = "okay"; 567 vdda-supply = <&vreg_l26a_1p2>; 568 569 ports { 570 port@1 { 571 endpoint { 572 remote-endpoin 573 data-lanes = < 574 }; 575 }; 576 }; 577 }; 578 579 &mdss_dsi0_phy { 580 status = "okay"; 581 vdds-supply = <&vreg_l1a_0p875>; 582 }; 583 584 &mss_pil { 585 status = "okay"; 586 firmware-name = "qcom/sdm850/LENOVO/81 587 }; 588 589 &pm8998_gpios { 590 /* This pin is pulled down by a fixed 591 sw_edp_1p2_en: pm8998-gpio9-state { 592 pins = "gpio9"; 593 function = "normal"; 594 bias-disable; 595 qcom,drive-strength = <0>; 596 }; 597 }; 598 599 &qup_i2c10_default { 600 drive-strength = <2>; 601 bias-disable; 602 }; 603 604 &qup_i2c12_default { 605 drive-strength = <2>; 606 bias-disable; 607 }; 608 609 &qupv3_id_0 { 610 status = "okay"; 611 }; 612 613 &qupv3_id_1 { 614 status = "okay"; 615 }; 616 617 &q6asmdai { 618 dai@0 { 619 reg = <0>; 620 }; 621 622 dai@1 { 623 reg = <1>; 624 }; 625 626 dai@2 { 627 reg = <2>; 628 }; 629 }; 630 631 &sound { 632 compatible = "lenovo,yoga-c630-sndcard 633 model = "Lenovo-YOGA-C630-13Q50"; 634 635 audio-routing = 636 "RX_BIAS", "MCLK", 637 "AMIC2", "MIC BIAS2", 638 "SpkrLeft IN", "SPK1 OUT", 639 "SpkrRight IN", "SPK2 OUT", 640 "MM_DL1", "MultiMedia1 Playba 641 "MM_DL3", "MultiMedia3 Playba 642 "MultiMedia2 Capture", "MM_UL2 643 644 mm1-dai-link { 645 link-name = "MultiMedia1"; 646 cpu { 647 sound-dai = <&q6asmdai 648 }; 649 }; 650 651 mm2-dai-link { 652 link-name = "MultiMedia2"; 653 cpu { 654 sound-dai = <&q6asmdai 655 }; 656 }; 657 658 mm3-dai-link { 659 link-name = "MultiMedia3"; 660 cpu { 661 sound-dai = <&q6asmdai 662 }; 663 }; 664 665 slim-dai-link { 666 link-name = "SLIM Playback"; 667 cpu { 668 sound-dai = <&q6afedai 669 }; 670 671 platform { 672 sound-dai = <&q6routin 673 }; 674 675 codec { 676 sound-dai = <&left_spk 677 }; 678 }; 679 680 slimcap-dai-link { 681 link-name = "SLIM Capture"; 682 cpu { 683 sound-dai = <&q6afedai 684 }; 685 686 platform { 687 sound-dai = <&q6routin 688 }; 689 690 codec { 691 sound-dai = <&wcd9340 692 }; 693 }; 694 695 slim-wcd-dai-link { 696 link-name = "SLIM WCD Playback 697 cpu { 698 sound-dai = <&q6afedai 699 }; 700 701 platform { 702 sound-dai = <&q6routin 703 }; 704 705 codec { 706 sound-dai = <&wcd9340 707 }; 708 }; 709 }; 710 711 &tlmm { 712 gpio-reserved-ranges = <0 4>, <81 4>; 713 714 sn65dsi86_pin_active: sn65dsi86-enable 715 pins = "gpio96"; 716 function = "gpio"; 717 drive-strength = <2>; 718 bias-disable; 719 }; 720 721 i2c3_hid_active: i2c2-hid-active-state 722 pins = "gpio37"; 723 function = "gpio"; 724 725 bias-pull-up; 726 drive-strength = <2>; 727 }; 728 729 i2c5_hid_active: i2c5-hid-active-state 730 pins = "gpio125"; 731 function = "gpio"; 732 733 bias-pull-up; 734 drive-strength = <2>; 735 }; 736 737 i2c11_hid_active: i2c11-hid-active-sta 738 pins = "gpio92"; 739 function = "gpio"; 740 741 bias-pull-up; 742 drive-strength = <2>; 743 }; 744 745 lid_pin_active: lid-pin-state { 746 pins = "gpio124"; 747 function = "gpio"; 748 749 bias-disable; 750 }; 751 752 mode_pin_active: mode-pin-state { 753 pins = "gpio95"; 754 function = "gpio"; 755 756 bias-disable; 757 }; 758 759 ec_int_state: ec-int-state { 760 pins = "gpio20"; 761 function = "gpio"; 762 763 bias-disable; 764 }; 765 }; 766 767 &uart6 { 768 pinctrl-names = "default"; 769 pinctrl-0 = <&qup_uart6_4pin>; 770 status = "okay"; 771 772 bluetooth { 773 compatible = "qcom,wcn3990-bt" 774 775 vddio-supply = <&vreg_s4a_1p8> 776 vddxo-supply = <&vreg_l7a_1p8> 777 vddrf-supply = <&vreg_l17a_1p3 778 vddch0-supply = <&vreg_l25a_3p 779 vddch1-supply = <&vreg_l23a_3p 780 max-speed = <3200000>; 781 }; 782 }; 783 784 &uart9 { 785 status = "okay"; 786 }; 787 788 &ufs_mem_hc { 789 status = "okay"; 790 791 reset-gpios = <&tlmm 150 GPIO_ACTIVE_L 792 793 vcc-supply = <&vreg_l20a_2p95>; 794 vcc-max-microamp = <600000>; 795 }; 796 797 &ufs_mem_phy { 798 status = "okay"; 799 800 vdda-phy-supply = <&vdda_ufs1_core>; 801 vdda-pll-supply = <&vdda_ufs1_1p2>; 802 }; 803 804 &usb_1 { 805 status = "okay"; 806 }; 807 808 &usb_1_dwc3 { 809 dr_mode = "host"; 810 }; 811 812 &usb_1_dwc3_hs { 813 remote-endpoint = <&ucsi0_hs_in>; 814 }; 815 816 &usb_1_hsphy { 817 status = "okay"; 818 819 vdd-supply = <&vdda_usb1_ss_core>; 820 vdda-pll-supply = <&vdda_qusb_hs0_1p8> 821 vdda-phy-dpdm-supply = <&vdda_qusb_hs0 822 823 qcom,imp-res-offset-value = <8>; 824 qcom,hstx-trim-value = <QUSB2_V2_HSTX_ 825 qcom,preemphasis-level = <QUSB2_V2_PRE 826 qcom,preemphasis-width = <QUSB2_V2_PRE 827 }; 828 829 &usb_1_qmpphy { 830 status = "okay"; 831 832 vdda-phy-supply = <&vdda_usb1_ss_1p2>; 833 vdda-pll-supply = <&vdda_usb1_ss_core> 834 }; 835 836 &usb_1_qmpphy_out { 837 remote-endpoint = <&ucsi0_ss_in>; 838 }; 839 840 &usb_2 { 841 status = "okay"; 842 }; 843 844 &usb_2_dwc3 { 845 dr_mode = "host"; 846 }; 847 848 &usb_2_hsphy { 849 status = "okay"; 850 851 vdd-supply = <&vdda_usb2_ss_core>; 852 vdda-pll-supply = <&vdda_qusb_hs0_1p8> 853 vdda-phy-dpdm-supply = <&vdda_qusb_hs0 854 855 qcom,imp-res-offset-value = <8>; 856 qcom,hstx-trim-value = <QUSB2_V2_HSTX_ 857 }; 858 859 &usb_2_qmpphy { 860 status = "okay"; 861 862 vdda-phy-supply = <&vdda_usb2_ss_1p2>; 863 vdda-pll-supply = <&vdda_usb2_ss_core> 864 }; 865 866 &venus { 867 firmware-name = "qcom/sdm850/LENOVO/81 868 status = "okay"; 869 }; 870 871 &wcd9340 { 872 reset-gpios = <&tlmm 64 GPIO_ACTIVE_HI 873 vdd-buck-supply = <&vreg_s4a_1p8>; 874 vdd-buck-sido-supply = <&vreg_s4a_1p8> 875 vdd-tx-supply = <&vreg_s4a_1p8>; 876 vdd-rx-supply = <&vreg_s4a_1p8>; 877 vdd-io-supply = <&vreg_s4a_1p8>; 878 qcom,mbhc-buttons-vthreshold-microvolt 879 qcom,mbhc-headset-vthreshold-microvolt 880 qcom,mbhc-headphone-vthreshold-microvo 881 882 swm: soundwire@c85 { 883 left_spkr: speaker@0,3 { 884 compatible = "sdw10217 885 reg = <0 3>; 886 powerdown-gpios = <&wc 887 #thermal-sensor-cells 888 sound-name-prefix = "S 889 #sound-dai-cells = <0> 890 }; 891 892 right_spkr: speaker@0,4 { 893 compatible = "sdw10217 894 powerdown-gpios = <&wc 895 reg = <0 4>; 896 #thermal-sensor-cells 897 sound-name-prefix = "S 898 #sound-dai-cells = <0> 899 }; 900 }; 901 }; 902 903 &wifi { 904 status = "okay"; 905 906 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8> 907 vdd-1.8-xo-supply = <&vreg_l7a_1p8>; 908 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; 909 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; 910 vdd-3.3-ch1-supply = <&vreg_l23a_3p3>; 911 912 qcom,snoc-host-cap-8bit-quirk; 913 qcom,ath10k-calibration-variant = "Len 914 }; 915 916 &crypto { 917 /* FIXME: qce_start triggers an SError 918 status = "disabled"; 919 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.