1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 2 /* 3 * Copyright (c) 2017 T-Chip Intelligent Techn 3 * Copyright (c) 2017 T-Chip Intelligent Technology Co., Ltd 4 */ 4 */ 5 5 6 /dts-v1/; 6 /dts-v1/; 7 #include <dt-bindings/input/linux-event-codes. 7 #include <dt-bindings/input/linux-event-codes.h> 8 #include <dt-bindings/pwm/pwm.h> 8 #include <dt-bindings/pwm/pwm.h> 9 #include "rk3399.dtsi" 9 #include "rk3399.dtsi" >> 10 #include "rk3399-opp.dtsi" 10 11 11 / { 12 / { 12 model = "Firefly ROC-RK3399-PC Board"; 13 model = "Firefly ROC-RK3399-PC Board"; 13 compatible = "firefly,roc-rk3399-pc", 14 compatible = "firefly,roc-rk3399-pc", "rockchip,rk3399"; 14 15 15 aliases { << 16 ethernet0 = &gmac; << 17 mmc0 = &sdmmc; << 18 mmc1 = &sdhci; << 19 }; << 20 << 21 chosen { 16 chosen { 22 stdout-path = "serial2:1500000 17 stdout-path = "serial2:1500000n8"; 23 }; 18 }; 24 19 25 backlight: backlight { 20 backlight: backlight { 26 compatible = "pwm-backlight"; 21 compatible = "pwm-backlight"; 27 pwms = <&pwm0 0 25000 0>; 22 pwms = <&pwm0 0 25000 0>; 28 }; 23 }; 29 24 30 clkin_gmac: external-gmac-clock { 25 clkin_gmac: external-gmac-clock { 31 compatible = "fixed-clock"; 26 compatible = "fixed-clock"; 32 clock-frequency = <125000000>; 27 clock-frequency = <125000000>; 33 clock-output-names = "clkin_gm 28 clock-output-names = "clkin_gmac"; 34 #clock-cells = <0>; 29 #clock-cells = <0>; 35 }; 30 }; 36 31 37 adc-keys { 32 adc-keys { 38 compatible = "adc-keys"; 33 compatible = "adc-keys"; 39 io-channels = <&saradc 1>; 34 io-channels = <&saradc 1>; 40 io-channel-names = "buttons"; 35 io-channel-names = "buttons"; 41 keyup-threshold-microvolt = <1 36 keyup-threshold-microvolt = <1500000>; 42 poll-interval = <100>; 37 poll-interval = <100>; 43 38 44 button-recovery { !! 39 recovery { 45 label = "Recovery"; 40 label = "Recovery"; 46 linux,code = <KEY_VEND 41 linux,code = <KEY_VENDOR>; 47 press-threshold-microv 42 press-threshold-microvolt = <18000>; 48 }; 43 }; 49 }; 44 }; 50 45 51 gpio-keys { 46 gpio-keys { 52 compatible = "gpio-keys"; 47 compatible = "gpio-keys"; 53 autorepeat; 48 autorepeat; 54 pinctrl-names = "default"; 49 pinctrl-names = "default"; 55 pinctrl-0 = <&pwr_key_l>; 50 pinctrl-0 = <&pwr_key_l>; 56 51 57 key-power { !! 52 power { 58 debounce-interval = <1 53 debounce-interval = <100>; 59 gpios = <&gpio0 RK_PA5 54 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>; 60 label = "GPIO Key Powe 55 label = "GPIO Key Power"; 61 linux,code = <KEY_POWE 56 linux,code = <KEY_POWER>; 62 wakeup-source; 57 wakeup-source; 63 }; 58 }; 64 }; 59 }; 65 60 66 ir-receiver { << 67 compatible = "gpio-ir-receiver << 68 gpios = <&gpio0 RK_PA6 GPIO_AC << 69 pinctrl-names = "default"; << 70 pinctrl-0 = <&ir_int>; << 71 }; << 72 << 73 leds { 61 leds { 74 compatible = "gpio-leds"; 62 compatible = "gpio-leds"; 75 pinctrl-names = "default"; 63 pinctrl-names = "default"; 76 pinctrl-0 = <&work_led_pin>, < 64 pinctrl-0 = <&work_led_pin>, <&diy_led_pin>, <&yellow_led_pin>; 77 65 78 work_led: led-0 { 66 work_led: led-0 { 79 label = "green:work"; 67 label = "green:work"; 80 gpios = <&gpio2 RK_PD3 68 gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>; 81 default-state = "on"; 69 default-state = "on"; 82 linux,default-trigger 70 linux,default-trigger = "heartbeat"; 83 }; 71 }; 84 72 85 diy_led: led-1 { 73 diy_led: led-1 { 86 label = "red:diy"; 74 label = "red:diy"; 87 gpios = <&gpio0 RK_PB5 75 gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>; 88 default-state = "off"; 76 default-state = "off"; 89 linux,default-trigger 77 linux,default-trigger = "mmc2"; 90 }; 78 }; 91 79 92 yellow_led: led-2 { 80 yellow_led: led-2 { 93 label = "yellow:yellow 81 label = "yellow:yellow-led"; 94 gpios = <&gpio0 RK_PA2 82 gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>; 95 default-state = "off"; 83 default-state = "off"; 96 linux,default-trigger 84 linux,default-trigger = "mmc1"; 97 }; 85 }; 98 }; 86 }; 99 87 100 sdio_pwrseq: sdio-pwrseq { 88 sdio_pwrseq: sdio-pwrseq { 101 compatible = "mmc-pwrseq-simpl 89 compatible = "mmc-pwrseq-simple"; 102 clocks = <&rk808 1>; 90 clocks = <&rk808 1>; 103 clock-names = "ext_clock"; 91 clock-names = "ext_clock"; 104 pinctrl-names = "default"; 92 pinctrl-names = "default"; 105 pinctrl-0 = <&wifi_enable_h>; 93 pinctrl-0 = <&wifi_enable_h>; 106 94 107 /* 95 /* 108 * On the module itself this i 96 * On the module itself this is one of these (depending 109 * on the actual card populate 97 * on the actual card populated): 110 * - SDIO_RESET_L_WL_REG_ON 98 * - SDIO_RESET_L_WL_REG_ON 111 * - PDN (power down when low) 99 * - PDN (power down when low) 112 */ 100 */ 113 reset-gpios = <&gpio0 RK_PB2 G 101 reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>; 114 }; 102 }; 115 103 116 vcc_vbus_typec0: vcc-vbus-typec0 { 104 vcc_vbus_typec0: vcc-vbus-typec0 { 117 compatible = "regulator-fixed" 105 compatible = "regulator-fixed"; 118 regulator-name = "vcc_vbus_typ 106 regulator-name = "vcc_vbus_typec0"; 119 regulator-always-on; 107 regulator-always-on; 120 regulator-boot-on; 108 regulator-boot-on; 121 regulator-min-microvolt = <500 109 regulator-min-microvolt = <5000000>; 122 regulator-max-microvolt = <500 110 regulator-max-microvolt = <5000000>; 123 }; 111 }; 124 112 125 sys_12v: sys-12v { << 126 compatible = "regulator-fixed" << 127 regulator-name = "sys_12v"; << 128 regulator-always-on; << 129 regulator-boot-on; << 130 vin-supply = <&dc_12v>; << 131 }; << 132 << 133 /* switched by pmic_sleep */ 113 /* switched by pmic_sleep */ 134 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 114 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 { 135 compatible = "regulator-fixed" 115 compatible = "regulator-fixed"; 136 regulator-name = "vcc1v8_s3"; 116 regulator-name = "vcc1v8_s3"; 137 regulator-always-on; 117 regulator-always-on; 138 regulator-boot-on; 118 regulator-boot-on; 139 regulator-min-microvolt = <180 119 regulator-min-microvolt = <1800000>; 140 regulator-max-microvolt = <180 120 regulator-max-microvolt = <1800000>; 141 vin-supply = <&vcc_1v8>; 121 vin-supply = <&vcc_1v8>; 142 }; 122 }; 143 123 144 vcc3v0_sd: vcc3v0-sd { 124 vcc3v0_sd: vcc3v0-sd { 145 compatible = "regulator-fixed" 125 compatible = "regulator-fixed"; 146 enable-active-high; 126 enable-active-high; 147 gpio = <&gpio4 RK_PD6 GPIO_ACT 127 gpio = <&gpio4 RK_PD6 GPIO_ACTIVE_HIGH>; 148 pinctrl-names = "default"; 128 pinctrl-names = "default"; 149 pinctrl-0 = <&vcc3v0_sd_en>; 129 pinctrl-0 = <&vcc3v0_sd_en>; 150 regulator-name = "vcc3v0_sd"; 130 regulator-name = "vcc3v0_sd"; 151 regulator-boot-on; 131 regulator-boot-on; 152 regulator-min-microvolt = <300 132 regulator-min-microvolt = <3000000>; 153 regulator-max-microvolt = <300 133 regulator-max-microvolt = <3000000>; 154 vin-supply = <&vcc3v3_sys>; 134 vin-supply = <&vcc3v3_sys>; 155 }; 135 }; 156 136 157 vcc3v3_sys: vcc3v3-sys { 137 vcc3v3_sys: vcc3v3-sys { 158 compatible = "regulator-fixed" 138 compatible = "regulator-fixed"; 159 regulator-name = "vcc3v3_sys"; 139 regulator-name = "vcc3v3_sys"; 160 regulator-always-on; 140 regulator-always-on; 161 regulator-boot-on; 141 regulator-boot-on; 162 regulator-min-microvolt = <330 142 regulator-min-microvolt = <3300000>; 163 regulator-max-microvolt = <330 143 regulator-max-microvolt = <3300000>; 164 vin-supply = <&sys_12v>; !! 144 vin-supply = <&dc_12v>; 165 }; 145 }; 166 146 167 vcca_0v9: vcca-0v9 { 147 vcca_0v9: vcca-0v9 { 168 compatible = "regulator-fixed" 148 compatible = "regulator-fixed"; 169 regulator-name = "vcca_0v9"; 149 regulator-name = "vcca_0v9"; 170 regulator-always-on; 150 regulator-always-on; 171 regulator-boot-on; 151 regulator-boot-on; 172 regulator-min-microvolt = <900 152 regulator-min-microvolt = <900000>; 173 regulator-max-microvolt = <900 153 regulator-max-microvolt = <900000>; 174 vin-supply = <&vcc3v3_sys>; 154 vin-supply = <&vcc3v3_sys>; 175 }; 155 }; 176 156 177 /* Actually 3 regulators (host0, 1, 2) 157 /* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */ 178 vcc5v0_host: vcc5v0-host-regulator { 158 vcc5v0_host: vcc5v0-host-regulator { 179 compatible = "regulator-fixed" 159 compatible = "regulator-fixed"; 180 enable-active-high; 160 enable-active-high; 181 gpio = <&gpio1 RK_PA0 GPIO_ACT 161 gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>; 182 pinctrl-names = "default"; 162 pinctrl-names = "default"; 183 pinctrl-0 = <&vcc5v0_host_en & 163 pinctrl-0 = <&vcc5v0_host_en &hub_rst>; 184 regulator-name = "vcc5v0_host" 164 regulator-name = "vcc5v0_host"; 185 vin-supply = <&vcc_sys>; 165 vin-supply = <&vcc_sys>; 186 }; 166 }; 187 167 188 vcc_vbus_typec1: vcc-vbus-typec1 { 168 vcc_vbus_typec1: vcc-vbus-typec1 { 189 compatible = "regulator-fixed" 169 compatible = "regulator-fixed"; 190 enable-active-high; 170 enable-active-high; 191 gpio = <&gpio1 RK_PB5 GPIO_ACT 171 gpio = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>; 192 pinctrl-names = "default"; 172 pinctrl-names = "default"; 193 pinctrl-0 = <&vcc_vbus_typec1_ 173 pinctrl-0 = <&vcc_vbus_typec1_en>; 194 regulator-name = "vcc_vbus_typ 174 regulator-name = "vcc_vbus_typec1"; 195 regulator-always-on; 175 regulator-always-on; 196 vin-supply = <&vcc_sys>; 176 vin-supply = <&vcc_sys>; 197 }; 177 }; 198 178 199 vcc_sys: vcc-sys { 179 vcc_sys: vcc-sys { 200 compatible = "regulator-fixed" 180 compatible = "regulator-fixed"; 201 enable-active-high; 181 enable-active-high; 202 gpio = <&gpio2 RK_PA6 GPIO_ACT 182 gpio = <&gpio2 RK_PA6 GPIO_ACTIVE_HIGH>; 203 pinctrl-names = "default"; 183 pinctrl-names = "default"; 204 pinctrl-0 = <&vcc_sys_en>; 184 pinctrl-0 = <&vcc_sys_en>; 205 regulator-name = "vcc_sys"; 185 regulator-name = "vcc_sys"; 206 regulator-boot-on; 186 regulator-boot-on; 207 regulator-min-microvolt = <500 187 regulator-min-microvolt = <5000000>; 208 regulator-max-microvolt = <500 188 regulator-max-microvolt = <5000000>; 209 vin-supply = <&sys_12v>; !! 189 vin-supply = <&dc_12v>; 210 }; 190 }; 211 191 212 vdd_log: vdd-log { 192 vdd_log: vdd-log { 213 compatible = "pwm-regulator"; 193 compatible = "pwm-regulator"; 214 pwms = <&pwm2 0 25000 1>; 194 pwms = <&pwm2 0 25000 1>; 215 regulator-name = "vdd_log"; 195 regulator-name = "vdd_log"; 216 regulator-always-on; 196 regulator-always-on; 217 regulator-boot-on; 197 regulator-boot-on; 218 regulator-min-microvolt = <450 198 regulator-min-microvolt = <450000>; 219 regulator-max-microvolt = <140 199 regulator-max-microvolt = <1400000>; 220 pwm-supply = <&vcc3v3_sys>; 200 pwm-supply = <&vcc3v3_sys>; 221 }; 201 }; 222 }; 202 }; 223 203 224 &cpu_l0 { 204 &cpu_l0 { 225 cpu-supply = <&vdd_cpu_l>; 205 cpu-supply = <&vdd_cpu_l>; 226 }; 206 }; 227 207 228 &cpu_l1 { 208 &cpu_l1 { 229 cpu-supply = <&vdd_cpu_l>; 209 cpu-supply = <&vdd_cpu_l>; 230 }; 210 }; 231 211 232 &cpu_l2 { 212 &cpu_l2 { 233 cpu-supply = <&vdd_cpu_l>; 213 cpu-supply = <&vdd_cpu_l>; 234 }; 214 }; 235 215 236 &cpu_l3 { 216 &cpu_l3 { 237 cpu-supply = <&vdd_cpu_l>; 217 cpu-supply = <&vdd_cpu_l>; 238 }; 218 }; 239 219 240 &cpu_b0 { 220 &cpu_b0 { 241 cpu-supply = <&vdd_cpu_b>; 221 cpu-supply = <&vdd_cpu_b>; 242 }; 222 }; 243 223 244 &cpu_b1 { 224 &cpu_b1 { 245 cpu-supply = <&vdd_cpu_b>; 225 cpu-supply = <&vdd_cpu_b>; 246 }; 226 }; 247 227 248 &emmc_phy { 228 &emmc_phy { 249 status = "okay"; 229 status = "okay"; 250 }; 230 }; 251 231 252 &gmac { 232 &gmac { 253 assigned-clocks = <&cru SCLK_RMII_SRC> 233 assigned-clocks = <&cru SCLK_RMII_SRC>; 254 assigned-clock-parents = <&clkin_gmac> 234 assigned-clock-parents = <&clkin_gmac>; 255 clock_in_out = "input"; 235 clock_in_out = "input"; 256 phy-supply = <&vcc_lan>; 236 phy-supply = <&vcc_lan>; 257 phy-mode = "rgmii"; 237 phy-mode = "rgmii"; 258 pinctrl-names = "default"; 238 pinctrl-names = "default"; 259 pinctrl-0 = <&rgmii_pins>; 239 pinctrl-0 = <&rgmii_pins>; 260 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ 240 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; 261 snps,reset-active-low; 241 snps,reset-active-low; 262 snps,reset-delays-us = <0 10000 50000> 242 snps,reset-delays-us = <0 10000 50000>; 263 tx_delay = <0x28>; 243 tx_delay = <0x28>; 264 rx_delay = <0x11>; 244 rx_delay = <0x11>; 265 status = "okay"; 245 status = "okay"; 266 }; 246 }; 267 247 268 &gpu { 248 &gpu { 269 mali-supply = <&vdd_gpu>; 249 mali-supply = <&vdd_gpu>; 270 status = "okay"; 250 status = "okay"; 271 }; 251 }; 272 252 273 &hdmi { 253 &hdmi { 274 avdd-0v9-supply = <&vcca0v9_hdmi>; << 275 avdd-1v8-supply = <&vcca1v8_hdmi>; << 276 ddc-i2c-bus = <&i2c3>; 254 ddc-i2c-bus = <&i2c3>; 277 pinctrl-names = "default"; 255 pinctrl-names = "default"; 278 pinctrl-0 = <&hdmi_cec>; 256 pinctrl-0 = <&hdmi_cec>; 279 status = "okay"; 257 status = "okay"; 280 }; 258 }; 281 259 282 &hdmi_sound { 260 &hdmi_sound { 283 status = "okay"; 261 status = "okay"; 284 }; 262 }; 285 263 286 &i2c0 { 264 &i2c0 { 287 clock-frequency = <400000>; 265 clock-frequency = <400000>; 288 i2c-scl-rising-time-ns = <168>; 266 i2c-scl-rising-time-ns = <168>; 289 i2c-scl-falling-time-ns = <4>; 267 i2c-scl-falling-time-ns = <4>; 290 status = "okay"; 268 status = "okay"; 291 269 292 rk808: pmic@1b { 270 rk808: pmic@1b { 293 compatible = "rockchip,rk808"; 271 compatible = "rockchip,rk808"; 294 reg = <0x1b>; 272 reg = <0x1b>; 295 interrupt-parent = <&gpio1>; 273 interrupt-parent = <&gpio1>; 296 interrupts = <21 IRQ_TYPE_LEVE 274 interrupts = <21 IRQ_TYPE_LEVEL_LOW>; 297 #clock-cells = <1>; 275 #clock-cells = <1>; 298 clock-output-names = "xin32k", 276 clock-output-names = "xin32k", "rk808-clkout2"; 299 pinctrl-names = "default"; 277 pinctrl-names = "default"; 300 pinctrl-0 = <&pmic_int_l>; 278 pinctrl-0 = <&pmic_int_l>; 301 rockchip,system-power-controll 279 rockchip,system-power-controller; 302 wakeup-source; 280 wakeup-source; 303 281 304 vcc1-supply = <&vcc3v3_sys>; 282 vcc1-supply = <&vcc3v3_sys>; 305 vcc2-supply = <&vcc3v3_sys>; 283 vcc2-supply = <&vcc3v3_sys>; 306 vcc3-supply = <&vcc3v3_sys>; 284 vcc3-supply = <&vcc3v3_sys>; 307 vcc4-supply = <&vcc3v3_sys>; 285 vcc4-supply = <&vcc3v3_sys>; 308 vcc6-supply = <&vcc3v3_sys>; 286 vcc6-supply = <&vcc3v3_sys>; 309 vcc7-supply = <&vcc3v3_sys>; 287 vcc7-supply = <&vcc3v3_sys>; 310 vcc8-supply = <&vcc3v3_sys>; 288 vcc8-supply = <&vcc3v3_sys>; 311 vcc9-supply = <&vcc3v3_sys>; 289 vcc9-supply = <&vcc3v3_sys>; 312 vcc10-supply = <&vcc3v3_sys>; 290 vcc10-supply = <&vcc3v3_sys>; 313 vcc11-supply = <&vcc3v3_sys>; 291 vcc11-supply = <&vcc3v3_sys>; 314 vcc12-supply = <&vcc3v3_sys>; 292 vcc12-supply = <&vcc3v3_sys>; >> 293 vcc13-supply = <&vcc3v3_sys>; >> 294 vcc14-supply = <&vcc3v3_sys>; 315 vddio-supply = <&vcc_3v0>; 295 vddio-supply = <&vcc_3v0>; 316 296 317 regulators { 297 regulators { 318 vdd_center: DCDC_REG1 298 vdd_center: DCDC_REG1 { 319 regulator-name 299 regulator-name = "vdd_center"; 320 regulator-alwa 300 regulator-always-on; 321 regulator-boot 301 regulator-boot-on; 322 regulator-min- 302 regulator-min-microvolt = <750000>; 323 regulator-max- 303 regulator-max-microvolt = <1350000>; 324 regulator-ramp 304 regulator-ramp-delay = <6001>; 325 regulator-stat 305 regulator-state-mem { 326 regula 306 regulator-off-in-suspend; 327 }; 307 }; 328 }; 308 }; 329 309 330 vdd_cpu_l: DCDC_REG2 { 310 vdd_cpu_l: DCDC_REG2 { 331 regulator-name 311 regulator-name = "vdd_cpu_l"; 332 regulator-alwa 312 regulator-always-on; 333 regulator-boot 313 regulator-boot-on; 334 regulator-min- 314 regulator-min-microvolt = <750000>; 335 regulator-max- 315 regulator-max-microvolt = <1350000>; 336 regulator-ramp 316 regulator-ramp-delay = <6001>; 337 regulator-stat 317 regulator-state-mem { 338 regula 318 regulator-off-in-suspend; 339 }; 319 }; 340 }; 320 }; 341 321 342 vcc_ddr: DCDC_REG3 { 322 vcc_ddr: DCDC_REG3 { 343 regulator-name 323 regulator-name = "vcc_ddr"; 344 regulator-alwa 324 regulator-always-on; 345 regulator-boot 325 regulator-boot-on; 346 regulator-stat 326 regulator-state-mem { 347 regula 327 regulator-on-in-suspend; 348 }; 328 }; 349 }; 329 }; 350 330 351 vcc_1v8: DCDC_REG4 { 331 vcc_1v8: DCDC_REG4 { 352 regulator-name 332 regulator-name = "vcc_1v8"; 353 regulator-alwa 333 regulator-always-on; 354 regulator-boot 334 regulator-boot-on; 355 regulator-min- 335 regulator-min-microvolt = <1800000>; 356 regulator-max- 336 regulator-max-microvolt = <1800000>; 357 regulator-stat 337 regulator-state-mem { 358 regula 338 regulator-on-in-suspend; 359 regula 339 regulator-suspend-microvolt = <1800000>; 360 }; 340 }; 361 }; 341 }; 362 342 363 vcca1v8_codec: LDO_REG 343 vcca1v8_codec: LDO_REG1 { 364 regulator-name 344 regulator-name = "vcca1v8_codec"; 365 regulator-alwa 345 regulator-always-on; 366 regulator-boot 346 regulator-boot-on; 367 regulator-min- 347 regulator-min-microvolt = <1800000>; 368 regulator-max- 348 regulator-max-microvolt = <1800000>; 369 regulator-stat 349 regulator-state-mem { 370 regula 350 regulator-off-in-suspend; 371 }; 351 }; 372 }; 352 }; 373 353 374 vcca1v8_hdmi: LDO_REG2 !! 354 vcc1v8_hdmi: LDO_REG2 { 375 regulator-name !! 355 regulator-name = "vcc1v8_hdmi"; 376 regulator-alwa 356 regulator-always-on; 377 regulator-boot 357 regulator-boot-on; 378 regulator-min- 358 regulator-min-microvolt = <1800000>; 379 regulator-max- 359 regulator-max-microvolt = <1800000>; 380 regulator-stat 360 regulator-state-mem { 381 regula 361 regulator-off-in-suspend; 382 }; 362 }; 383 }; 363 }; 384 364 385 vcc1v8_pmu: LDO_REG3 { 365 vcc1v8_pmu: LDO_REG3 { 386 regulator-name 366 regulator-name = "vcc1v8_pmu"; 387 regulator-alwa 367 regulator-always-on; 388 regulator-boot 368 regulator-boot-on; 389 regulator-min- 369 regulator-min-microvolt = <1800000>; 390 regulator-max- 370 regulator-max-microvolt = <1800000>; 391 regulator-stat 371 regulator-state-mem { 392 regula 372 regulator-on-in-suspend; 393 regula 373 regulator-suspend-microvolt = <1800000>; 394 }; 374 }; 395 }; 375 }; 396 376 397 vcc_sdio: LDO_REG4 { 377 vcc_sdio: LDO_REG4 { 398 regulator-name 378 regulator-name = "vcc_sdio"; 399 regulator-alwa << 400 regulator-boot 379 regulator-boot-on; 401 regulator-min- 380 regulator-min-microvolt = <1800000>; 402 regulator-max- 381 regulator-max-microvolt = <3000000>; 403 regulator-stat 382 regulator-state-mem { 404 regula 383 regulator-on-in-suspend; 405 regula 384 regulator-suspend-microvolt = <3000000>; 406 }; 385 }; 407 }; 386 }; 408 387 409 vcca3v0_codec: LDO_REG 388 vcca3v0_codec: LDO_REG5 { 410 regulator-name 389 regulator-name = "vcca3v0_codec"; 411 regulator-alwa 390 regulator-always-on; 412 regulator-boot 391 regulator-boot-on; 413 regulator-min- 392 regulator-min-microvolt = <3000000>; 414 regulator-max- 393 regulator-max-microvolt = <3000000>; 415 regulator-stat 394 regulator-state-mem { 416 regula 395 regulator-off-in-suspend; 417 }; 396 }; 418 }; 397 }; 419 398 420 vcc_1v5: LDO_REG6 { 399 vcc_1v5: LDO_REG6 { 421 regulator-name 400 regulator-name = "vcc_1v5"; 422 regulator-alwa 401 regulator-always-on; 423 regulator-boot 402 regulator-boot-on; 424 regulator-min- 403 regulator-min-microvolt = <1500000>; 425 regulator-max- 404 regulator-max-microvolt = <1500000>; 426 regulator-stat 405 regulator-state-mem { 427 regula 406 regulator-on-in-suspend; 428 regula 407 regulator-suspend-microvolt = <1500000>; 429 }; 408 }; 430 }; 409 }; 431 410 432 vcca0v9_hdmi: LDO_REG7 411 vcca0v9_hdmi: LDO_REG7 { 433 regulator-name 412 regulator-name = "vcca0v9_hdmi"; 434 regulator-alwa 413 regulator-always-on; 435 regulator-boot 414 regulator-boot-on; 436 regulator-min- 415 regulator-min-microvolt = <900000>; 437 regulator-max- 416 regulator-max-microvolt = <900000>; 438 regulator-stat 417 regulator-state-mem { 439 regula 418 regulator-off-in-suspend; 440 }; 419 }; 441 }; 420 }; 442 421 443 vcc_3v0: LDO_REG8 { 422 vcc_3v0: LDO_REG8 { 444 regulator-name 423 regulator-name = "vcc_3v0"; 445 regulator-alwa 424 regulator-always-on; 446 regulator-boot 425 regulator-boot-on; 447 regulator-min- 426 regulator-min-microvolt = <3000000>; 448 regulator-max- 427 regulator-max-microvolt = <3000000>; 449 regulator-stat 428 regulator-state-mem { 450 regula 429 regulator-on-in-suspend; 451 regula 430 regulator-suspend-microvolt = <3000000>; 452 }; 431 }; 453 }; 432 }; 454 433 455 vcc3v3_s3: vcc_lan: SW 434 vcc3v3_s3: vcc_lan: SWITCH_REG1 { 456 regulator-name 435 regulator-name = "vcc3v3_s3"; 457 regulator-alwa 436 regulator-always-on; 458 regulator-boot 437 regulator-boot-on; 459 regulator-stat 438 regulator-state-mem { 460 regula 439 regulator-off-in-suspend; 461 }; 440 }; 462 }; 441 }; 463 442 464 vcc3v3_s0: SWITCH_REG2 443 vcc3v3_s0: SWITCH_REG2 { 465 regulator-name 444 regulator-name = "vcc3v3_s0"; 466 regulator-alwa 445 regulator-always-on; 467 regulator-boot 446 regulator-boot-on; 468 regulator-stat 447 regulator-state-mem { 469 regula 448 regulator-off-in-suspend; 470 }; 449 }; 471 }; 450 }; 472 }; 451 }; 473 }; 452 }; 474 453 475 vdd_cpu_b: regulator@40 { 454 vdd_cpu_b: regulator@40 { 476 compatible = "silergy,syr827"; 455 compatible = "silergy,syr827"; 477 reg = <0x40>; 456 reg = <0x40>; 478 fcs,suspend-voltage-selector = 457 fcs,suspend-voltage-selector = <1>; 479 pinctrl-names = "default"; 458 pinctrl-names = "default"; 480 pinctrl-0 = <&vsel1_pin>; 459 pinctrl-0 = <&vsel1_pin>; 481 regulator-name = "vdd_cpu_b"; 460 regulator-name = "vdd_cpu_b"; 482 regulator-min-microvolt = <712 461 regulator-min-microvolt = <712500>; 483 regulator-max-microvolt = <150 462 regulator-max-microvolt = <1500000>; 484 regulator-ramp-delay = <1000>; 463 regulator-ramp-delay = <1000>; 485 regulator-always-on; 464 regulator-always-on; 486 regulator-boot-on; 465 regulator-boot-on; 487 vin-supply = <&vcc3v3_sys>; 466 vin-supply = <&vcc3v3_sys>; 488 467 489 regulator-state-mem { 468 regulator-state-mem { 490 regulator-off-in-suspe 469 regulator-off-in-suspend; 491 }; 470 }; 492 }; 471 }; 493 472 494 vdd_gpu: regulator@41 { 473 vdd_gpu: regulator@41 { 495 compatible = "silergy,syr828"; 474 compatible = "silergy,syr828"; 496 reg = <0x41>; 475 reg = <0x41>; 497 fcs,suspend-voltage-selector = 476 fcs,suspend-voltage-selector = <1>; 498 pinctrl-names = "default"; 477 pinctrl-names = "default"; 499 pinctrl-0 = <&vsel2_pin>; 478 pinctrl-0 = <&vsel2_pin>; 500 regulator-name = "vdd_gpu"; 479 regulator-name = "vdd_gpu"; 501 regulator-min-microvolt = <712 480 regulator-min-microvolt = <712500>; 502 regulator-max-microvolt = <150 481 regulator-max-microvolt = <1500000>; 503 regulator-ramp-delay = <1000>; 482 regulator-ramp-delay = <1000>; 504 regulator-always-on; << 505 regulator-boot-on; << 506 vin-supply = <&vcc3v3_sys>; 483 vin-supply = <&vcc3v3_sys>; 507 484 508 regulator-state-mem { 485 regulator-state-mem { 509 regulator-off-in-suspe 486 regulator-off-in-suspend; 510 }; 487 }; 511 }; 488 }; 512 }; 489 }; 513 490 514 &i2c1 { 491 &i2c1 { 515 i2c-scl-rising-time-ns = <300>; 492 i2c-scl-rising-time-ns = <300>; 516 i2c-scl-falling-time-ns = <15>; 493 i2c-scl-falling-time-ns = <15>; 517 status = "okay"; 494 status = "okay"; 518 }; 495 }; 519 496 520 &i2c3 { 497 &i2c3 { 521 i2c-scl-rising-time-ns = <450>; 498 i2c-scl-rising-time-ns = <450>; 522 i2c-scl-falling-time-ns = <15>; 499 i2c-scl-falling-time-ns = <15>; 523 status = "okay"; 500 status = "okay"; 524 }; 501 }; 525 502 526 &i2c4 { 503 &i2c4 { 527 i2c-scl-rising-time-ns = <600>; 504 i2c-scl-rising-time-ns = <600>; 528 i2c-scl-falling-time-ns = <20>; 505 i2c-scl-falling-time-ns = <20>; 529 status = "okay"; 506 status = "okay"; 530 507 531 fusb1: usb-typec@22 { 508 fusb1: usb-typec@22 { 532 compatible = "fcs,fusb302"; 509 compatible = "fcs,fusb302"; 533 reg = <0x22>; 510 reg = <0x22>; 534 interrupt-parent = <&gpio1>; 511 interrupt-parent = <&gpio1>; 535 interrupts = <1 IRQ_TYPE_LEVEL 512 interrupts = <1 IRQ_TYPE_LEVEL_LOW>; 536 pinctrl-names = "default"; 513 pinctrl-names = "default"; 537 pinctrl-0 = <&fusb1_int>; 514 pinctrl-0 = <&fusb1_int>; 538 vbus-supply = <&vcc_vbus_typec 515 vbus-supply = <&vcc_vbus_typec1>; 539 status = "okay"; 516 status = "okay"; 540 }; 517 }; 541 }; 518 }; 542 519 543 &i2c7 { 520 &i2c7 { 544 i2c-scl-rising-time-ns = <600>; 521 i2c-scl-rising-time-ns = <600>; 545 i2c-scl-falling-time-ns = <20>; 522 i2c-scl-falling-time-ns = <20>; 546 status = "okay"; 523 status = "okay"; 547 524 548 fusb0: usb-typec@22 { 525 fusb0: usb-typec@22 { 549 compatible = "fcs,fusb302"; 526 compatible = "fcs,fusb302"; 550 reg = <0x22>; 527 reg = <0x22>; 551 interrupt-parent = <&gpio1>; 528 interrupt-parent = <&gpio1>; 552 interrupts = <2 IRQ_TYPE_LEVEL 529 interrupts = <2 IRQ_TYPE_LEVEL_LOW>; 553 pinctrl-names = "default"; 530 pinctrl-names = "default"; 554 pinctrl-0 = <&fusb0_int>; 531 pinctrl-0 = <&fusb0_int>; 555 vbus-supply = <&vcc_vbus_typec 532 vbus-supply = <&vcc_vbus_typec0>; 556 status = "okay"; 533 status = "okay"; 557 }; 534 }; 558 535 559 mp8859: regulator@66 { 536 mp8859: regulator@66 { 560 compatible = "mps,mp8859"; 537 compatible = "mps,mp8859"; 561 reg = <0x66>; 538 reg = <0x66>; 562 dc_12v: mp8859_dcdc { 539 dc_12v: mp8859_dcdc { 563 regulator-name = "dc_1 540 regulator-name = "dc_12v"; 564 regulator-min-microvol 541 regulator-min-microvolt = <12000000>; 565 regulator-max-microvol 542 regulator-max-microvolt = <12000000>; 566 regulator-always-on; 543 regulator-always-on; 567 regulator-boot-on; 544 regulator-boot-on; 568 vin-supply = <&vcc_vbu 545 vin-supply = <&vcc_vbus_typec0>; 569 546 570 regulator-state-mem { 547 regulator-state-mem { 571 regulator-on-i 548 regulator-on-in-suspend; 572 regulator-susp 549 regulator-suspend-microvolt = <12000000>; 573 }; 550 }; 574 }; 551 }; 575 }; 552 }; 576 }; 553 }; 577 554 578 &i2s0 { 555 &i2s0 { 579 rockchip,playback-channels = <8>; 556 rockchip,playback-channels = <8>; 580 rockchip,capture-channels = <8>; 557 rockchip,capture-channels = <8>; 581 status = "okay"; 558 status = "okay"; 582 }; 559 }; 583 560 584 &i2s1 { 561 &i2s1 { 585 rockchip,playback-channels = <2>; 562 rockchip,playback-channels = <2>; 586 rockchip,capture-channels = <2>; 563 rockchip,capture-channels = <2>; 587 status = "okay"; 564 status = "okay"; 588 }; 565 }; 589 566 590 &i2s2 { 567 &i2s2 { 591 status = "okay"; 568 status = "okay"; 592 }; 569 }; 593 570 594 &io_domains { 571 &io_domains { 595 audio-supply = <&vcca1v8_codec>; 572 audio-supply = <&vcca1v8_codec>; 596 bt656-supply = <&vcc_3v0>; 573 bt656-supply = <&vcc_3v0>; 597 gpio1830-supply = <&vcc_3v0>; 574 gpio1830-supply = <&vcc_3v0>; 598 sdmmc-supply = <&vcc_sdio>; 575 sdmmc-supply = <&vcc_sdio>; 599 status = "okay"; 576 status = "okay"; 600 }; 577 }; 601 578 602 &pmu_io_domains { 579 &pmu_io_domains { 603 pmu1830-supply = <&vcc_3v0>; 580 pmu1830-supply = <&vcc_3v0>; 604 status = "okay"; 581 status = "okay"; 605 }; 582 }; 606 583 607 &pinctrl { 584 &pinctrl { 608 buttons { 585 buttons { 609 pwr_key_l: pwr-key-l { 586 pwr_key_l: pwr-key-l { 610 rockchip,pins = <0 RK_ 587 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>; 611 }; 588 }; 612 }; 589 }; 613 590 614 ir { << 615 ir_int: ir-int { << 616 rockchip,pins = <0 RK_ << 617 }; << 618 }; << 619 << 620 lcd-panel { 591 lcd-panel { 621 lcd_panel_reset: lcd-panel-res 592 lcd_panel_reset: lcd-panel-reset { 622 rockchip,pins = <4 RK_ 593 rockchip,pins = <4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_up>; 623 }; 594 }; 624 }; 595 }; 625 596 626 leds { 597 leds { 627 diy_led_pin: diy-led-pin { 598 diy_led_pin: diy-led-pin { 628 rockchip,pins = <0 RK_ 599 rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 629 }; 600 }; 630 601 631 work_led_pin: work-led-pin { 602 work_led_pin: work-led-pin { 632 rockchip,pins = <2 RK_ 603 rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>; 633 }; 604 }; 634 605 635 yellow_led_pin: yellow-led-pin 606 yellow_led_pin: yellow-led-pin { 636 rockchip,pins = <0 RK_ 607 rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; 637 }; 608 }; 638 }; 609 }; 639 610 640 pmic { 611 pmic { 641 vsel1_pin: vsel1-pin { 612 vsel1_pin: vsel1-pin { 642 rockchip,pins = <1 RK_ 613 rockchip,pins = <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_down>; 643 }; 614 }; 644 615 645 vsel2_pin: vsel2-pin { 616 vsel2_pin: vsel2-pin { 646 rockchip,pins = <1 RK_ 617 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>; 647 }; 618 }; 648 }; 619 }; 649 620 650 sdio-pwrseq { 621 sdio-pwrseq { 651 wifi_enable_h: wifi-enable-h { 622 wifi_enable_h: wifi-enable-h { 652 rockchip,pins = <0 RK_ 623 rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; 653 }; 624 }; 654 }; 625 }; 655 626 656 sdmmc { 627 sdmmc { 657 vcc3v0_sd_en: vcc3v0-sd-en { 628 vcc3v0_sd_en: vcc3v0-sd-en { 658 rockchip,pins = <4 RK_ 629 rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_none>; 659 }; 630 }; 660 }; 631 }; 661 632 662 pmic { 633 pmic { 663 pmic_int_l: pmic-int-l { 634 pmic_int_l: pmic-int-l { 664 rockchip,pins = <1 RK_ 635 rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>; 665 }; 636 }; 666 }; 637 }; 667 638 668 usb2 { 639 usb2 { 669 vcc5v0_host_en: vcc5v0-host-en 640 vcc5v0_host_en: vcc5v0-host-en { 670 rockchip,pins = <1 RK_ 641 rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>; 671 }; 642 }; 672 643 673 vcc_sys_en: vcc-sys-en { 644 vcc_sys_en: vcc-sys-en { 674 rockchip,pins = <2 RK_ 645 rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; 675 }; 646 }; 676 647 677 hub_rst: hub-rst { 648 hub_rst: hub-rst { 678 rockchip,pins = <2 RK_ 649 rockchip,pins = <2 RK_PA4 RK_FUNC_GPIO &pcfg_output_high>; 679 }; 650 }; 680 }; 651 }; 681 652 682 usb-typec { 653 usb-typec { 683 vcc_vbus_typec1_en: vcc-vbus-t 654 vcc_vbus_typec1_en: vcc-vbus-typec1-en { 684 rockchip,pins = <1 RK_ 655 rockchip,pins = <1 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>; 685 }; 656 }; 686 }; 657 }; 687 658 688 fusb30x { 659 fusb30x { 689 fusb0_int: fusb0-int { 660 fusb0_int: fusb0-int { 690 rockchip,pins = <1 RK_ 661 rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>; 691 }; 662 }; 692 663 693 fusb1_int: fusb1-int { 664 fusb1_int: fusb1-int { 694 rockchip,pins = <1 RK_ 665 rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>; 695 }; 666 }; 696 }; 667 }; 697 }; 668 }; 698 669 699 &pwm0 { 670 &pwm0 { 700 status = "okay"; 671 status = "okay"; 701 }; 672 }; 702 673 703 &pwm2 { 674 &pwm2 { 704 status = "okay"; 675 status = "okay"; 705 }; 676 }; 706 677 707 &saradc { 678 &saradc { 708 vref-supply = <&vcca1v8_s3>; 679 vref-supply = <&vcca1v8_s3>; 709 status = "okay"; 680 status = "okay"; 710 }; 681 }; 711 682 712 &sdmmc { 683 &sdmmc { 713 bus-width = <4>; 684 bus-width = <4>; 714 cap-sd-highspeed; 685 cap-sd-highspeed; 715 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_ 686 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>; 716 disable-wp; 687 disable-wp; 717 max-frequency = <150000000>; 688 max-frequency = <150000000>; 718 pinctrl-names = "default"; 689 pinctrl-names = "default"; 719 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sd 690 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>; 720 sd-uhs-sdr104; 691 sd-uhs-sdr104; 721 vmmc-supply = <&vcc3v0_sd>; 692 vmmc-supply = <&vcc3v0_sd>; 722 vqmmc-supply = <&vcc_sdio>; 693 vqmmc-supply = <&vcc_sdio>; 723 status = "okay"; 694 status = "okay"; 724 }; 695 }; 725 696 726 &sdhci { 697 &sdhci { 727 bus-width = <8>; 698 bus-width = <8>; 728 non-removable; 699 non-removable; 729 status = "okay"; 700 status = "okay"; 730 }; 701 }; 731 702 732 &spi1 { 703 &spi1 { 733 status = "okay"; 704 status = "okay"; 734 705 735 flash@0 { 706 flash@0 { 736 compatible = "jedec,spi-nor"; 707 compatible = "jedec,spi-nor"; 737 reg = <0>; 708 reg = <0>; 738 spi-max-frequency = <30000000> !! 709 spi-max-frequency = <10000000>; 739 }; 710 }; 740 }; 711 }; 741 712 742 &tcphy0 { 713 &tcphy0 { 743 status = "okay"; 714 status = "okay"; 744 }; 715 }; 745 716 746 &tcphy1 { 717 &tcphy1 { 747 status = "okay"; 718 status = "okay"; 748 }; 719 }; 749 720 750 &tsadc { 721 &tsadc { 751 /* tshut mode 0:CRU 1:GPIO */ 722 /* tshut mode 0:CRU 1:GPIO */ 752 rockchip,hw-tshut-mode = <1>; 723 rockchip,hw-tshut-mode = <1>; 753 /* tshut polarity 0:LOW 1:HIGH */ 724 /* tshut polarity 0:LOW 1:HIGH */ 754 rockchip,hw-tshut-polarity = <1>; 725 rockchip,hw-tshut-polarity = <1>; 755 status = "okay"; 726 status = "okay"; 756 }; 727 }; 757 728 758 &u2phy0 { 729 &u2phy0 { 759 status = "okay"; 730 status = "okay"; 760 731 761 u2phy0_otg: otg-port { 732 u2phy0_otg: otg-port { 762 phy-supply = <&vcc_vbus_typec0 733 phy-supply = <&vcc_vbus_typec0>; 763 status = "okay"; 734 status = "okay"; 764 }; 735 }; 765 736 766 u2phy0_host: host-port { 737 u2phy0_host: host-port { 767 phy-supply = <&vcc5v0_host>; 738 phy-supply = <&vcc5v0_host>; 768 status = "okay"; 739 status = "okay"; 769 }; 740 }; 770 }; 741 }; 771 742 772 &u2phy1 { 743 &u2phy1 { 773 status = "okay"; 744 status = "okay"; 774 745 775 u2phy1_otg: otg-port { 746 u2phy1_otg: otg-port { 776 phy-supply = <&vcc_vbus_typec1 747 phy-supply = <&vcc_vbus_typec1>; 777 status = "okay"; 748 status = "okay"; 778 }; 749 }; 779 750 780 u2phy1_host: host-port { 751 u2phy1_host: host-port { 781 phy-supply = <&vcc5v0_host>; 752 phy-supply = <&vcc5v0_host>; 782 status = "okay"; 753 status = "okay"; 783 }; 754 }; 784 }; 755 }; 785 756 786 &uart0 { 757 &uart0 { 787 pinctrl-names = "default"; 758 pinctrl-names = "default"; 788 pinctrl-0 = <&uart0_xfer &uart0_cts>; 759 pinctrl-0 = <&uart0_xfer &uart0_cts>; 789 status = "okay"; 760 status = "okay"; 790 }; 761 }; 791 762 792 &uart2 { 763 &uart2 { 793 status = "okay"; 764 status = "okay"; 794 }; 765 }; 795 766 796 &usb_host0_ehci { 767 &usb_host0_ehci { 797 status = "okay"; 768 status = "okay"; 798 }; 769 }; 799 770 800 &usb_host0_ohci { 771 &usb_host0_ohci { 801 status = "okay"; 772 status = "okay"; 802 }; 773 }; 803 774 804 &usb_host1_ehci { 775 &usb_host1_ehci { 805 status = "okay"; 776 status = "okay"; 806 }; 777 }; 807 778 808 &usb_host1_ohci { 779 &usb_host1_ohci { 809 status = "okay"; 780 status = "okay"; 810 }; 781 }; 811 782 812 &usbdrd3_0 { 783 &usbdrd3_0 { 813 status = "okay"; 784 status = "okay"; 814 }; 785 }; 815 786 816 &usbdrd_dwc3_0 { 787 &usbdrd_dwc3_0 { 817 status = "okay"; 788 status = "okay"; 818 }; 789 }; 819 790 820 &usbdrd3_1 { 791 &usbdrd3_1 { 821 status = "okay"; 792 status = "okay"; 822 }; 793 }; 823 794 824 &usbdrd_dwc3_1 { 795 &usbdrd_dwc3_1 { 825 status = "okay"; 796 status = "okay"; 826 dr_mode = "host"; 797 dr_mode = "host"; 827 }; 798 }; 828 799 829 &vopb { 800 &vopb { 830 status = "okay"; 801 status = "okay"; 831 }; 802 }; 832 803 833 &vopb_mmu { 804 &vopb_mmu { 834 status = "okay"; 805 status = "okay"; 835 }; 806 }; 836 807 837 &vopl { 808 &vopl { 838 status = "okay"; 809 status = "okay"; 839 }; 810 }; 840 811 841 &vopl_mmu { 812 &vopl_mmu { 842 status = "okay"; 813 status = "okay"; 843 }; 814 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.