~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm64/boot/dts/marvell/cn9131-cf-solidwan.dts

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0+
  2 /*
  3  * Copyright (C) 2024 Josua Mayer <josua@solid-run.com>
  4  *
  5  * DTS for SolidRun CN9130 Clearfog Base.
  6  *
  7  */
  8 
  9 /dts-v1/;
 10 
 11 #include <dt-bindings/input/input.h>
 12 #include <dt-bindings/leds/common.h>
 13 
 14 #include "cn9130.dtsi"
 15 #include "cn9130-sr-som.dtsi"
 16 
 17 /*
 18  * Instantiate the external CP115
 19  */
 20 
 21 #define CP11X_NAME              cp1
 22 #define CP11X_BASE              f4000000
 23 #define CP11X_PCIEx_MEM_BASE(iface) (0xe2000000 + (iface * 0x1000000))
 24 #define CP11X_PCIEx_MEM_SIZE(iface) 0xf00000
 25 #define CP11X_PCIE0_BASE        f4600000
 26 #define CP11X_PCIE1_BASE        f4620000
 27 #define CP11X_PCIE2_BASE        f4640000
 28 
 29 #include "armada-cp115.dtsi"
 30 
 31 #undef CP11X_NAME
 32 #undef CP11X_BASE
 33 #undef CP11X_PCIEx_MEM_BASE
 34 #undef CP11X_PCIEx_MEM_SIZE
 35 #undef CP11X_PCIE0_BASE
 36 #undef CP11X_PCIE1_BASE
 37 #undef CP11X_PCIE2_BASE
 38 
 39 / {
 40         model = "SolidRun CN9131 SolidWAN";
 41         compatible = "solidrun,cn9131-solidwan",
 42                      "solidrun,cn9130-sr-som", "marvell,cn9130";
 43 
 44         aliases {
 45                 ethernet0 = &cp1_eth1;
 46                 ethernet1 = &cp1_eth2;
 47                 ethernet2 = &cp0_eth1;
 48                 ethernet3 = &cp0_eth2;
 49                 ethernet4 = &cp0_eth0;
 50                 ethernet5 = &cp1_eth0;
 51                 gpio0 = &ap_gpio;
 52                 gpio1 = &cp0_gpio1;
 53                 gpio2 = &cp0_gpio2;
 54                 gpio3 = &cp1_gpio1;
 55                 gpio4 = &cp1_gpio2;
 56                 gpio5 = &expander0;
 57                 i2c0 = &cp0_i2c0;
 58                 i2c1 = &cp0_i2c1;
 59                 i2c2 = &cp1_i2c1;
 60                 mmc0 = &ap_sdhci0;
 61                 mmc1 = &cp0_sdhci0;
 62                 rtc0 = &cp0_rtc;
 63                 rtc1 = &carrier_rtc;
 64         };
 65 
 66         leds {
 67                 compatible = "gpio-leds";
 68                 pinctrl-names = "default";
 69                 pinctrl-0 = <&cp0_led_pins &cp1_led_pins>;
 70 
 71                 /* for sfp-1 (J42) */
 72                 led-sfp1-activity {
 73                         label = "sfp1:green";
 74                         gpios = <&cp0_gpio1 7 GPIO_ACTIVE_HIGH>;
 75                 };
 76 
 77                 /* for sfp-1 (J42) */
 78                 led-sfp1-link {
 79                         label = "sfp1:yellow";
 80                         gpios = <&cp0_gpio1 4 GPIO_ACTIVE_HIGH>;
 81                 };
 82 
 83                 /* (J28) */
 84                 led-sfp0-activity {
 85                         label = "sfp0:green";
 86                         gpios = <&cp1_gpio2 22 GPIO_ACTIVE_HIGH>;
 87                 };
 88 
 89                 /* (J28) */
 90                 led-sfp0-link {
 91                         label = "sfp0:yellow";
 92                         gpios = <&cp1_gpio2 23 GPIO_ACTIVE_HIGH>;
 93                 };
 94         };
 95 
 96         /* Type-A port on J53 */
 97         reg_usb_a_vbus0: regulator-usb-a-vbus0 {
 98                 compatible = "regulator-fixed";
 99                 pinctrl-0 = <&cp0_reg_usb_a_vbus0_pins>;
100                 pinctrl-names = "default";
101                 regulator-name = "vbus0";
102                 regulator-min-microvolt = <5000000>;
103                 regulator-max-microvolt = <5000000>;
104                 gpios = <&cp0_gpio1 27 GPIO_ACTIVE_HIGH>;
105                 enable-active-high;
106                 regulator-always-on;
107         };
108 
109         reg_usb_a_vbus1: regulator-usb-a-vbus1 {
110                 compatible = "regulator-fixed";
111                 pinctrl-0 = <&cp0_reg_usb_a_vbus1_pins>;
112                 pinctrl-names = "default";
113                 regulator-name = "vbus1";
114                 regulator-min-microvolt = <5000000>;
115                 regulator-max-microvolt = <5000000>;
116                 gpios = <&cp0_gpio1 28 GPIO_ACTIVE_HIGH>;
117                 enable-active-high;
118                 regulator-always-on;
119         };
120 
121         sfp0: sfp-0 {
122                 compatible = "sff,sfp";
123                 pinctrl-0 = <&cp0_sfp0_pins>;
124                 pinctrl-names = "default";
125                 i2c-bus = <&cp0_i2c1>;
126                 los-gpios = <&cp0_gpio2 2 GPIO_ACTIVE_HIGH>;
127                 mod-def0-gpios = <&cp0_gpio2 0 GPIO_ACTIVE_LOW>;
128                 tx-disable-gpios = <&cp0_gpio2 1 GPIO_ACTIVE_HIGH>;
129                 tx-fault-gpios = <&cp0_gpio1 31 GPIO_ACTIVE_HIGH>;
130                 maximum-power-milliwatt = <2000>;
131         };
132 
133         sfp1: sfp-1 {
134                 compatible = "sff,sfp";
135                 pinctrl-0 = <&cp1_sfp1_pins>;
136                 pinctrl-names = "default";
137                 i2c-bus = <&cp1_i2c1>;
138                 los-gpios = <&cp1_gpio2 2 GPIO_ACTIVE_HIGH>;
139                 mod-def0-gpios = <&cp1_gpio2 18 GPIO_ACTIVE_LOW>;
140                 tx-disable-gpios = <&cp1_gpio2 1 GPIO_ACTIVE_HIGH>;
141                 tx-fault-gpios = <&cp1_gpio2 17 GPIO_ACTIVE_HIGH>;
142                 maximum-power-milliwatt = <2000>;
143         };
144 };
145 
146 &cp0_ethernet {
147         status = "okay";
148 };
149 
150 /* SRDS #2 - SFP+ 10GE */
151 &cp0_eth0 {
152         managed = "in-band-status";
153         phy-mode = "10gbase-r";
154         phys = <&cp0_comphy2 0>;
155         sfp = <&sfp0>;
156         status = "okay";
157 };
158 
159 /* SRDS #3 - SGMII 1GE */
160 &cp0_eth1 {
161         managed = "in-band-status";
162         phy-mode = "sgmii";
163         /* Without mdio phy access rely on sgmii auto-negotiation. */
164         phys = <&cp0_comphy3 1>;
165         status = "okay";
166 };
167 
168 /* SRDS #1 - SGMII */
169 &cp0_eth2 {
170         /delete-property/ pinctrl-0;
171         /delete-property/ pinctrl-names;
172         managed = "in-band-status";
173         phy-mode = "sgmii";
174         phy = <&cp0_phy1>;
175         phys = <&cp0_comphy1 2>;
176 };
177 
178 &cp0_gpio1 {
179         pcie0-0-w-disable-hog {
180                 gpio-hog;
181                 gpios = <6 GPIO_ACTIVE_LOW>;
182                 output-low;
183                 line-name = "pcie0.0-w-disable";
184         };
185 
186         /* J34 */
187         m2-full-card-power-off-hog {
188                 gpio-hog;
189                 gpios = <8 GPIO_ACTIVE_LOW>;
190                 output-low;
191                 line-name = "m2-full-card-power-off";
192         };
193 };
194 
195 &cp0_i2c0 {
196         /* assembly option */
197         fan-controller@18 {
198                 compatible = "ti,amc6821";
199                 reg = <0x18>;
200         };
201 
202         expander0: gpio@41 {
203                 compatible = "nxp,pca9536";
204                 reg = <0x41>;
205 
206                 usb-a-vbus0-ilimit-hog {
207                         gpio-hog;
208                         gpios = <0 GPIO_ACTIVE_LOW>;
209                         input;
210                         line-name = "vbus0-ilimit";
211                 };
212 
213                 /* duplicate connection, controlled by soc gpio */
214                 usb-vbus0-enable-hog {
215                         gpio-hog;
216                         gpios = <1 GPIO_ACTIVE_HIGH>;
217                         input;
218                         line-name = "vbus0-enable";
219                 };
220 
221                 usb-a-vbus1-ilimit-hog {
222                         gpio-hog;
223                         gpios = <2 GPIO_ACTIVE_LOW>;
224                         input;
225                         line-name = "vbus1-ilimit";
226                 };
227 
228                 /* duplicate connection, controlled by soc gpio */
229                 usb-vbus1-enable-hog {
230                         gpio-hog;
231                         gpios = <3 GPIO_ACTIVE_HIGH>;
232                         input;
233                         line-name = "vbus1-enable";
234                 };
235         };
236 
237         carrier_eeprom: eeprom@52 {
238                 compatible = "atmel,24c02";
239                 reg = <0x52>;
240                 pagesize = <8>;
241         };
242 
243         /* usb-hub@60 */
244 
245         /* assembly option */
246         carrier_rtc: rtc@68 {
247                 compatible = "st,m41t83";
248                 reg = <0x68>;
249                 pinctrl-0 = <&cp1_rtc_pins>;
250                 pinctrl-names = "default";
251                 interrupt-parent = <&cp1_gpio1>;
252                 interrupts = <12 IRQ_TYPE_EDGE_FALLING>;
253                 reset-gpios = <&cp1_gpio1 13 GPIO_ACTIVE_LOW>;
254         };
255 };
256 
257 &cp0_i2c1 {
258         /*
259          * Routed to SFP.
260          * Limit to 100kHz for compatibility with SFP modules,
261          * featuring AT24C01A/02/04 at addresses 0x50/0x51.
262          */
263         clock-frequency = <100000>;
264         pinctrl-0 = <&cp0_i2c1_pins>;
265         pinctrl-names = "default";
266         status = "okay";
267 };
268 
269 &cp0_mdio {
270         /*
271          * SoM + Carrier each have a PHY at address 0.
272          * Remove the SoM phy node, and skip adding the carrier node.
273          * SGMII Auto-Negotation is enabled by bootloader for
274          * autonomous operation without mdio control.
275          */
276         /delete-node/ ethernet-phy@0;
277 
278         /* U17016 */
279         cp0_phy1: ethernet-phy@1 {
280                 reg = <1>;
281                 /*
282                  * Configure LEDs default behaviour:
283                  * - LED[0]: link is 1000Mbps: On (yellow)
284                  * - LED[1]: link/activity: On/blink (green)
285                  * - LED[2]: high impedance (floating)
286                  */
287                 marvell,reg-init = <3 16 0xf000 0x0a17>;
288 
289                 leds {
290                         #address-cells = <1>;
291                         #size-cells = <0>;
292 
293                         led@0 {
294                                 reg = <0>;
295                                 color = <LED_COLOR_ID_YELLOW>;
296                                 function = LED_FUNCTION_LAN;
297                                 default-state = "keep";
298                         };
299 
300                         led@1 {
301                                 reg = <1>;
302                                 color = <LED_COLOR_ID_GREEN>;
303                                 function = LED_FUNCTION_LAN;
304                                 default-state = "keep";
305                         };
306                 };
307         };
308 };
309 
310 /* SRDS #0 - miniPCIe */
311 &cp0_pcie0 {
312         num-lanes = <1>;
313         phys = <&cp0_comphy0 0>;
314         status = "okay";
315 };
316 
317 /* SRDS #5 - M.2 B-Key (J34) */
318 &cp0_pcie2 {
319         num-lanes = <1>;
320         phys = <&cp0_comphy5 2>;
321         status = "okay";
322 };
323 
324 &cp0_pinctrl {
325         pinctrl-0 = <&cp0_m2_0_shutdown_pins &cp0_mpcie_rfkill_pins>;
326         pinctrl-names = "default";
327 
328         cp0_i2c1_pins: cp0-i2c1-pins {
329                 marvell,pins = "mpp35", "mpp36";
330                 marvell,function = "i2c1";
331         };
332 
333         cp0_led_pins: cp0-led-pins {
334                 marvell,pins = "mpp4", "mpp7";
335                 marvell,function = "gpio";
336         };
337 
338         cp0_m2_0_shutdown_pins: cp0-m2-0-shutdown-pins {
339                 marvell,pins = "mpp8";
340                 marvell,function = "gpio";
341         };
342 
343         cp0_mmc0_pins: cp0-mmc0-pins {
344                 marvell,pins = "mpp43", "mpp56", "mpp57", "mpp58",
345                                "mpp59", "mpp60", "mpp61";
346                 marvell,function = "sdio";
347         };
348 
349         cp0_mpcie_rfkill_pins: cp0-mpcie-rfkill-pins {
350                 marvell,pins = "mpp6";
351                 marvell,function = "gpio";
352         };
353 
354         cp0_reg_usb_a_vbus0_pins: cp0-reg-usb-a-vbus0-pins {
355                 marvell,pins = "mpp27";
356                 marvell,function = "gpio";
357         };
358 
359         cp0_reg_usb_a_vbus1_pins: cp0-reg-usb-a-vbus1-pins {
360                 marvell,pins = "mpp28";
361                 marvell,function = "gpio";
362         };
363 
364         cp0_sfp0_pins: cp0-sfp0-pins {
365                 marvell,pins = "mpp31", "mpp32", "mpp33", "mpp34";
366                 marvell,function = "gpio";
367         };
368 
369         cp0_spi1_cs1_pins: cp0-spi1-cs1-pins {
370                 marvell,pins = "mpp12";
371                 marvell,function = "spi1";
372         };
373 };
374 
375 /* microSD */
376 &cp0_sdhci0 {
377         pinctrl-0 = <&cp0_mmc0_pins>;
378         pinctrl-names = "default";
379         bus-width = <4>;
380         no-1-8-v;
381         status = "okay";
382 };
383 
384 &cp0_spi1 {
385         /* add pin for chip-select 1 */
386         pinctrl-0 = <&cp0_spi1_pins &cp0_spi1_cs1_pins>;
387 
388         flash@1 {
389                 compatible = "jedec,spi-nor";
390                 reg = <1>;
391                 /* read command supports max. 50MHz */
392                 spi-max-frequency = <50000000>;
393         };
394 };
395 
396 /* USB-2.0 Host to USB-Hub */
397 &cp0_usb3_0 {
398         phys = <&cp0_utmi0>;
399         phy-names = "utmi";
400         dr_mode = "host";
401         status = "okay";
402 };
403 
404 /* SRDS #4 - USB-3.0 Host to USB-Hub */
405 &cp0_usb3_1 {
406         phys = <&cp0_comphy4 1>, <&cp0_utmi1>;
407         phy-names = "comphy", "utmi";
408         dr_mode = "host";
409         status = "okay";
410 };
411 
412 &cp0_utmi {
413         status = "okay";
414 };
415 
416 &cp0_utmi1 {
417         status = "disabled";
418 };
419 
420 &cp1_ethernet {
421         status = "okay";
422 };
423 
424 /* SRDS #4 - SFP+ 10GE */
425 &cp1_eth0 {
426         managed = "in-band-status";
427         phy-mode = "10gbase-r";
428         phys = <&cp1_comphy4 0>;
429         sfp = <&sfp1>;
430         status = "okay";
431 };
432 
433 /* SRDS #3 - SGMII 1GE */
434 &cp1_eth1 {
435         managed = "in-band-status";
436         phy-mode = "sgmii";
437         phy = <&cp1_phy0>;
438         phys = <&cp0_comphy3 1>;
439         status = "okay";
440 };
441 
442 /* SRDS #5 - SGMII 1GE */
443 &cp1_eth2 {
444         managed = "in-band-status";
445         phy-mode = "sgmii";
446         phy = <&cp1_phy1>;
447         phys = <&cp0_comphy5 2>;
448         status = "okay";
449 };
450 
451 &cp1_gpio1 {
452         status = "okay";
453 
454         /* J30 */
455         m2-full-card-power-off-hog-0 {
456                 gpio-hog;
457                 gpios = <29 GPIO_ACTIVE_LOW>;
458                 output-low;
459                 line-name = "m2-full-card-power-off";
460         };
461 
462         /* J44 */
463         m2-full-card-power-off-hog-1 {
464                 gpio-hog;
465                 gpios = <30 GPIO_ACTIVE_LOW>;
466                 output-low;
467                 line-name = "m2-full-card-power-off";
468         };
469 };
470 
471 &cp1_gpio2 {
472         status = "okay";
473 };
474 
475 &cp1_i2c1 {
476         /*
477          * Routed to SFP.
478          * Limit to 100kHz for compatibility with SFP modules,
479          * featuring AT24C01A/02/04 at addresses 0x50/0x51.
480          */
481         clock-frequency = <100000>;
482         pinctrl-0 = <&cp1_i2c1_pins>;
483         pinctrl-names = "default";
484         status = "okay";
485 };
486 
487 &cp1_mdio {
488         pinctrl-0 = <&cp1_mdio_pins>;
489         pinctrl-names = "default";
490         status = "okay";
491 
492         cp1_phy0: ethernet-phy@0 {
493                 reg = <0>;
494                 /*
495                  * Configure LEDs default behaviour:
496                  * - LED[0]: link is 1000Mbps: On (yellow)
497                  * - LED[1]: link/activity: On/blink (green)
498                  * - LED[2]: high impedance (floating)
499                  */
500                 marvell,reg-init = <3 16 0xf000 0x0a17>;
501 
502                 leds {
503                         #address-cells = <1>;
504                         #size-cells = <0>;
505 
506                         led@0 {
507                                 reg = <0>;
508                                 color = <LED_COLOR_ID_YELLOW>;
509                                 function = LED_FUNCTION_LAN;
510                                 default-state = "keep";
511                         };
512 
513                         led@1 {
514                                 reg = <1>;
515                                 color = <LED_COLOR_ID_GREEN>;
516                                 function = LED_FUNCTION_LAN;
517                                 default-state = "keep";
518                         };
519                 };
520         };
521 
522         cp1_phy1: ethernet-phy@1 {
523                 reg = <1>;
524                 /*
525                  * Configure LEDs default behaviour:
526                  * - LED[0]: link is 1000Mbps: On (yellow)
527                  * - LED[1]: link/activity: On/blink (green)
528                  * - LED[2]: high impedance (floating)
529                  */
530                 marvell,reg-init = <3 16 0xf000 0x0a17>;
531 
532                 leds {
533                         #address-cells = <1>;
534                         #size-cells = <0>;
535 
536                         led@0 {
537                                 reg = <0>;
538                                 color = <LED_COLOR_ID_YELLOW>;
539                                 function = LED_FUNCTION_LAN;
540                                 default-state = "keep";
541                         };
542 
543                         led@1 {
544                                 reg = <1>;
545                                 color = <LED_COLOR_ID_GREEN>;
546                                 function = LED_FUNCTION_LAN;
547                                 default-state = "keep";
548                         };
549                 };
550         };
551 };
552 
553 /* SRDS #0 - M.2 (J30) */
554 &cp1_pcie0 {
555         num-lanes = <1>;
556         phys = <&cp1_comphy0 0>;
557         status = "okay";
558 };
559 
560 &cp1_rtc {
561         status = "disabled";
562 };
563 
564 /* SRDS #1 - SATA on M.2 (J44) */
565 &cp1_sata0 {
566         phys = <&cp1_comphy1 0>;
567         status = "okay";
568 
569         /* only port 0 is available */
570         /delete-node/ sata-port@1;
571 };
572 
573 &cp1_syscon0 {
574         cp1_pinctrl: pinctrl {
575                 compatible = "marvell,cp115-standalone-pinctrl";
576                 pinctrl-0 = <&cp1_m2_1_shutdown_pins &cp1_m2_2_shutdown_pins>;
577                 pinctrl-names = "default";
578 
579                 cp1_i2c1_pins: cp0-i2c1-pins {
580                         marvell,pins = "mpp35", "mpp36";
581                         marvell,function = "i2c1";
582                 };
583 
584                 cp1_led_pins: cp1-led-pins {
585                         marvell,pins = "mpp54", "mpp55";
586                         marvell,function = "gpio";
587                 };
588 
589                 cp1_m2_1_shutdown_pins: cp1-m2-1-shutdown-pins {
590                         marvell,pins = "mpp29";
591                         marvell,function = "gpio";
592                 };
593 
594                 cp1_m2_2_shutdown_pins: cp1-m2-2-shutdown-pins {
595                         marvell,pins = "mpp30";
596                         marvell,function = "gpio";
597                 };
598 
599                 cp1_mdio_pins: cp1-mdio-pins {
600                         marvell,pins = "mpp37", "mpp38";
601                         marvell,function = "ge";
602                 };
603 
604                 cp1_rtc_pins: cp1-rtc-pins {
605                         marvell,pins = "mpp12", "mpp13";
606                         marvell,function = "gpio";
607                 };
608 
609                 cp1_sfp1_pins: cp1-sfp1-pins {
610                         marvell,pins = "mpp33", "mpp34", "mpp49", "mpp50";
611                         marvell,function = "gpio";
612                 };
613         };
614 };
615 
616 /*
617  * SRDS #2 - USB-3.0 Host to M.2 (J44)
618  * USB-2.0 Host to M.2 (J30)
619  */
620 &cp1_usb3_0 {
621         phys = <&cp1_comphy2 0>, <&cp1_utmi0>;
622         phy-names = "comphy", "utmi";
623         dr_mode = "host";
624         status = "okay";
625 };
626 
627 /* USB-2.0 Host to M.2 (J44) */
628 &cp1_usb3_1 {
629         phys = <&cp1_utmi1>;
630         phy-names = "utmi";
631         dr_mode = "host";
632         status = "okay";
633 };
634 
635 &cp1_utmi {
636         status = "okay";
637 };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php