Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003  * Copyright 2012 Free Electrons
0004  */
0005 
0006 /*
0007  * The CFA-10049 is an expansion board for the CFA-10036 module, thus we
0008  * need to include the CFA-10036 DTS.
0009  */
0010 #include "imx28-cfa10036.dts"
0011 
0012 / {
0013         model = "Crystalfontz CFA-10049 Board";
0014         compatible = "crystalfontz,cfa10049", "crystalfontz,cfa10036", "fsl,imx28";
0015 
0016         i2cmux {
0017                 compatible = "i2c-mux-gpio";
0018                 #address-cells = <1>;
0019                 #size-cells = <0>;
0020                 pinctrl-names = "default";
0021                 pinctrl-0 = <&i2cmux_pins_cfa10049>;
0022                 mux-gpios = <&gpio1 22 0 &gpio1 23 0>;
0023                 i2c-parent = <&i2c1>;
0024 
0025                 i2c@0 {
0026                         #address-cells = <1>;
0027                         #size-cells = <0>;
0028                         reg = <0>;
0029 
0030                         adc0: nau7802@2a {
0031                                 compatible = "nuvoton,nau7802";
0032                                 reg = <0x2a>;
0033                                 nuvoton,vldo = <3000>;
0034                         };
0035                 };
0036 
0037                 i2c@1 {
0038                         #address-cells = <1>;
0039                         #size-cells = <0>;
0040                         reg = <1>;
0041 
0042                         adc1: nau7802@2a {
0043                                 compatible = "nuvoton,nau7802";
0044                                 reg = <0x2a>;
0045                                 nuvoton,vldo = <3000>;
0046                         };
0047                 };
0048 
0049                 i2c@2 {
0050                         #address-cells = <1>;
0051                         #size-cells = <0>;
0052                         reg = <2>;
0053 
0054                                 adc2: nau7802@2a {
0055                                 compatible = "nuvoton,nau7802";
0056                                 reg = <0x2a>;
0057                                 nuvoton,vldo = <3000>;
0058                         };
0059                 };
0060 
0061                 i2c@3 {
0062                         reg = <3>;
0063                         #address-cells = <1>;
0064                         #size-cells = <0>;
0065 
0066                         pca9555: pca9555@20 {
0067                                 compatible = "nxp,pca9555";
0068                                 pinctrl-names = "default";
0069                                 pinctrl-0 = <&pca_pins_cfa10049>;
0070                                 interrupt-parent = <&gpio2>;
0071                                 interrupts = <19 0x2>;
0072                                 gpio-controller;
0073                                 #gpio-cells = <2>;
0074                                 interrupt-controller;
0075                                 #interrupt-cells = <2>;
0076                                 reg = <0x20>;
0077                         };
0078                 };
0079         };
0080 
0081         apb@80000000 {
0082                 apbh@80000000 {
0083                         pinctrl@80018000 {
0084                                 usb_pins_cfa10049: usb-10049@0 {
0085                                         reg = <0>;
0086                                         fsl,pinmux-ids = <
0087                                                 MX28_PAD_GPMI_D07__GPIO_0_7
0088                                         >;
0089                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
0090                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0091                                         fsl,pull-up = <MXS_PULL_DISABLE>;
0092                                 };
0093 
0094                                 i2cmux_pins_cfa10049: i2cmux-10049@0 {
0095                                         reg = <0>;
0096                                         fsl,pinmux-ids = <
0097                                                 MX28_PAD_LCD_D22__GPIO_1_22
0098                                                 MX28_PAD_LCD_D23__GPIO_1_23
0099                                         >;
0100                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
0101                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0102                                         fsl,pull-up = <MXS_PULL_DISABLE>;
0103                                 };
0104 
0105                                 mac0_pins_cfa10049: mac0-10049@0 {
0106                                         reg = <0>;
0107                                         fsl,pinmux-ids = <
0108                                                 MX28_PAD_SSP2_SS2__GPIO_2_21
0109                                         >;
0110                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
0111                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0112                                         fsl,pull-up = <MXS_PULL_DISABLE>;
0113                                 };
0114 
0115                                 pca_pins_cfa10049: pca-10049@0 {
0116                                         reg = <0>;
0117                                         fsl,pinmux-ids = <
0118                                                 MX28_PAD_SSP2_SS0__GPIO_2_19
0119                                         >;
0120                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
0121                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0122                                         fsl,pull-up = <MXS_PULL_ENABLE>;
0123                                 };
0124 
0125                                 rotary_pins_cfa10049: rotary-10049@0 {
0126                                         reg = <0>;
0127                                         fsl,pinmux-ids = <
0128                                                 MX28_PAD_I2C0_SCL__GPIO_3_24
0129                                                 MX28_PAD_I2C0_SDA__GPIO_3_25
0130                                         >;
0131                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
0132                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0133                                         fsl,pull-up = <MXS_PULL_ENABLE>;
0134                                 };
0135 
0136                                 rotary_btn_pins_cfa10049: rotary-btn-10049@0 {
0137                                         reg = <0>;
0138                                         fsl,pinmux-ids = <
0139                                                 MX28_PAD_SAIF1_SDATA0__GPIO_3_26
0140                                         >;
0141                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
0142                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0143                                         fsl,pull-up = <MXS_PULL_ENABLE>;
0144                                 };
0145 
0146                                 spi2_pins_cfa10049: spi2-cfa10049@0 {
0147                                         reg = <0>;
0148                                         fsl,pinmux-ids = <
0149                                                 MX28_PAD_SSP2_SCK__GPIO_2_16
0150                                                 MX28_PAD_SSP2_MOSI__GPIO_2_17
0151                                                 MX28_PAD_SSP2_MISO__GPIO_2_18
0152                                                 MX28_PAD_AUART1_TX__GPIO_3_5
0153                                         >;
0154                                         fsl,drive-strength = <MXS_DRIVE_8mA>;
0155                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0156                                         fsl,pull-up = <MXS_PULL_ENABLE>;
0157                                 };
0158 
0159                                 spi3_pins_cfa10049: spi3-cfa10049@0 {
0160                                         reg = <0>;
0161                                         fsl,pinmux-ids = <
0162                                                 MX28_PAD_GPMI_RDN__GPIO_0_24
0163                                                 MX28_PAD_GPMI_RESETN__GPIO_0_28
0164                                                 MX28_PAD_GPMI_CE1N__GPIO_0_17
0165                                                 MX28_PAD_GPMI_ALE__GPIO_0_26
0166                                                 MX28_PAD_GPMI_CLE__GPIO_0_27
0167                                         >;
0168                                         fsl,drive-strength = <MXS_DRIVE_8mA>;
0169                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0170                                         fsl,pull-up = <MXS_PULL_ENABLE>;
0171                                 };
0172 
0173                                 lcdif_18bit_pins_cfa10049: lcdif-18bit@0 {
0174                                         reg = <0>;
0175                                         fsl,pinmux-ids = <
0176                                                 MX28_PAD_LCD_D00__LCD_D0
0177                                                 MX28_PAD_LCD_D01__LCD_D1
0178                                                 MX28_PAD_LCD_D02__LCD_D2
0179                                                 MX28_PAD_LCD_D03__LCD_D3
0180                                                 MX28_PAD_LCD_D04__LCD_D4
0181                                                 MX28_PAD_LCD_D05__LCD_D5
0182                                                 MX28_PAD_LCD_D06__LCD_D6
0183                                                 MX28_PAD_LCD_D07__LCD_D7
0184                                                 MX28_PAD_LCD_D08__LCD_D8
0185                                                 MX28_PAD_LCD_D09__LCD_D9
0186                                                 MX28_PAD_LCD_D10__LCD_D10
0187                                                 MX28_PAD_LCD_D11__LCD_D11
0188                                                 MX28_PAD_LCD_D12__LCD_D12
0189                                                 MX28_PAD_LCD_D13__LCD_D13
0190                                                 MX28_PAD_LCD_D14__LCD_D14
0191                                                 MX28_PAD_LCD_D15__LCD_D15
0192                                                 MX28_PAD_LCD_D16__LCD_D16
0193                                                 MX28_PAD_LCD_D17__LCD_D17
0194                                         >;
0195                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
0196                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0197                                         fsl,pull-up = <MXS_PULL_DISABLE>;
0198                                 };
0199 
0200                                 lcdif_pins_cfa10049: lcdif-evk@0 {
0201                                         reg = <0>;
0202                                         fsl,pinmux-ids = <
0203                                                 MX28_PAD_LCD_RD_E__LCD_VSYNC
0204                                                 MX28_PAD_LCD_WR_RWN__LCD_HSYNC
0205                                                 MX28_PAD_LCD_RS__LCD_DOTCLK
0206                                                 MX28_PAD_LCD_CS__LCD_ENABLE
0207                                         >;
0208                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
0209                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0210                                         fsl,pull-up = <MXS_PULL_DISABLE>;
0211                                 };
0212 
0213                                 lcdif_pins_cfa10049_pullup: lcdif-10049-pullup@0 {
0214                                         reg = <0>;
0215                                         fsl,pinmux-ids = <
0216                                                 MX28_PAD_LCD_RESET__GPIO_3_30
0217                                         >;
0218                                         fsl,drive-strength = <MXS_DRIVE_4mA>;
0219                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0220                                         fsl,pull-up = <MXS_PULL_ENABLE>;
0221                                 };
0222 
0223                                 w1_gpio_pins: w1-gpio@0 {
0224                                         reg = <0>;
0225                                         fsl,pinmux-ids = <
0226                                                 MX28_PAD_LCD_D21__GPIO_1_21
0227                                         >;
0228                                         fsl,drive-strength = <MXS_DRIVE_8mA>;
0229                                         fsl,voltage = <MXS_VOLTAGE_HIGH>;
0230                                         fsl,pull-up = <MXS_PULL_DISABLE>; /* 0 will enable the keeper */
0231                                 };
0232                         };
0233 
0234                         lcdif@80030000 {
0235                                 pinctrl-names = "default";
0236                                 pinctrl-0 = <&lcdif_18bit_pins_cfa10049
0237                                              &lcdif_pins_cfa10049
0238                                              &lcdif_pins_cfa10049_pullup>;
0239                                 display = <&display0>;
0240                                 status = "okay";
0241 
0242                                 display0: display0 {
0243                                         bits-per-pixel = <32>;
0244                                         bus-width = <18>;
0245 
0246                                         display-timings {
0247                                                 native-mode = <&timing0>;
0248                                                 timing0: timing0 {
0249                                                         clock-frequency = <9216000>;
0250                                                         hactive = <320>;
0251                                                         vactive = <480>;
0252                                                         hback-porch = <2>;
0253                                                         hfront-porch = <2>;
0254                                                         vback-porch = <2>;
0255                                                         vfront-porch = <2>;
0256                                                         hsync-len = <15>;
0257                                                         vsync-len = <15>;
0258                                                         hsync-active = <0>;
0259                                                         vsync-active = <0>;
0260                                                         de-active = <1>;
0261                                                         pixelclk-active = <1>;
0262                                                 };
0263                                         };
0264                                 };
0265                         };
0266                 };
0267 
0268                 apbx@80040000 {
0269                         pwm: pwm@80064000 {
0270                                 pinctrl-names = "default";
0271                                 pinctrl-0 = <&pwm3_pins_b>;
0272                                 status = "okay";
0273                         };
0274 
0275                         i2c1: i2c@8005a000 {
0276                                 pinctrl-names = "default";
0277                                 pinctrl-0 = <&i2c1_pins_a>;
0278                                 status = "okay";
0279                         };
0280 
0281                         usbphy1: usbphy@8007e000 {
0282                                 status = "okay";
0283                         };
0284 
0285                         lradc@80050000 {
0286                                 status = "okay";
0287                                 fsl,lradc-touchscreen-wires = <4>;
0288                         };
0289                 };
0290         };
0291 
0292         ahb@80080000 {
0293                 usb1: usb@80090000 {
0294                         vbus-supply = <&reg_usb1_vbus>;
0295                         pinctrl-0 = <&usb1_pins_a>;
0296                         pinctrl-names = "default";
0297                         status = "okay";
0298                 };
0299         };
0300 
0301         regulators {
0302                 compatible = "simple-bus";
0303                 #address-cells = <1>;
0304                 #size-cells = <0>;
0305 
0306                 reg_usb1_vbus: regulator@0 {
0307                         compatible = "regulator-fixed";
0308                         reg = <0>;
0309                         pinctrl-names = "default";
0310                         pinctrl-0 = <&usb_pins_cfa10049>;
0311                         regulator-name = "usb1_vbus";
0312                         regulator-min-microvolt = <5000000>;
0313                         regulator-max-microvolt = <5000000>;
0314                         gpio = <&gpio0 7 1>;
0315                 };
0316         };
0317 
0318         ahb@80080000 {
0319                 mac0: ethernet@800f0000 {
0320                         phy-mode = "rmii";
0321                         pinctrl-names = "default";
0322                         pinctrl-0 = <&mac0_pins_a
0323                                 &mac0_pins_cfa10049>;
0324                         phy-reset-gpios = <&gpio2 21 GPIO_ACTIVE_LOW>;
0325                         phy-reset-duration = <100>;
0326                         status = "okay";
0327                 };
0328         };
0329 
0330         spi2 {
0331                 compatible = "spi-gpio";
0332                 pinctrl-names = "default";
0333                 pinctrl-0 = <&spi2_pins_cfa10049>;
0334                 status = "okay";
0335                 gpio-sck = <&gpio2 16 0>;
0336                 gpio-mosi = <&gpio2 17 0>;
0337                 gpio-miso = <&gpio2 18 0>;
0338                 cs-gpios = <&gpio3 5 0>;
0339                 num-chipselects = <1>;
0340                 #address-cells = <1>;
0341                 #size-cells = <0>;
0342 
0343                 hx8357: hx8357@0 {
0344                         compatible = "himax,hx8357b", "himax,hx8357";
0345                         reg = <0>;
0346                         spi-max-frequency = <100000>;
0347                         spi-cpol;
0348                         spi-cpha;
0349                         gpios-reset = <&gpio3 30 0>;
0350                         im-gpios = <&gpio5 4 0 &gpio5 5 0 &gpio5 6 0>;
0351                 };
0352         };
0353 
0354         spi3 {
0355                 compatible = "spi-gpio";
0356                 pinctrl-names = "default";
0357                 pinctrl-0 = <&spi3_pins_cfa10049>;
0358                 status = "okay";
0359                 gpio-sck = <&gpio0 24 0>;
0360                 gpio-mosi = <&gpio0 28 0>;
0361                 cs-gpios = <&gpio0 17 0 &gpio0 26 0 &gpio0 27 0>;
0362                 num-chipselects = <3>;
0363                 #address-cells = <1>;
0364                 #size-cells = <0>;
0365 
0366                 gpio5: gpio5@0 {
0367                         compatible = "fairchild,74hc595";
0368                         gpio-controller;
0369                         #gpio-cells = <2>;
0370                         reg = <0>;
0371                         registers-number = <2>;
0372                         spi-max-frequency = <100000>;
0373                 };
0374 
0375                 gpio6: gpio6@1 {
0376                         compatible = "fairchild,74hc595";
0377                         gpio-controller;
0378                         #gpio-cells = <2>;
0379                         reg = <1>;
0380                         registers-number = <4>;
0381                         spi-max-frequency = <100000>;
0382                 };
0383 
0384                 dac0: dh2228@2 {
0385                         compatible = "rohm,dh2228fv";
0386                         reg = <2>;
0387                         spi-max-frequency = <100000>;
0388                 };
0389         };
0390 
0391         gpio_keys {
0392                 compatible = "gpio-keys";
0393                 pinctrl-names = "default";
0394                 pinctrl-0 = <&rotary_btn_pins_cfa10049>;
0395 
0396                 rotary_button {
0397                         label = "rotary_button";
0398                         gpios = <&gpio3 26 1>;
0399                         debounce-interval = <10>;
0400                         linux,code = <28>;
0401                 };
0402         };
0403 
0404         rotary {
0405                 compatible = "rotary-encoder";
0406                 pinctrl-names = "default";
0407                 pinctrl-0 = <&rotary_pins_cfa10049>;
0408                 gpios = <&gpio3 24 1>, <&gpio3 25 1>;
0409                 linux,axis = <1>; /* REL_Y */
0410                 rotary-encoder,relative-axis;
0411         };
0412 
0413         backlight {
0414                 compatible = "pwm-backlight";
0415                 pwms = <&pwm 3 5000000>;
0416                 brightness-levels = <0 4 8 16 32 64 128 255>;
0417                 default-brightness-level = <6>;
0418 
0419         };
0420 
0421         onewire {
0422                 compatible = "w1-gpio";
0423                 pinctrl-names = "default";
0424                 pinctrl-0 = <&w1_gpio_pins>;
0425                 status = "okay";
0426                 gpios = <&gpio1 21 0>;
0427         };
0428 };