Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
0002 /*
0003  * Copyright (c) 2014 Protonic Holland
0004  */
0005 
0006 /dts-v1/;
0007 #include "imx6q.dtsi"
0008 #include "imx6qdl-prti6q.dtsi"
0009 #include <dt-bindings/leds/common.h>
0010 #include <dt-bindings/sound/fsl-imx-audmux.h>
0011 
0012 / {
0013         model = "Protonic PRTI6Q board";
0014         compatible = "prt,prti6q", "fsl,imx6q";
0015 
0016         memory@10000000 {
0017                 device_type = "memory";
0018                 reg = <0x10000000 0xf0000000>;
0019         };
0020 
0021         backlight_lcd: backlight-lcd {
0022                 compatible = "pwm-backlight";
0023                 pinctrl-names = "default";
0024                 pinctrl-0 = <&pinctrl_backlight>;
0025                 pwms = <&pwm1 0 5000000>;
0026                 brightness-levels = <0 16 64 255>;
0027                 num-interpolated-steps = <16>;
0028                 default-brightness-level = <1>;
0029                 power-supply = <&reg_3v3>;
0030                 enable-gpios = <&gpio4 28 GPIO_ACTIVE_HIGH>;
0031         };
0032 
0033         can_osc: can-osc {
0034                 compatible = "fixed-clock";
0035                 #clock-cells = <0>;
0036                 clock-frequency = <25000000>;
0037         };
0038 
0039         leds {
0040                 compatible = "gpio-leds";
0041                 pinctrl-names = "default";
0042                 pinctrl-0 = <&pinctrl_leds>;
0043 
0044                 led-debug0 {
0045                         function = LED_FUNCTION_STATUS;
0046                         gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
0047                         linux,default-trigger = "heartbeat";
0048                 };
0049 
0050                 led-debug1 {
0051                         function = LED_FUNCTION_SD;
0052                         gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
0053                         linux,default-trigger = "disk-activity";
0054                 };
0055         };
0056 
0057         panel {
0058                 compatible = "kyo,tcg121xglp";
0059                 backlight = <&backlight_lcd>;
0060 
0061                 port {
0062                         panel_in: endpoint {
0063                                 remote-endpoint = <&lvds0_out>;
0064                         };
0065                 };
0066         };
0067 
0068         reg_1v8: regulator-1v8 {
0069                 compatible = "regulator-fixed";
0070                 regulator-name = "1v8";
0071                 regulator-min-microvolt = <1800000>;
0072                 regulator-max-microvolt = <1800000>;
0073         };
0074 
0075         reg_wifi: regulator-wifi {
0076                 compatible = "regulator-fixed";
0077                 pinctrl-names = "default";
0078                 pinctrl-0 = <&pinctrl_wifi_npd>;
0079                 enable-active-high;
0080                 gpio = <&gpio1 26 GPIO_ACTIVE_HIGH>;
0081                 regulator-max-microvolt = <1800000>;
0082                 regulator-min-microvolt = <1800000>;
0083                 regulator-name = "regulator-WL12xx";
0084                 startup-delay-us = <70000>;
0085         };
0086 
0087         sound {
0088                 compatible = "simple-audio-card";
0089                 simple-audio-card,name = "prti6q-sgtl5000";
0090                 simple-audio-card,format = "i2s";
0091                 simple-audio-card,widgets =
0092                         "Microphone", "Microphone Jack",
0093                         "Line", "Line In Jack",
0094                         "Headphone", "Headphone Jack",
0095                         "Speaker", "External Speaker";
0096                 simple-audio-card,routing =
0097                         "MIC_IN", "Microphone Jack",
0098                         "LINE_IN", "Line In Jack",
0099                         "Headphone Jack", "HP_OUT",
0100                         "External Speaker", "LINE_OUT";
0101 
0102                 simple-audio-card,cpu {
0103                         sound-dai = <&ssi1>;
0104                         system-clock-frequency = <0>;
0105                 };
0106 
0107                 simple-audio-card,codec {
0108                         sound-dai = <&sgtl5000>;
0109                         bitclock-master;
0110                         frame-master;
0111                 };
0112         };
0113 
0114         sound-spdif {
0115                 compatible = "fsl,imx-audio-spdif";
0116                 model = "imx-spdif";
0117                 spdif-controller = <&spdif>;
0118                 spdif-in;
0119                 spdif-out;
0120         };
0121 };
0122 
0123 &audmux {
0124         pinctrl-names = "default";
0125         pinctrl-0 = <&pinctrl_audmux>;
0126         status = "okay";
0127 
0128         mux-ssi1 {
0129                 fsl,audmux-port = <0>;
0130                 fsl,port-config = <
0131                         IMX_AUDMUX_V2_PTCR_SYN          0
0132                         IMX_AUDMUX_V2_PTCR_TFSEL(2)     0
0133                         IMX_AUDMUX_V2_PTCR_TCSEL(2)     0
0134                         IMX_AUDMUX_V2_PTCR_TFSDIR       0
0135                         IMX_AUDMUX_V2_PTCR_TCLKDIR IMX_AUDMUX_V2_PDCR_RXDSEL(2)
0136                 >;
0137         };
0138 
0139         mux-pins3 {
0140                 fsl,audmux-port = <2>;
0141                 fsl,port-config = <
0142                         IMX_AUDMUX_V2_PTCR_SYN IMX_AUDMUX_V2_PDCR_RXDSEL(0)
0143                         0                      IMX_AUDMUX_V2_PDCR_TXRXEN
0144                 >;
0145         };
0146 };
0147 
0148 &can1 {
0149         pinctrl-names = "default";
0150         pinctrl-0 = <&pinctrl_can1>;
0151         status = "okay";
0152 };
0153 
0154 &can2 {
0155         pinctrl-names = "default";
0156         pinctrl-0 = <&pinctrl_can2>;
0157         status = "okay";
0158 };
0159 
0160 &ecspi1 {
0161         cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>;
0162         pinctrl-names = "default";
0163         pinctrl-0 = <&pinctrl_ecspi1>;
0164         status = "okay";
0165 
0166         flash@0 {
0167                 compatible = "jedec,spi-nor";
0168                 reg = <0>;
0169                 spi-max-frequency = <20000000>;
0170         };
0171 };
0172 
0173 &ecspi2 {
0174         cs-gpios = <&gpio2 26 GPIO_ACTIVE_LOW>, <&gpio4 25 GPIO_ACTIVE_LOW>;
0175         pinctrl-names = "default";
0176         pinctrl-0 = <&pinctrl_ecspi2 &pinctrl_ecspi2_cs>;
0177         status = "okay";
0178 
0179         can@0 {
0180                 compatible = "microchip,mcp2515";
0181                 reg = <0>;
0182                 pinctrl-names = "default";
0183                 pinctrl-0 = <&pinctrl_can3>;
0184                 clocks = <&can_osc>;
0185                 interrupts-extended = <&gpio3 20 IRQ_TYPE_LEVEL_LOW>;
0186                 spi-max-frequency = <5000000>;
0187         };
0188 
0189         adc@1 {
0190                 compatible = "ti,adc128s052";
0191                 reg = <1>;
0192                 spi-max-frequency = <2000000>;
0193                 vref-supply = <&reg_3v3>;
0194         };
0195 };
0196 
0197 &ecspi3 {
0198         cs-gpios = <&gpio4 24 GPIO_ACTIVE_LOW>;
0199         pinctrl-names = "default";
0200         pinctrl-0 = <&pinctrl_ecspi3>;
0201         status = "okay";
0202 };
0203 
0204 &fec {
0205         pinctrl-names = "default";
0206         pinctrl-0 = <&pinctrl_enet>;
0207         phy-mode = "rgmii-id";
0208         phy-handle = <&rgmii_phy>;
0209         status = "okay";
0210 
0211         mdio {
0212                 #address-cells = <1>;
0213                 #size-cells = <0>;
0214 
0215                 /* Microchip KSZ9031RNX PHY */
0216                 rgmii_phy: ethernet-phy@0 {
0217                         reg = <0>;
0218                         interrupts-extended = <&gpio1 28 IRQ_TYPE_LEVEL_LOW>;
0219                         reset-gpios = <&gpio1 25 GPIO_ACTIVE_LOW>;
0220                         reset-assert-us = <10000>;
0221                         reset-deassert-us = <300>;
0222                 };
0223         };
0224 };
0225 
0226 &hdmi {
0227         pinctrl-names = "default";
0228         pinctrl-0 = <&pinctrl_hdmi>;
0229         ddc-i2c-bus = <&i2c2>;
0230         status = "okay";
0231 };
0232 
0233 &i2c1 {
0234         sgtl5000: audio-codec@a {
0235                 compatible = "fsl,sgtl5000";
0236                 reg = <0xa>;
0237                 #sound-dai-cells = <0>;
0238                 clocks = <&clks 201>;
0239                 VDDA-supply = <&reg_3v3>;
0240                 VDDIO-supply = <&reg_3v3>;
0241                 VDDD-supply = <&reg_1v8>;
0242         };
0243 };
0244 
0245 /* DDC */
0246 &i2c2 {
0247         clock-frequency = <100000>;
0248         pinctrl-names = "default";
0249         pinctrl-0 = <&pinctrl_i2c2>;
0250         status = "okay";
0251 };
0252 
0253 &i2c3 {
0254         adc@49 {
0255                 compatible = "ti,ads1015";
0256                 reg = <0x49>;
0257                 #address-cells = <1>;
0258                 #size-cells = <0>;
0259 
0260                 /* can2_l */
0261                 channel@4 {
0262                         reg = <4>;
0263                         ti,gain = <3>;
0264                         ti,datarate = <3>;
0265                 };
0266 
0267                 /* can2_h */
0268                 channel@5 {
0269                         reg = <5>;
0270                         ti,gain = <3>;
0271                         ti,datarate = <3>;
0272                 };
0273 
0274                 /* can1_l */
0275                 channel@6 {
0276                         reg = <6>;
0277                         ti,gain = <3>;
0278                         ti,datarate = <3>;
0279                 };
0280 
0281                 /* can1_h */
0282                 channel@7 {
0283                         reg = <7>;
0284                         ti,gain = <3>;
0285                         ti,datarate = <3>;
0286                 };
0287         };
0288 };
0289 
0290 &pcie {
0291         status = "okay";
0292 };
0293 
0294 &pwm1 {
0295         #pwm-cells = <2>;
0296         pinctrl-names = "default";
0297         pinctrl-0 = <&pinctrl_pwm1>;
0298         status = "okay";
0299 };
0300 
0301 &ldb {
0302         status = "okay";
0303 
0304         lvds-channel@0 {
0305                 status = "okay";
0306 
0307                 port@4 {
0308                         reg = <4>;
0309 
0310                         lvds0_out: endpoint {
0311                                 remote-endpoint = <&panel_in>;
0312                         };
0313                 };
0314         };
0315 };
0316 
0317 &sata {
0318         status = "okay";
0319 };
0320 
0321 &snvs_poweroff {
0322         status = "okay";
0323 };
0324 
0325 &spdif {
0326         pinctrl-names = "default";
0327         pinctrl-0 = <&pinctrl_spdif>;
0328         status = "okay";
0329 };
0330 
0331 &ssi1 {
0332         #sound-dai-cells = <0>;
0333         fsl,mode = "ac97-slave";
0334         status = "okay";
0335 };
0336 
0337 &uart2 {
0338         pinctrl-names = "default";
0339         pinctrl-0 = <&pinctrl_uart2>;
0340         status = "okay";
0341 };
0342 
0343 &uart5 {
0344         pinctrl-names = "default";
0345         pinctrl-0 = <&pinctrl_uart5>;
0346         status = "okay";
0347 };
0348 
0349 &usbotg {
0350         pinctrl-0 = <&pinctrl_usbotg &pinctrl_usbotg_id>;
0351 };
0352 
0353 &usdhc2 {
0354         pinctrl-names = "default";
0355         pinctrl-0 = <&pinctrl_usdhc2>;
0356         non-removable;
0357         vmmc-supply = <&reg_wifi>;
0358         cap-power-off-card;
0359         keep-power-in-suspend;
0360         status = "okay";
0361 
0362         wifi {
0363                 compatible = "ti,wl1271";
0364                 pinctrl-names = "default";
0365                 pinctrl-0 = <&pinctrl_wifi>;
0366                 interrupts-extended = <&gpio1 30 IRQ_TYPE_LEVEL_HIGH>;
0367                 ref-clock-frequency = "38400000";
0368                 tcxo-clock-frequency = "19200000";
0369         };
0370 };
0371 
0372 &iomuxc {
0373         pinctrl_audmux: audmuxgrp {
0374                 fsl,pins = <
0375                         MX6QDL_PAD_CSI0_MCLK__CCM_CLKO1         0x030b0
0376                         MX6QDL_PAD_CSI0_DAT7__AUD3_RXD          0x130b0
0377                         MX6QDL_PAD_CSI0_DAT4__AUD3_TXC          0x130b0
0378                         MX6QDL_PAD_CSI0_DAT5__AUD3_TXD          0x110b0
0379                         MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS         0x130b0
0380                 >;
0381         };
0382 
0383         pinctrl_backlight: backlightgrp {
0384                 fsl,pins = <
0385                         MX6QDL_PAD_DISP0_DAT7__GPIO4_IO28       0x1b0b0
0386                 >;
0387         };
0388 
0389         pinctrl_can2: can2grp {
0390                 fsl,pins = <
0391                         MX6QDL_PAD_KEY_COL4__FLEXCAN2_TX        0x1b008
0392                         MX6QDL_PAD_KEY_ROW4__FLEXCAN2_RX        0x1b008
0393                 >;
0394         };
0395 
0396         pinctrl_can3: can3grp {
0397                 fsl,pins = <
0398                         MX6QDL_PAD_EIM_D20__GPIO3_IO20          0x1b0b1
0399                 >;
0400         };
0401 
0402         pinctrl_ecspi1: ecspi1grp {
0403                 fsl,pins = <
0404                         MX6QDL_PAD_EIM_D17__ECSPI1_MISO         0x100b1
0405                         MX6QDL_PAD_EIM_D18__ECSPI1_MOSI         0x100b1
0406                         MX6QDL_PAD_EIM_D16__ECSPI1_SCLK         0x100b1
0407                         /* CS */
0408                         MX6QDL_PAD_EIM_D19__GPIO3_IO19          0x000b1
0409                 >;
0410         };
0411 
0412         pinctrl_ecspi2: ecspi2grp {
0413                 fsl,pins = <
0414                         MX6QDL_PAD_EIM_OE__ECSPI2_MISO          0x100b1
0415                         MX6QDL_PAD_EIM_CS0__ECSPI2_SCLK         0x100b1
0416                         MX6QDL_PAD_EIM_CS1__ECSPI2_MOSI         0x100b1
0417                         MX6QDL_PAD_EIM_RW__GPIO2_IO26           0x000b1
0418                 >;
0419         };
0420 
0421         pinctrl_ecspi2_cs: ecspi2csgrp {
0422                 fsl,pins = <
0423                         /* ADC128S022 CS */
0424                         MX6QDL_PAD_DISP0_DAT4__GPIO4_IO25       0x1b0b1
0425                 >;
0426         };
0427 
0428         pinctrl_ecspi3: ecspi3grp {
0429                 fsl,pins = <
0430                         MX6QDL_PAD_DISP0_DAT0__ECSPI3_SCLK      0x100b1
0431                         MX6QDL_PAD_DISP0_DAT1__ECSPI3_MOSI      0x100b1
0432                         MX6QDL_PAD_DISP0_DAT2__ECSPI3_MISO      0x100b1
0433                         MX6QDL_PAD_DISP0_DAT3__GPIO4_IO24       0x000b1
0434                 >;
0435         };
0436 
0437         pinctrl_enet: enetgrp {
0438                 fsl,pins = <
0439                         MX6QDL_PAD_RGMII_RXC__RGMII_RXC         0x1b030
0440                         MX6QDL_PAD_RGMII_RD0__RGMII_RD0         0x1b030
0441                         MX6QDL_PAD_RGMII_RD1__RGMII_RD1         0x1b030
0442                         MX6QDL_PAD_RGMII_RD2__RGMII_RD2         0x1b030
0443                         MX6QDL_PAD_RGMII_RD3__RGMII_RD3         0x1b030
0444                         MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b030
0445                         MX6QDL_PAD_RGMII_TXC__RGMII_TXC         0x10030
0446                         MX6QDL_PAD_RGMII_TD0__RGMII_TD0         0x10030
0447                         MX6QDL_PAD_RGMII_TD1__RGMII_TD1         0x10030
0448                         MX6QDL_PAD_RGMII_TD2__RGMII_TD2         0x10030
0449                         MX6QDL_PAD_RGMII_TD3__RGMII_TD3         0x10030
0450                         MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x10030
0451                         MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x10030
0452                         MX6QDL_PAD_ENET_MDIO__ENET_MDIO         0x10030
0453                         MX6QDL_PAD_ENET_MDC__ENET_MDC           0x10030
0454 
0455                         /* Phy reset */
0456                         MX6QDL_PAD_ENET_CRS_DV__GPIO1_IO25      0x1b0b0
0457                         MX6QDL_PAD_ENET_TX_EN__GPIO1_IO28       0x1b0b1
0458                 >;
0459         };
0460 
0461         pinctrl_hdmi: hdmigrp {
0462                 fsl,pins = <
0463                         /* NOTE: DDC is done via I2C2, so DON'T
0464                          * configure DDC pins for HDMI!
0465                          */
0466                         MX6QDL_PAD_EIM_A25__HDMI_TX_CEC_LINE    0x1f8b0
0467                 >;
0468         };
0469 
0470         /* DDC */
0471         pinctrl_i2c2: i2c2grp {
0472                 fsl,pins = <
0473                         MX6QDL_PAD_KEY_COL3__I2C2_SCL   0x4001b8b1
0474                         MX6QDL_PAD_KEY_ROW3__I2C2_SDA   0x4001b8b1
0475                 >;
0476         };
0477 
0478         pinctrl_leds: ledsgrp {
0479                 fsl,pins = <
0480                         MX6QDL_PAD_GPIO_8__GPIO1_IO08           0x1b0b0
0481                         MX6QDL_PAD_GPIO_9__GPIO1_IO09           0x1b0b0
0482                 >;
0483         };
0484 
0485         pinctrl_pwm1: pwm1grp {
0486                 fsl,pins = <
0487                         MX6QDL_PAD_DISP0_DAT8__PWM1_OUT         0x1b0b0
0488                 >;
0489         };
0490 
0491         pinctrl_spdif: spdifgrp {
0492                 fsl,pins = <
0493                         MX6QDL_PAD_GPIO_16__SPDIF_IN            0x1b0b0
0494                         MX6QDL_PAD_GPIO_19__SPDIF_OUT           0x1b0b0
0495                 >;
0496         };
0497 
0498         pinctrl_uart2: uart2grp {
0499                 fsl,pins = <
0500                         MX6QDL_PAD_EIM_D26__UART2_RX_DATA       0x1b0b1
0501                         MX6QDL_PAD_EIM_D27__UART2_TX_DATA       0x1b0b1
0502                         MX6QDL_PAD_EIM_D28__UART2_DTE_CTS_B     0x1b0b1
0503                         MX6QDL_PAD_EIM_D29__UART2_DTE_RTS_B     0x1b0b1
0504                 >;
0505         };
0506 
0507         pinctrl_uart5: uart5grp {
0508                 fsl,pins = <
0509                         MX6QDL_PAD_KEY_COL1__UART5_TX_DATA      0x1b0b1
0510                         MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA      0x1b0b1
0511                 >;
0512         };
0513 
0514         pinctrl_usbotg_id: usbotgidgrp {
0515                 fsl,pins = <
0516                         MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID       0x1f058
0517                 >;
0518         };
0519 
0520         pinctrl_usdhc2: usdhc2grp {
0521                 fsl,pins = <
0522                         MX6QDL_PAD_SD2_CMD__SD2_CMD             0x170b9
0523                         MX6QDL_PAD_SD2_CLK__SD2_CLK             0x100b9
0524                         MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x170b9
0525                         MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x170b9
0526                         MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x170b9
0527                         MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x170b9
0528                 >;
0529         };
0530 
0531         pinctrl_wifi: wifigrp {
0532                 fsl,pins = <
0533                         /* WL12xx IRQ */
0534                         MX6QDL_PAD_ENET_TXD0__GPIO1_IO30        0x10880
0535                 >;
0536         };
0537 
0538         pinctrl_wifi_npd: wifinpd {
0539                 fsl,pins = <
0540                         MX6QDL_PAD_ENET_RXD1__GPIO1_IO26        0x1b8b0
0541                 >;
0542         };
0543 };