1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 // Copyright (C) 2017 Icenowy Zheng <icenowy@ao 2 // Copyright (C) 2017 Icenowy Zheng <icenowy@aosc.xyz> 3 // Copyright (C) 2018 Vasily Khoruzhick <anarso 3 // Copyright (C) 2018 Vasily Khoruzhick <anarsoul@gmail.com> 4 4 5 /dts-v1/; 5 /dts-v1/; 6 6 7 #include "sun50i-a64.dtsi" 7 #include "sun50i-a64.dtsi" 8 #include "sun50i-a64-cpu-opp.dtsi" 8 #include "sun50i-a64-cpu-opp.dtsi" 9 9 10 #include <dt-bindings/gpio/gpio.h> 10 #include <dt-bindings/gpio/gpio.h> 11 #include <dt-bindings/input/gpio-keys.h> 11 #include <dt-bindings/input/gpio-keys.h> 12 #include <dt-bindings/input/input.h> 12 #include <dt-bindings/input/input.h> 13 #include <dt-bindings/pwm/pwm.h> 13 #include <dt-bindings/pwm/pwm.h> 14 14 15 / { 15 / { 16 model = "Pine64 Pinebook"; !! 16 model = "Pinebook"; 17 compatible = "pine64,pinebook", "allwi 17 compatible = "pine64,pinebook", "allwinner,sun50i-a64"; 18 chassis-type = "laptop"; << 19 18 20 aliases { 19 aliases { 21 serial0 = &uart0; 20 serial0 = &uart0; 22 ethernet0 = &rtl8723cs; 21 ethernet0 = &rtl8723cs; 23 }; 22 }; 24 23 25 backlight: backlight { 24 backlight: backlight { 26 compatible = "pwm-backlight"; 25 compatible = "pwm-backlight"; 27 pwms = <&pwm 0 50000 0>; 26 pwms = <&pwm 0 50000 0>; 28 brightness-levels = <0 5 10 15 27 brightness-levels = <0 5 10 15 20 30 40 55 70 85 100>; 29 default-brightness-level = <2> 28 default-brightness-level = <2>; 30 enable-gpios = <&pio 3 23 GPIO 29 enable-gpios = <&pio 3 23 GPIO_ACTIVE_HIGH>; /* PD23 */ 31 power-supply = <®_vbklt>; 30 power-supply = <®_vbklt>; 32 }; 31 }; 33 32 34 chosen { 33 chosen { 35 stdout-path = "serial0:115200n 34 stdout-path = "serial0:115200n8"; 36 }; 35 }; 37 36 38 gpio-keys { !! 37 gpio_keys { 39 compatible = "gpio-keys"; 38 compatible = "gpio-keys"; 40 39 41 lid-switch { !! 40 lid_switch { 42 label = "Lid Switch"; 41 label = "Lid Switch"; 43 gpios = <&r_pio 0 12 G 42 gpios = <&r_pio 0 12 GPIO_ACTIVE_LOW>; /* PL12 */ 44 linux,input-type = <EV 43 linux,input-type = <EV_SW>; 45 linux,code = <SW_LID>; 44 linux,code = <SW_LID>; 46 linux,can-disable; 45 linux,can-disable; 47 wakeup-source; 46 wakeup-source; 48 wakeup-event-action = 47 wakeup-event-action = <EV_ACT_DEASSERTED>; 49 }; 48 }; 50 }; 49 }; 51 50 52 panel_edp: panel-edp { 51 panel_edp: panel-edp { 53 compatible = "neweast,wjfh1160 52 compatible = "neweast,wjfh116008a"; 54 backlight = <&backlight>; 53 backlight = <&backlight>; 55 power-supply = <®_dc1sw>; 54 power-supply = <®_dc1sw>; 56 55 57 port { 56 port { 58 panel_edp_in: endpoint 57 panel_edp_in: endpoint { 59 remote-endpoin 58 remote-endpoint = <&anx6345_out_edp>; 60 }; 59 }; 61 }; 60 }; 62 }; 61 }; 63 62 64 reg_vbklt: vbklt { 63 reg_vbklt: vbklt { 65 compatible = "regulator-fixed" 64 compatible = "regulator-fixed"; 66 regulator-name = "vbklt"; 65 regulator-name = "vbklt"; 67 regulator-min-microvolt = <180 66 regulator-min-microvolt = <18000000>; 68 regulator-max-microvolt = <180 67 regulator-max-microvolt = <18000000>; 69 gpio = <&pio 7 6 GPIO_ACTIVE_H 68 gpio = <&pio 7 6 GPIO_ACTIVE_HIGH>; /* PH6 */ 70 enable-active-high; 69 enable-active-high; 71 }; 70 }; 72 71 73 reg_vcc5v0: vcc5v0 { 72 reg_vcc5v0: vcc5v0 { 74 compatible = "regulator-fixed" 73 compatible = "regulator-fixed"; 75 regulator-name = "vcc5v0"; 74 regulator-name = "vcc5v0"; 76 regulator-min-microvolt = <500 75 regulator-min-microvolt = <5000000>; 77 regulator-max-microvolt = <500 76 regulator-max-microvolt = <5000000>; 78 gpio = <&axp_gpio 0 GPIO_ACTIV 77 gpio = <&axp_gpio 0 GPIO_ACTIVE_HIGH>; 79 enable-active-high; 78 enable-active-high; 80 }; 79 }; 81 80 82 wifi_pwrseq: pwrseq { !! 81 wifi_pwrseq: wifi_pwrseq { 83 compatible = "mmc-pwrseq-simpl 82 compatible = "mmc-pwrseq-simple"; 84 reset-gpios = <&r_pio 0 2 GPIO 83 reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ 85 }; 84 }; 86 85 87 speaker_amp: audio-amplifier { 86 speaker_amp: audio-amplifier { 88 compatible = "simple-audio-amp 87 compatible = "simple-audio-amplifier"; 89 VCC-supply = <®_vcc5v0>; 88 VCC-supply = <®_vcc5v0>; 90 enable-gpios = <&pio 7 7 GPIO_ 89 enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */ 91 sound-name-prefix = "Speaker A 90 sound-name-prefix = "Speaker Amp"; 92 }; 91 }; 93 92 94 }; 93 }; 95 94 96 &codec { 95 &codec { 97 status = "okay"; 96 status = "okay"; 98 }; 97 }; 99 98 100 &codec_analog { 99 &codec_analog { 101 cpvdd-supply = <®_eldo1>; 100 cpvdd-supply = <®_eldo1>; 102 status = "okay"; 101 status = "okay"; 103 }; 102 }; 104 103 105 &cpu0 { 104 &cpu0 { 106 cpu-supply = <®_dcdc2>; 105 cpu-supply = <®_dcdc2>; 107 }; 106 }; 108 107 109 &cpu1 { 108 &cpu1 { 110 cpu-supply = <®_dcdc2>; 109 cpu-supply = <®_dcdc2>; 111 }; 110 }; 112 111 113 &cpu2 { 112 &cpu2 { 114 cpu-supply = <®_dcdc2>; 113 cpu-supply = <®_dcdc2>; 115 }; 114 }; 116 115 117 &cpu3 { 116 &cpu3 { 118 cpu-supply = <®_dcdc2>; 117 cpu-supply = <®_dcdc2>; 119 }; 118 }; 120 119 121 &dai { 120 &dai { 122 status = "okay"; 121 status = "okay"; 123 }; 122 }; 124 123 125 &de { 124 &de { 126 status = "okay"; 125 status = "okay"; 127 }; 126 }; 128 127 129 &ehci0 { 128 &ehci0 { 130 status = "okay"; 129 status = "okay"; 131 }; 130 }; 132 131 133 &ehci1 { 132 &ehci1 { 134 status = "okay"; 133 status = "okay"; 135 }; 134 }; 136 135 137 &mixer0 { 136 &mixer0 { 138 status = "okay"; 137 status = "okay"; 139 }; 138 }; 140 139 141 &mmc0 { 140 &mmc0 { 142 pinctrl-names = "default"; 141 pinctrl-names = "default"; 143 pinctrl-0 = <&mmc0_pins>; 142 pinctrl-0 = <&mmc0_pins>; 144 vmmc-supply = <®_dcdc1>; 143 vmmc-supply = <®_dcdc1>; 145 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; 144 cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ 146 disable-wp; 145 disable-wp; 147 bus-width = <4>; 146 bus-width = <4>; 148 status = "okay"; 147 status = "okay"; 149 }; 148 }; 150 149 151 &mmc1 { 150 &mmc1 { 152 pinctrl-names = "default"; 151 pinctrl-names = "default"; 153 pinctrl-0 = <&mmc1_pins>; 152 pinctrl-0 = <&mmc1_pins>; 154 vmmc-supply = <®_dldo4>; 153 vmmc-supply = <®_dldo4>; 155 vqmmc-supply = <®_eldo1>; 154 vqmmc-supply = <®_eldo1>; 156 mmc-pwrseq = <&wifi_pwrseq>; 155 mmc-pwrseq = <&wifi_pwrseq>; 157 bus-width = <4>; 156 bus-width = <4>; 158 non-removable; 157 non-removable; 159 status = "okay"; 158 status = "okay"; 160 159 161 rtl8723cs: wifi@1 { 160 rtl8723cs: wifi@1 { 162 reg = <1>; 161 reg = <1>; 163 }; 162 }; 164 }; 163 }; 165 164 166 &mmc2 { 165 &mmc2 { 167 pinctrl-names = "default"; 166 pinctrl-names = "default"; 168 pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pi 167 pinctrl-0 = <&mmc2_pins>, <&mmc2_ds_pin>; 169 vmmc-supply = <®_dcdc1>; 168 vmmc-supply = <®_dcdc1>; 170 vqmmc-supply = <®_eldo1>; 169 vqmmc-supply = <®_eldo1>; 171 max-frequency = <200000000>; 170 max-frequency = <200000000>; 172 bus-width = <8>; 171 bus-width = <8>; 173 non-removable; 172 non-removable; 174 cap-mmc-hw-reset; 173 cap-mmc-hw-reset; 175 mmc-hs200-1_8v; 174 mmc-hs200-1_8v; 176 status = "okay"; 175 status = "okay"; 177 }; 176 }; 178 177 179 &ohci0 { 178 &ohci0 { 180 status = "okay"; 179 status = "okay"; 181 }; 180 }; 182 181 183 &ohci1 { 182 &ohci1 { 184 status = "okay"; 183 status = "okay"; 185 }; 184 }; 186 185 187 &pio { 186 &pio { 188 vcc-pc-supply = <®_eldo1>; 187 vcc-pc-supply = <®_eldo1>; 189 vcc-pd-supply = <®_dcdc1>; 188 vcc-pd-supply = <®_dcdc1>; 190 vcc-pe-supply = <®_aldo1>; 189 vcc-pe-supply = <®_aldo1>; 191 vcc-pg-supply = <®_eldo1>; 190 vcc-pg-supply = <®_eldo1>; 192 }; 191 }; 193 192 194 &pwm { 193 &pwm { 195 status = "okay"; 194 status = "okay"; 196 }; 195 }; 197 196 198 &r_i2c { 197 &r_i2c { 199 clock-frequency = <100000>; 198 clock-frequency = <100000>; 200 pinctrl-names = "default"; 199 pinctrl-names = "default"; 201 pinctrl-0 = <&r_i2c_pl89_pins>; 200 pinctrl-0 = <&r_i2c_pl89_pins>; 202 status = "okay"; 201 status = "okay"; 203 202 204 anx6345: anx6345@38 { 203 anx6345: anx6345@38 { 205 compatible = "analogix,anx6345 204 compatible = "analogix,anx6345"; 206 reg = <0x38>; 205 reg = <0x38>; 207 reset-gpios = <&pio 3 24 GPIO_ 206 reset-gpios = <&pio 3 24 GPIO_ACTIVE_LOW>; /* PD24 */ 208 dvdd25-supply = <®_dldo2>; 207 dvdd25-supply = <®_dldo2>; 209 dvdd12-supply = <®_fldo1>; 208 dvdd12-supply = <®_fldo1>; 210 209 211 ports { 210 ports { 212 #address-cells = <1>; 211 #address-cells = <1>; 213 #size-cells = <0>; 212 #size-cells = <0>; 214 213 215 anx6345_in: port@0 { 214 anx6345_in: port@0 { 216 reg = <0>; 215 reg = <0>; 217 anx6345_in_tco 216 anx6345_in_tcon0: endpoint { 218 remote 217 remote-endpoint = <&tcon0_out_anx6345>; 219 }; 218 }; 220 }; 219 }; 221 220 222 anx6345_out: port@1 { 221 anx6345_out: port@1 { 223 reg = <1>; 222 reg = <1>; 224 anx6345_out_ed 223 anx6345_out_edp: endpoint { 225 remote 224 remote-endpoint = <&panel_edp_in>; 226 }; 225 }; 227 }; 226 }; 228 }; 227 }; 229 }; 228 }; 230 }; 229 }; 231 230 232 &r_pio { 231 &r_pio { 233 /* 232 /* 234 * FIXME: We can't add that supply for 233 * FIXME: We can't add that supply for now since it would 235 * create a circular dependency betwee 234 * create a circular dependency between pinctrl, the regulator 236 * and the RSB Bus. 235 * and the RSB Bus. 237 * 236 * 238 * vcc-pl-supply = <®_aldo2>; 237 * vcc-pl-supply = <®_aldo2>; 239 */ 238 */ 240 }; 239 }; 241 240 242 &r_rsb { 241 &r_rsb { 243 status = "okay"; 242 status = "okay"; 244 243 245 axp803: pmic@3a3 { 244 axp803: pmic@3a3 { 246 compatible = "x-powers,axp803" 245 compatible = "x-powers,axp803"; 247 reg = <0x3a3>; 246 reg = <0x3a3>; 248 interrupt-parent = <&r_intc>; 247 interrupt-parent = <&r_intc>; 249 interrupts = <GIC_SPI 32 IRQ_T 248 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>; 250 }; 249 }; 251 }; 250 }; 252 251 253 #include "axp803.dtsi" 252 #include "axp803.dtsi" 254 253 255 &ac_power_supply { 254 &ac_power_supply { 256 status = "okay"; 255 status = "okay"; 257 }; 256 }; 258 257 259 &battery_power_supply { 258 &battery_power_supply { 260 status = "okay"; 259 status = "okay"; 261 }; 260 }; 262 261 263 ®_aldo1 { 262 ®_aldo1 { 264 regulator-name = "vcc-pe"; 263 regulator-name = "vcc-pe"; 265 }; 264 }; 266 265 267 ®_aldo2 { 266 ®_aldo2 { 268 regulator-always-on; 267 regulator-always-on; 269 regulator-min-microvolt = <1800000>; 268 regulator-min-microvolt = <1800000>; 270 regulator-max-microvolt = <3300000>; 269 regulator-max-microvolt = <3300000>; 271 regulator-name = "vcc-pl"; 270 regulator-name = "vcc-pl"; 272 }; 271 }; 273 272 274 ®_aldo3 { 273 ®_aldo3 { 275 regulator-always-on; 274 regulator-always-on; 276 regulator-min-microvolt = <2700000>; 275 regulator-min-microvolt = <2700000>; 277 regulator-max-microvolt = <3300000>; 276 regulator-max-microvolt = <3300000>; 278 regulator-name = "vcc-pll-avcc"; 277 regulator-name = "vcc-pll-avcc"; 279 }; 278 }; 280 279 281 ®_dc1sw { 280 ®_dc1sw { 282 regulator-name = "vcc-lcd"; 281 regulator-name = "vcc-lcd"; 283 }; 282 }; 284 283 285 ®_dcdc1 { 284 ®_dcdc1 { 286 regulator-always-on; 285 regulator-always-on; 287 regulator-min-microvolt = <3300000>; 286 regulator-min-microvolt = <3300000>; 288 regulator-max-microvolt = <3300000>; 287 regulator-max-microvolt = <3300000>; 289 regulator-name = "vcc-3v3"; 288 regulator-name = "vcc-3v3"; 290 }; 289 }; 291 290 292 ®_dcdc2 { 291 ®_dcdc2 { 293 regulator-always-on; 292 regulator-always-on; 294 regulator-min-microvolt = <1000000>; 293 regulator-min-microvolt = <1000000>; 295 regulator-max-microvolt = <1300000>; 294 regulator-max-microvolt = <1300000>; 296 regulator-name = "vdd-cpux"; 295 regulator-name = "vdd-cpux"; 297 }; 296 }; 298 297 299 /* DCDC3 is polyphased with DCDC2 */ 298 /* DCDC3 is polyphased with DCDC2 */ 300 299 301 ®_dcdc5 { 300 ®_dcdc5 { 302 regulator-always-on; 301 regulator-always-on; 303 regulator-min-microvolt = <1200000>; 302 regulator-min-microvolt = <1200000>; 304 regulator-max-microvolt = <1200000>; 303 regulator-max-microvolt = <1200000>; 305 regulator-name = "vcc-dram"; 304 regulator-name = "vcc-dram"; 306 }; 305 }; 307 306 308 ®_dcdc6 { 307 ®_dcdc6 { 309 regulator-always-on; 308 regulator-always-on; 310 regulator-min-microvolt = <1100000>; 309 regulator-min-microvolt = <1100000>; 311 regulator-max-microvolt = <1100000>; 310 regulator-max-microvolt = <1100000>; 312 regulator-name = "vdd-sys"; 311 regulator-name = "vdd-sys"; 313 }; 312 }; 314 313 315 ®_dldo1 { 314 ®_dldo1 { 316 regulator-min-microvolt = <3300000>; 315 regulator-min-microvolt = <3300000>; 317 regulator-max-microvolt = <3300000>; 316 regulator-max-microvolt = <3300000>; 318 regulator-name = "vcc-hdmi"; 317 regulator-name = "vcc-hdmi"; 319 }; 318 }; 320 319 321 ®_dldo2 { 320 ®_dldo2 { 322 regulator-min-microvolt = <2500000>; 321 regulator-min-microvolt = <2500000>; 323 regulator-max-microvolt = <2500000>; 322 regulator-max-microvolt = <2500000>; 324 regulator-name = "vcc-edp"; 323 regulator-name = "vcc-edp"; 325 }; 324 }; 326 325 327 ®_dldo4 { 326 ®_dldo4 { 328 regulator-min-microvolt = <3300000>; 327 regulator-min-microvolt = <3300000>; 329 regulator-max-microvolt = <3300000>; 328 regulator-max-microvolt = <3300000>; 330 regulator-name = "vcc-wifi"; 329 regulator-name = "vcc-wifi"; 331 }; 330 }; 332 331 333 ®_eldo1 { 332 ®_eldo1 { 334 regulator-always-on; 333 regulator-always-on; 335 regulator-min-microvolt = <1800000>; 334 regulator-min-microvolt = <1800000>; 336 regulator-max-microvolt = <1800000>; 335 regulator-max-microvolt = <1800000>; 337 regulator-name = "cpvdd"; 336 regulator-name = "cpvdd"; 338 }; 337 }; 339 338 340 ®_fldo1 { 339 ®_fldo1 { 341 regulator-min-microvolt = <1200000>; 340 regulator-min-microvolt = <1200000>; 342 regulator-max-microvolt = <1200000>; 341 regulator-max-microvolt = <1200000>; 343 regulator-name = "vcc-1v2-hsic"; 342 regulator-name = "vcc-1v2-hsic"; 344 }; 343 }; 345 344 346 ®_fldo2 { 345 ®_fldo2 { 347 regulator-always-on; 346 regulator-always-on; 348 regulator-min-microvolt = <1100000>; 347 regulator-min-microvolt = <1100000>; 349 regulator-max-microvolt = <1100000>; 348 regulator-max-microvolt = <1100000>; 350 regulator-name = "vdd-cpus"; 349 regulator-name = "vdd-cpus"; 351 }; 350 }; 352 351 353 ®_rtc_ldo { 352 ®_rtc_ldo { 354 regulator-name = "vcc-rtc"; 353 regulator-name = "vcc-rtc"; 355 }; 354 }; 356 355 357 &simplefb_lcd { 356 &simplefb_lcd { 358 panel-supply = <®_dc1sw>; 357 panel-supply = <®_dc1sw>; 359 dvdd25-supply = <®_dldo2>; 358 dvdd25-supply = <®_dldo2>; 360 dvdd12-supply = <®_fldo1>; 359 dvdd12-supply = <®_fldo1>; 361 }; 360 }; 362 361 363 &simplefb_hdmi { 362 &simplefb_hdmi { 364 vcc-hdmi-supply = <®_dldo1>; 363 vcc-hdmi-supply = <®_dldo1>; 365 }; 364 }; 366 365 367 &sound { 366 &sound { 368 status = "okay"; 367 status = "okay"; 369 simple-audio-card,aux-devs = <&codec_a 368 simple-audio-card,aux-devs = <&codec_analog>, <&speaker_amp>; 370 simple-audio-card,widgets = "Microphon 369 simple-audio-card,widgets = "Microphone", "Internal Microphone Left", 371 "Microphon 370 "Microphone", "Internal Microphone Right", 372 "Headphone 371 "Headphone", "Headphone Jack", 373 "Speaker", 372 "Speaker", "Internal Speaker"; 374 simple-audio-card,routing = 373 simple-audio-card,routing = 375 "Left DAC", "DACL", 374 "Left DAC", "DACL", 376 "Right DAC", "DACR", 375 "Right DAC", "DACR", 377 "Speaker Amp INL", "LI 376 "Speaker Amp INL", "LINEOUT", 378 "Speaker Amp INR", "LI 377 "Speaker Amp INR", "LINEOUT", 379 "Internal Speaker", "S 378 "Internal Speaker", "Speaker Amp OUTL", 380 "Internal Speaker", "S 379 "Internal Speaker", "Speaker Amp OUTR", 381 "Headphone Jack", "HP" 380 "Headphone Jack", "HP", 382 "ADCL", "Left ADC", 381 "ADCL", "Left ADC", 383 "ADCR", "Right ADC", 382 "ADCR", "Right ADC", 384 "Internal Microphone L 383 "Internal Microphone Left", "MBIAS", 385 "MIC1", "Internal Micr 384 "MIC1", "Internal Microphone Left", 386 "Internal Microphone R 385 "Internal Microphone Right", "HBIAS", 387 "MIC2", "Internal Micr 386 "MIC2", "Internal Microphone Right"; 388 }; 387 }; 389 388 390 &tcon0 { 389 &tcon0 { 391 pinctrl-names = "default"; 390 pinctrl-names = "default"; 392 pinctrl-0 = <&lcd_rgb666_pins>; 391 pinctrl-0 = <&lcd_rgb666_pins>; 393 392 394 status = "okay"; 393 status = "okay"; 395 }; 394 }; 396 395 397 &tcon0_out { 396 &tcon0_out { 398 tcon0_out_anx6345: endpoint { 397 tcon0_out_anx6345: endpoint { 399 remote-endpoint = <&anx6345_in 398 remote-endpoint = <&anx6345_in_tcon0>; 400 }; 399 }; 401 }; 400 }; 402 401 403 &uart0 { 402 &uart0 { 404 pinctrl-names = "default"; 403 pinctrl-names = "default"; 405 pinctrl-0 = <&uart0_pb_pins>; 404 pinctrl-0 = <&uart0_pb_pins>; 406 status = "okay"; 405 status = "okay"; 407 }; << 408 << 409 &uart1 { << 410 pinctrl-names = "default"; << 411 pinctrl-0 = <&uart1_pins>, <&uart1_rts << 412 uart-has-rtscts; << 413 status = "okay"; << 414 << 415 bluetooth { << 416 compatible = "realtek,rtl8723c << 417 device-wake-gpios = <&r_pio 0 << 418 enable-gpios = <&r_pio 0 4 GPI << 419 host-wake-gpios = <&r_pio 0 6 << 420 }; << 421 }; 406 }; 422 407 423 &usb_otg { 408 &usb_otg { 424 dr_mode = "host"; 409 dr_mode = "host"; 425 }; 410 }; 426 411 427 &usbphy { 412 &usbphy { 428 usb0_vbus-supply = <®_vcc5v0>; 413 usb0_vbus-supply = <®_vcc5v0>; 429 usb1_vbus-supply = <®_vcc5v0>; 414 usb1_vbus-supply = <®_vcc5v0>; 430 status = "okay"; 415 status = "okay"; 431 }; 416 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.