Lines Matching +full:mipi +full:- +full:csi1
1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright 2018-2020 Purism SPC
6 /dts-v1/;
8 #include "dt-bindings/input/input.h"
9 #include <dt-bindings/interrupt-controller/irq.h>
10 #include <dt-bindings/leds/common.h>
11 #include "dt-bindings/pwm/pwm.h"
12 #include "dt-bindings/usb/pd.h"
18 chassis-type = "handset";
20 backlight_dsi: backlight-dsi {
21 compatible = "led-backlight";
23 brightness-levels = <255>;
24 default-brightness-level = <190>;
27 pmic_osc: clock-pmic {
28 compatible = "fixed-clock";
29 #clock-cells = <0>;
30 clock-frequency = <32768>;
31 clock-output-names = "pmic_osc";
35 stdout-path = &uart1;
38 gpio-keys {
39 compatible = "gpio-keys";
40 pinctrl-names = "default";
41 pinctrl-0 = <&pinctrl_keys>;
43 key-vol-down {
47 debounce-interval = <50>;
50 key-vol-up {
54 debounce-interval = <50>;
58 led-controller {
59 compatible = "pwm-leds-multicolor";
61 multi-led {
64 max-brightness = <248>;
66 led-0 {
71 led-1 {
76 led-2 {
83 reg_aud_1v8: regulator-audio-1v8 {
84 compatible = "regulator-fixed";
85 pinctrl-names = "default";
86 pinctrl-0 = <&pinctrl_audiopwr>;
87 regulator-name = "AUD_1V8";
88 regulator-min-microvolt = <1800000>;
89 regulator-max-microvolt = <1800000>;
91 enable-active-high;
92 regulator-always-on;
95 reg_mic_2v4: regulator-mic-2v4 {
96 compatible = "regulator-fixed";
97 regulator-name = "MIC_2V4";
98 regulator-min-microvolt = <2400000>;
99 regulator-max-microvolt = <2400000>;
100 vin-supply = <®_aud_1v8>;
107 reg_csi_1v8: regulator-csi-1v8 {
108 compatible = "regulator-fixed";
109 regulator-name = "CAMERA_VDDIO_1V8";
110 regulator-min-microvolt = <1800000>;
111 regulator-max-microvolt = <1800000>;
112 vin-supply = <®_vdd_3v3>;
114 enable-active-high;
118 reg_vcam_1v2: regulator-vcam-1v2 {
119 compatible = "regulator-fixed";
120 regulator-name = "CAMERA_VDDD_1V2";
121 regulator-min-microvolt = <1200000>;
122 regulator-max-microvolt = <1200000>;
123 vin-supply = <®_vdd_1v8>;
124 enable-active-high;
127 reg_vcam_2v8: regulator-vcam-2v8 {
128 compatible = "regulator-fixed";
129 regulator-name = "CAMERA_VDDA_2V8";
130 regulator-min-microvolt = <2800000>;
131 regulator-max-microvolt = <2800000>;
132 vin-supply = <®_vdd_3v3>;
134 enable-active-high;
137 reg_gnss: regulator-gnss {
138 compatible = "regulator-fixed";
139 pinctrl-names = "default";
140 pinctrl-0 = <&pinctrl_gnsspwr>;
141 regulator-name = "GNSS";
142 regulator-min-microvolt = <3300000>;
143 regulator-max-microvolt = <3300000>;
145 enable-active-high;
148 reg_hub: regulator-hub {
149 compatible = "regulator-fixed";
150 pinctrl-names = "default";
151 pinctrl-0 = <&pinctrl_hub_pwr>;
152 regulator-name = "HUB";
153 regulator-min-microvolt = <3300000>;
154 regulator-max-microvolt = <3300000>;
156 enable-active-high;
159 reg_lcd_1v8: regulator-lcd-1v8 {
160 compatible = "regulator-fixed";
161 pinctrl-names = "default";
162 pinctrl-0 = <&pinctrl_dsien>;
163 regulator-name = "LCD_1V8";
164 regulator-min-microvolt = <1800000>;
165 regulator-max-microvolt = <1800000>;
166 vin-supply = <®_vdd_1v8>;
168 enable-active-high;
170 regulator-always-on;
173 reg_lcd_3v4: regulator-lcd-3v4 {
174 compatible = "regulator-fixed";
175 regulator-name = "LCD_3V4";
176 pinctrl-names = "default";
177 pinctrl-0 = <&pinctrl_dsibiasen>;
178 vin-supply = <®_vsys_3v4>;
180 enable-active-high;
183 reg_vdd_sen: regulator-vdd-sen {
184 compatible = "regulator-fixed";
185 regulator-name = "VDD_SEN";
186 regulator-min-microvolt = <3300000>;
187 regulator-max-microvolt = <3300000>;
190 reg_vdd_1v8: regulator-vdd-1v8 {
191 compatible = "regulator-fixed";
192 regulator-name = "VDD_1V8";
193 regulator-min-microvolt = <1800000>;
194 regulator-max-microvolt = <1800000>;
195 vin-supply = <&buck7_reg>;
198 reg_vdd_3v3: regulator-vdd-3v3 {
199 compatible = "regulator-fixed";
200 regulator-name = "VDD_3V3";
201 regulator-min-microvolt = <3300000>;
202 regulator-max-microvolt = <3300000>;
205 reg_vsys_3v4: regulator-vsys-3v4 {
206 compatible = "regulator-fixed";
207 regulator-name = "VSYS_3V4";
208 regulator-min-microvolt = <3400000>;
209 regulator-max-microvolt = <3400000>;
210 regulator-always-on;
213 reg_wifi_3v3: regulator-wifi-3v3 {
214 compatible = "regulator-fixed";
215 pinctrl-names = "default";
216 pinctrl-0 = <&pinctrl_wifi_pwr>;
217 regulator-name = "3V3_WIFI";
218 regulator-min-microvolt = <3300000>;
219 regulator-max-microvolt = <3300000>;
221 enable-active-high;
222 vin-supply = <®_vdd_3v3>;
226 compatible = "simple-audio-card";
227 pinctrl-names = "default";
228 pinctrl-0 = <&pinctrl_hp>;
229 simple-audio-card,name = "Librem 5";
230 simple-audio-card,format = "i2s";
231 simple-audio-card,widgets =
236 simple-audio-card,routing =
244 simple-audio-card,hp-det-gpio = <&gpio3 9 GPIO_ACTIVE_HIGH>;
246 simple-audio-card,cpu {
247 sound-dai = <&sai2>;
250 simple-audio-card,codec {
251 sound-dai = <&codec>;
253 frame-master;
254 bitclock-master;
258 sound-wwan {
259 compatible = "simple-audio-card";
260 simple-audio-card,name = "Modem";
261 simple-audio-card,format = "i2s";
263 simple-audio-card,cpu {
264 sound-dai = <&sai6>;
265 frame-inversion;
268 simple-audio-card,codec {
269 sound-dai = <&bm818_codec>;
270 frame-master;
271 bitclock-master;
276 pinctrl-names = "default";
277 pinctrl-0 = <&pinctrl_bt>, <&pinctrl_wifi_disable>;
278 compatible = "mmc-pwrseq-simple";
279 reset-gpios = <&gpio3 25 GPIO_ACTIVE_HIGH>,
283 bm818_codec: sound-wwan-codec {
285 #sound-dai-cells = <0>;
289 compatible = "pwm-vibrator";
291 pwm-names = "enable";
292 vcc-supply = <®_vdd_3v3>;
297 cpu-supply = <&buck2_reg>;
301 cpu-supply = <&buck2_reg>;
305 cpu-supply = <&buck2_reg>;
309 cpu-supply = <&buck2_reg>;
312 &csi1 {
317 operating-points-v2 = <&ddrc_opp_table>;
320 ddrc_opp_table: opp-table {
321 compatible = "operating-points-v2";
323 opp-25000000 {
324 opp-hz = /bits/ 64 <25000000>;
327 opp-100000000 {
328 opp-hz = /bits/ 64 <100000000>;
331 opp-166000000 {
332 opp-hz = /bits/ 64 <166935483>;
335 opp-800000000 {
336 opp-hz = /bits/ 64 <800000000>;
346 pinctrl-names = "default";
347 pinctrl-0 = <&pinctrl_ecspi1>;
348 cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
349 #address-cells = <1>;
350 #size-cells = <0>;
354 compatible = "jedec,spi-nor";
356 spi-max-frequency = <1000000>;
357 #address-cells = <1>;
358 #size-cells = <1>;
363 read-only;
369 read-only;
375 pinctrl-names = "default";
376 pinctrl-0 = <&pinctrl_pmic_5v>;
378 pmic-5v-hog {
379 gpio-hog;
382 line-name = "pmic-5v";
387 pinctrl-names = "default";
388 pinctrl-0 = <&pinctrl_hog>;
392 /* CLKO2 for cameras on both CSI1 and CSI2 */
538 /* VOL- */
688 pinctrl_usdhc1_100mhz: usdhc1-100mhzgrp {
705 pinctrl_usdhc1_200mhz: usdhc1-200mhzgrp {
735 pinctrl_usdhc2_100mhz: usdhc2-100mhzgrp {
748 pinctrl_usdhc2_200mhz: usdhc2-200mhzgrp {
784 clock-frequency = <384000>;
785 pinctrl-names = "default";
786 pinctrl-0 = <&pinctrl_i2c1>;
789 typec_pd: usb-pd@3f {
792 pinctrl-names = "default";
793 pinctrl-0 = <&pinctrl_typec>, <&pinctrl_tcpc>;
794 interrupt-parent = <&gpio1>;
796 interrupt-names = "irq";
798 wakeup-source;
801 compatible = "usb-c-connector";
802 label = "USB-C";
803 data-role = "dual";
806 #address-cells = <1>;
807 #size-cells = <0>;
813 remote-endpoint = <&typec_hs>;
821 remote-endpoint = <&typec_ss>;
831 pinctrl-names = "default";
832 pinctrl-0 = <&pinctrl_pmic>, <&pinctrl_camera_pwr>;
834 #clock-cells = <0>;
835 clock-names = "osc";
836 clock-output-names = "pmic_clk";
837 interrupt-parent = <&gpio1>;
839 rohm,reset-snvs-powered;
843 regulator-name = "buck1";
844 regulator-min-microvolt = <700000>;
845 regulator-max-microvolt = <1300000>;
846 regulator-boot-on;
847 regulator-ramp-delay = <1250>;
848 rohm,dvs-run-voltage = <880000>;
849 rohm,dvs-idle-voltage = <820000>;
850 rohm,dvs-suspend-voltage = <810000>;
851 regulator-always-on;
855 regulator-name = "buck2";
856 regulator-min-microvolt = <700000>;
857 regulator-max-microvolt = <1300000>;
858 regulator-boot-on;
859 regulator-ramp-delay = <1250>;
860 rohm,dvs-run-voltage = <950000>;
861 rohm,dvs-idle-voltage = <850000>;
862 regulator-always-on;
866 regulator-name = "buck3";
867 regulator-min-microvolt = <700000>;
868 regulator-max-microvolt = <1300000>;
869 regulator-boot-on;
870 rohm,dvs-run-voltage = <850000>;
874 regulator-name = "buck4";
875 regulator-min-microvolt = <700000>;
876 regulator-max-microvolt = <1300000>;
877 rohm,dvs-run-voltage = <930000>;
881 regulator-name = "buck5";
882 regulator-min-microvolt = <700000>;
883 regulator-max-microvolt = <1350000>;
884 regulator-boot-on;
885 regulator-always-on;
889 regulator-name = "buck6";
890 regulator-min-microvolt = <3000000>;
891 regulator-max-microvolt = <3300000>;
892 regulator-boot-on;
893 regulator-always-on;
897 regulator-name = "buck7";
898 regulator-min-microvolt = <1605000>;
899 regulator-max-microvolt = <1995000>;
900 regulator-boot-on;
901 regulator-always-on;
905 regulator-name = "buck8";
906 regulator-min-microvolt = <800000>;
907 regulator-max-microvolt = <1400000>;
908 regulator-boot-on;
909 regulator-always-on;
913 regulator-name = "ldo1";
914 regulator-min-microvolt = <3000000>;
915 regulator-max-microvolt = <3300000>;
916 regulator-boot-on;
918 regulator-always-on;
922 regulator-name = "ldo2";
923 regulator-min-microvolt = <900000>;
924 regulator-max-microvolt = <900000>;
925 regulator-boot-on;
927 regulator-always-on;
931 regulator-name = "ldo3";
932 regulator-min-microvolt = <1800000>;
933 regulator-max-microvolt = <3300000>;
934 regulator-boot-on;
935 regulator-always-on;
939 regulator-name = "ldo4";
940 regulator-min-microvolt = <900000>;
941 regulator-max-microvolt = <1800000>;
942 regulator-boot-on;
943 regulator-always-on;
947 /* VDD_PHY_0V9 - MIPI and HDMI domains */
948 regulator-name = "ldo5";
949 regulator-min-microvolt = <1800000>;
950 regulator-max-microvolt = <3300000>;
951 regulator-always-on;
955 /* VDD_PHY_0V9 - MIPI, HDMI and USB domains */
956 regulator-name = "ldo6";
957 regulator-min-microvolt = <900000>;
958 regulator-max-microvolt = <1800000>;
959 regulator-boot-on;
960 regulator-always-on;
964 /* VDD_PHY_3V3 - USB domain */
965 regulator-name = "ldo7";
966 regulator-min-microvolt = <1800000>;
967 regulator-max-microvolt = <3300000>;
968 regulator-boot-on;
969 regulator-always-on;
977 pinctrl-names = "default";
978 pinctrl-0 = <&pinctrl_rtc>;
979 interrupt-parent = <&gpio1>;
985 clock-frequency = <384000>;
986 pinctrl-names = "default";
987 pinctrl-0 = <&pinctrl_i2c2>;
991 compatible = "st,lsm9ds1-magn";
993 pinctrl-names = "default";
994 pinctrl-0 = <&pinctrl_mag>;
995 interrupt-parent = <&gpio3>;
997 vdd-supply = <®_vdd_sen>;
998 vddio-supply = <®_vdd_1v8>;
1006 regulator-name = "LCD_AVDD";
1007 vin-supply = <®_lcd_3v4>;
1011 regulator-name = "LCD_AVEE";
1012 vin-supply = <®_lcd_3v4>;
1019 pinctrl-names = "default";
1020 pinctrl-0 = <&pinctrl_prox>;
1021 interrupt-parent = <&gpio3>;
1025 accel_gyro: accel-gyro@6a {
1026 compatible = "st,lsm9ds1-imu";
1028 vdd-supply = <®_vdd_sen>;
1029 vddio-supply = <®_vdd_1v8>;
1034 clock-frequency = <384000>;
1035 pinctrl-names = "default";
1036 pinctrl-0 = <&pinctrl_i2c3>;
1039 codec: audio-codec@1a {
1043 assigned-clocks = <&clk IMX8MQ_CLK_SAI2>;
1044 assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
1045 assigned-clock-rates = <24576000>;
1046 #sound-dai-cells = <0>;
1047 mic-cfg = <0x200>;
1048 DCVDD-supply = <®_aud_1v8>;
1049 DBVDD-supply = <®_aud_1v8>;
1050 AVDD-supply = <®_aud_1v8>;
1051 CPVDD-supply = <®_aud_1v8>;
1052 MICVDD-supply = <®_mic_2v4>;
1053 PLLVDD-supply = <®_aud_1v8>;
1054 SPKVDD1-supply = <®_vsys_3v4>;
1055 SPKVDD2-supply = <®_vsys_3v4>;
1056 gpio-cfg = <
1069 pinctrl-names = "default";
1070 pinctrl-0 = <&pinctrl_csi1>;
1072 assigned-clocks = <&clk IMX8MQ_CLK_CLKO2>;
1073 assigned-clock-rates = <25000000>;
1074 reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
1075 vdda-supply = <®_vcam_2v8>;
1076 vddd-supply = <®_vcam_1v2>;
1077 vddio-supply = <®_csi_1v8>;
1083 data-lanes = <1 2>;
1084 link-frequencies = /bits/ 64
1086 remote-endpoint = <&mipi1_sensor_ep>;
1094 pinctrl-names = "default";
1095 pinctrl-0 = <&pinctrl_bl>;
1096 #address-cells = <1>;
1097 #size-cells = <0>;
1098 enable-gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
1099 vled-supply = <®_vsys_3v4>;
1100 ti,ovp-microvolt = <25000000>;
1105 linux,default-trigger = "backlight";
1106 led-max-microamp = <20000>;
1111 compatible = "edt,edt-ft5506";
1113 pinctrl-names = "default";
1114 pinctrl-0 = <&pinctrl_touch>;
1115 interrupt-parent = <&gpio1>;
1117 touchscreen-size-x = <720>;
1118 touchscreen-size-y = <1440>;
1119 vcc-supply = <®_lcd_1v8>;
1124 clock-frequency = <384000>;
1125 pinctrl-names = "default";
1126 pinctrl-0 = <&pinctrl_i2c4>;
1132 vcc-supply = <®_csi_1v8>;
1135 bat: fuel-gauge@36 {
1138 interrupt-parent = <&gpio3>;
1140 pinctrl-names = "default";
1141 pinctrl-0 = <&pinctrl_gauge>;
1142 power-supplies = <&bq25895>;
1143 maxim,over-heat-temp = <700>;
1144 maxim,over-volt = <4500>;
1145 maxim,rsns-microohm = <5000>;
1151 pinctrl-names = "default";
1152 pinctrl-0 = <&pinctrl_charger_in>;
1153 interrupt-parent = <&gpio3>;
1155 ti,battery-regulation-voltage = <4208000>; /* uV */
1156 ti,termination-current = <128000>; /* uA */
1157 ti,precharge-current = <128000>; /* uA */
1158 ti,minimum-sys-voltage = <3700000>; /* uV */
1159 ti,boost-voltage = <5000000>; /* uV */
1160 ti,boost-max-current = <1500000>; /* uA */
1161 monitored-battery = <&bat>;
1162 power-supplies = <&typec_pd>;
1171 assigned-clock-rates = <266000000>, <200000000>, <66000000>;
1179 remote-endpoint = <&camera1_ep>;
1180 data-lanes = <1 2>;
1187 #address-cells = <1>;
1188 #size-cells = <0>;
1192 compatible = "mantix,mlaf057we51-x";
1194 pinctrl-names = "default";
1195 pinctrl-0 = <&pinctrl_dsirst>;
1196 avdd-supply = <®_lcd_avdd>;
1197 avee-supply = <®_lcd_avee>;
1198 vddi-supply = <®_lcd_1v8>;
1200 reset-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>;
1201 mantix,tp-rstn-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>;
1205 remote-endpoint = <&mipi_dsi_out>;
1215 remote-endpoint = <&panel_in>;
1222 power-supply = <&buck3_reg>;
1226 power-supply = <&ldo5_reg>;
1230 power-supply = <&buck4_reg>;
1234 pinctrl-names = "default";
1235 pinctrl-0 = <&pinctrl_haptic>;
1240 pinctrl-names = "default";
1241 pinctrl-0 = <&pinctrl_led_b>;
1246 pinctrl-names = "default";
1247 pinctrl-0 = <&pinctrl_led_r>;
1252 pinctrl-names = "default";
1253 pinctrl-0 = <&pinctrl_led_g>;
1258 pinctrl-names = "default";
1259 pinctrl-0 = <&pinctrl_sai2>;
1260 assigned-clocks = <&clk IMX8MQ_CLK_SAI2>;
1261 assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
1262 assigned-clock-rates = <24576000>;
1267 pinctrl-names = "default";
1268 pinctrl-0 = <&pinctrl_sai6>;
1269 assigned-clocks = <&clk IMX8MQ_CLK_SAI6>;
1270 assigned-clock-parents = <&clk IMX8MQ_AUDIO_PLL1_OUT>;
1271 assigned-clock-rates = <24576000>;
1272 fsl,sai-synchronous-rx;
1285 pinctrl-names = "default";
1286 pinctrl-0 = <&pinctrl_uart1>;
1290 &uart2 { /* TPS - GPS - DEBUG */
1291 pinctrl-names = "default";
1292 pinctrl-0 = <&pinctrl_uart2>;
1297 vcc-supply = <®_gnss>;
1298 current-speed = <9600>;
1303 pinctrl-names = "default";
1304 pinctrl-0 = <&pinctrl_uart3>;
1309 pinctrl-names = "default";
1310 pinctrl-0 = <&pinctrl_uart4>;
1311 uart-has-rtscts;
1320 vbus-supply = <®_hub>;
1325 #address-cells = <1>;
1326 #size-cells = <0>;
1328 usb-role-switch;
1335 remote-endpoint = <&usb_con_hs>;
1343 remote-endpoint = <&usb_con_ss>;
1351 #address-cells = <1>;
1352 #size-cells = <0>;
1358 #address-cells = <1>;
1359 #size-cells = <0>;
1361 mass-storage@1 {
1369 assigned-clocks = <&clk IMX8MQ_CLK_USDHC1>;
1370 assigned-clock-rates = <400000000>;
1371 pinctrl-names = "default", "state_100mhz", "state_200mhz";
1372 pinctrl-0 = <&pinctrl_usdhc1>;
1373 pinctrl-1 = <&pinctrl_usdhc1_100mhz>;
1374 pinctrl-2 = <&pinctrl_usdhc1_200mhz>;
1375 bus-width = <8>;
1376 vmmc-supply = <®_vdd_3v3>;
1377 vqmmc-supply = <®_vdd_1v8>;
1378 non-removable;
1383 assigned-clocks = <&clk IMX8MQ_CLK_USDHC2>;
1384 assigned-clock-rates = <200000000>;
1385 pinctrl-names = "default", "state_100mhz", "state_200mhz";
1386 pinctrl-0 = <&pinctrl_usdhc2>;
1387 pinctrl-1 = <&pinctrl_usdhc2_100mhz>;
1388 pinctrl-2 = <&pinctrl_usdhc2_200mhz>;
1389 bus-width = <4>;
1390 vmmc-supply = <®_wifi_3v3>;
1391 mmc-pwrseq = <&usdhc2_pwrseq>;
1392 post-power-on-delay-ms = <20>;
1393 cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
1394 max-frequency = <100000000>;
1395 disable-wp;
1396 cap-sdio-irq;
1397 keep-power-in-suspend;
1398 wakeup-source;
1403 pinctrl-names = "default";
1404 pinctrl-0 = <&pinctrl_wdog>;
1405 fsl,ext-reset-output;
1410 opp-1000000000 {
1411 opp-microvolt = <850000>;
1414 opp-1500000000 {
1415 opp-microvolt = <950000>;