1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT) 2 /* 3 * Copyright (c) 2023 Neil Armstrong <neil.arms 4 * Copyright 2023 MNT Research GmbH 5 */ 6 7 /dts-v1/; 8 9 #include "meson-g12b-bananapi-cm4.dtsi" 10 #include <dt-bindings/input/input.h> 11 #include <dt-bindings/leds/common.h> 12 #include <dt-bindings/sound/meson-g12a-tohdmit 13 14 / { 15 model = "MNT Reform 2 with BPI-CM4 Mod 16 compatible = "mntre,reform2-cm4", "ban 17 chassis-type = "laptop"; 18 19 aliases { 20 ethernet0 = ðmac; 21 i2c0 = &i2c1; 22 i2c1 = &i2c3; 23 }; 24 25 hdmi_connector: hdmi-connector { 26 compatible = "hdmi-connector"; 27 type = "a"; 28 29 port { 30 hdmi_connector_in: end 31 remote-endpoin 32 }; 33 }; 34 }; 35 36 leds { 37 compatible = "gpio-leds"; 38 39 led-blue { 40 color = <LED_COLOR_ID_ 41 function = LED_FUNCTIO 42 gpios = <&gpio_ao GPIO 43 linux,default-trigger 44 }; 45 46 led-green { 47 color = <LED_COLOR_ID_ 48 function = LED_FUNCTIO 49 gpios = <&gpio_ao GPIO 50 }; 51 }; 52 53 sound { 54 compatible = "amlogic,axg-soun 55 model = "MNT-REFORM2-BPI-CM4"; 56 audio-widgets = "Headphone", " 57 "Speaker", "Ex 58 "Microphone", 59 audio-aux-devs = <&tdmout_a>, 60 audio-routing = "TDMOUT_A IN 0 61 "TDMOUT_A IN 1 62 "TDMOUT_A IN 2 63 "TDM_A Playbac 64 "TDMOUT_B IN 0 65 "TDMOUT_B IN 1 66 "TDMOUT_B IN 2 67 "TDM_B Playbac 68 "TDMIN_B IN 1" 69 "TDMIN_B IN 4" 70 "TODDR_A IN 1" 71 "TODDR_B IN 1" 72 "TODDR_C IN 1" 73 "Headphone Jac 74 "Headphone Jac 75 "External Spea 76 "External Spea 77 "External Spea 78 "External Spea 79 "LINPUT1", "Mi 80 "Mic Jack", "M 81 82 assigned-clocks = <&clkc CLKID 83 <&clkc 84 <&clkc 85 assigned-clock-parents = <0>, 86 assigned-clock-rates = <294912 87 <270950 88 <393216 89 90 dai-link-0 { 91 sound-dai = <&frddr_a> 92 }; 93 94 dai-link-1 { 95 sound-dai = <&frddr_b> 96 }; 97 98 dai-link-2 { 99 sound-dai = <&frddr_c> 100 }; 101 102 dai-link-3 { 103 sound-dai = <&toddr_a> 104 }; 105 106 dai-link-4 { 107 sound-dai = <&toddr_b> 108 }; 109 110 dai-link-5 { 111 sound-dai = <&toddr_c> 112 }; 113 114 /* 8ch hdmi interface */ 115 dai-link-6 { 116 sound-dai = <&tdmif_a> 117 dai-format = "i2s"; 118 dai-tdm-slot-tx-mask-0 119 dai-tdm-slot-tx-mask-1 120 dai-tdm-slot-tx-mask-2 121 dai-tdm-slot-tx-mask-3 122 mclk-fs = <256>; 123 124 codec { 125 sound-dai = <& 126 }; 127 }; 128 129 /* Analog Audio */ 130 dai-link-7 { 131 sound-dai = <&tdmif_b> 132 dai-format = "i2s"; 133 dai-tdm-slot-tx-mask-0 134 mclk-fs = <256>; 135 136 codec { 137 sound-dai = <& 138 }; 139 }; 140 141 /* hdmi glue */ 142 dai-link-8 { 143 sound-dai = <&tohdmitx 144 145 codec { 146 sound-dai = <& 147 }; 148 }; 149 }; 150 151 reg_main_1v8: regulator-main-1v8 { 152 compatible = "regulator-fixed" 153 regulator-name = "1V8"; 154 regulator-min-microvolt = <180 155 regulator-max-microvolt = <180 156 vin-supply = <®_main_3v3>; 157 }; 158 159 reg_main_1v2: regulator-main-1v2 { 160 compatible = "regulator-fixed" 161 regulator-name = "1V2"; 162 regulator-min-microvolt = <120 163 regulator-max-microvolt = <120 164 vin-supply = <®_main_5v>; 165 }; 166 167 reg_main_3v3: regulator-main-3v3 { 168 compatible = "regulator-fixed" 169 regulator-name = "3V3"; 170 regulator-min-microvolt = <330 171 regulator-max-microvolt = <330 172 }; 173 174 reg_main_5v: regulator-main-5v { 175 compatible = "regulator-fixed" 176 regulator-name = "5V"; 177 regulator-min-microvolt = <500 178 regulator-max-microvolt = <500 179 }; 180 181 reg_main_usb: regulator-main-usb { 182 compatible = "regulator-fixed" 183 regulator-name = "USB_PWR"; 184 regulator-min-microvolt = <500 185 regulator-max-microvolt = <500 186 vin-supply = <®_main_5v>; 187 }; 188 189 backlight: backlight { 190 compatible = "pwm-backlight"; 191 pwms = <&pwm_AO_ab 0 10000 0>; 192 power-supply = <®_main_usb> 193 enable-gpios = <&gpio 58 GPIO_ 194 brightness-levels = <0 32 64 1 195 default-brightness-level = <6> 196 }; 197 198 panel { 199 compatible = "innolux,n125hce- 200 power-supply = <®_main_3v3> 201 backlight = <&backlight>; 202 no-hpd; 203 204 port { 205 panel_in: endpoint { 206 remote-endpoin 207 }; 208 }; 209 }; 210 211 clock_12288: clock_12288 { 212 compatible = "fixed-clock"; 213 #clock-cells = <0>; 214 clock-frequency = <12288000>; 215 }; 216 }; 217 218 &mipi_analog_dphy { 219 status = "okay"; 220 }; 221 222 &mipi_dphy { 223 status = "okay"; 224 }; 225 226 &mipi_dsi { 227 status = "okay"; 228 229 assigned-clocks = <&clkc CLKID_GP0_PLL 230 <&clkc CLKID_MIPI_DS 231 <&clkc CLKID_MIPI_DS 232 <&clkc CLKID_CTS_ENC 233 <&clkc CLKID_VCLK2_S 234 assigned-clock-parents = <0>, 235 <&clkc CLKID_ 236 <0>, 237 <&clkc CLKID_ 238 <&clkc CLKID_ 239 assigned-clock-rates = <936000000>, 240 <0>, 241 <936000000>, 242 <0>, 243 <0>; 244 }; 245 246 &mipi_dsi_panel_port { 247 mipi_dsi_out: endpoint { 248 remote-endpoint = <&edp_bridge 249 }; 250 }; 251 252 &cecb_AO { 253 status = "okay"; 254 }; 255 256 ðmac { 257 status = "okay"; 258 }; 259 260 &hdmi_tx { 261 status = "okay"; 262 }; 263 264 &hdmi_tx_tmds_port { 265 hdmi_tx_tmds_out: endpoint { 266 remote-endpoint = <&hdmi_conne 267 }; 268 }; 269 270 &pwm_AO_ab { 271 pinctrl-names = "default"; 272 pinctrl-0 = <&pwm_ao_a_pins>; 273 status = "okay"; 274 }; 275 276 &i2c0 { 277 status = "okay"; 278 }; 279 280 &i2c3 { 281 status = "okay"; 282 283 edp_bridge: bridge@2c { 284 compatible = "ti,sn65dsi86"; 285 reg = <0x2c>; 286 enable-gpios = <&gpio GPIOX_10 287 vccio-supply = <®_main_1v8> 288 vpll-supply = <®_main_1v8>; 289 vcca-supply = <®_main_1v2>; 290 vcc-supply = <®_main_1v2>; 291 292 ports { 293 #address-cells = <1>; 294 #size-cells = <0>; 295 296 port@0 { 297 reg = <0>; 298 299 edp_bridge_in: 300 remote 301 }; 302 }; 303 304 port@1 { 305 reg = <1>; 306 307 edp_bridge_out 308 remote 309 }; 310 }; 311 }; 312 }; 313 }; 314 315 &i2c2 { 316 status = "okay"; 317 318 wm8960: codec@1a { 319 compatible = "wlf,wm8960"; 320 reg = <0x1a>; 321 clocks = <&clock_12288>; 322 clock-names = "mclk"; 323 #sound-dai-cells = <0>; 324 wlf,shared-lrclk; 325 }; 326 327 rtc@68 { 328 compatible = "nxp,pcf8523"; 329 reg = <0x68>; 330 }; 331 }; 332 333 &pcie { 334 status = "okay"; 335 }; 336 337 &sd_emmc_b { 338 status = "okay"; 339 }; 340 341 &tdmif_a { 342 status = "okay"; 343 }; 344 345 &tdmout_a { 346 status = "okay"; 347 }; 348 349 &tdmif_b { 350 pinctrl-0 = <&tdm_b_dout0_pins>, <&tdm 351 pinctrl-names = "default"; 352 353 assigned-clocks = <&clkc_audio AUD_CLK 354 <&clkc_audio AUD_CLK 355 assigned-clock-parents = <&clkc_audio 356 <&clkc_audio 357 assigned-clock-rates = <0>, <0>; 358 }; 359 360 &tdmin_b { 361 status = "okay"; 362 }; 363 364 &toddr_a { 365 status = "okay"; 366 }; 367 368 &toddr_b { 369 status = "okay"; 370 }; 371 372 &toddr_c { 373 status = "okay"; 374 }; 375 376 &tohdmitx { 377 status = "okay"; 378 }; 379 380 &usb { 381 dr_mode = "host"; 382 383 status = "okay"; 384 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.