/* * Copyright 2012 Freescale Semiconductor, Inc. * Copyright 2011 Linaro Ltd. * * The code contained herein is licensed under the GNU General Public * License. You may obtain a copy of the GNU General Public License * Version 2 or later at the following locations: * * http://www.opensource.org/licenses/gpl-license.html * http://www.gnu.org/copyleft/gpl.html */ / { aliases { mxcfb0 = &mxcfb1; mxcfb1 = &mxcfb2; mxcfb2 = &mxcfb3; mxcfb3 = &mxcfb4; }; memory { reg = <0x10000000 0x80000000>; }; backlight { compatible = "pwm-backlight"; pwms = <&pwm3 0 5000000>; brightness-levels = <0 4 8 16 32 64 128 255>; default-brightness-level = <7>; }; clocks { codec_osc: anaclk2 { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <24576000>; }; }; gpio-keys { compatible = "gpio-keys"; home { label = "Home"; gpios = <&gpio1 11 1>; linux,code = <102>; /* KEY_HOME */ gpio-key,wakeup; }; back { label = "Back"; gpios = <&gpio1 12 1>; linux,code = <158>; /* KEY_BACK */ gpio-key,wakeup; }; program { label = "Program"; gpios = <&gpio2 12 1>; linux,code = <362>; /* KEY_PROGRAM */ gpio-key,wakeup; }; volume-up { label = "Volume Up"; gpios = <&gpio2 15 1>; linux,code = <115>; /* KEY_VOLUMEUP */ gpio-key,wakeup; }; volume-down { label = "Volume Down"; gpios = <&gpio5 14 1>; linux,code = <114>; /* KEY_VOLUMEDOWN */ gpio-key,wakeup; }; }; hannstar_cabc { compatible = "hannstar,cabc"; lvds_share { gpios = <&max7310_a 0 GPIO_ACTIVE_HIGH>; }; }; max7310_reset: max7310-reset { compatible = "gpio-reset"; reset-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>; reset-delay-us = <1>; #reset-cells = <0>; }; mxcfb1: fb@0 { compatible = "fsl,mxc_sdc_fb"; disp_dev = "ldb"; interface_pix_fmt = "RGB666"; mode_str ="LDB-XGA"; default_bpp = <16>; int_clk = <0>; late_init = <0>; status = "disabled"; }; mxcfb2: fb@1 { compatible = "fsl,mxc_sdc_fb"; disp_dev = "hdmi"; interface_pix_fmt = "RGB24"; mode_str ="1920x1080M@60"; default_bpp = <24>; int_clk = <0>; late_init = <0>; status = "disabled"; }; mxcfb3: fb@2 { compatible = "fsl,mxc_sdc_fb"; disp_dev = "lcd"; interface_pix_fmt = "RGB565"; mode_str ="CLAA-WVGA"; default_bpp = <16>; int_clk = <0>; late_init = <0>; status = "disabled"; }; mxcfb4: fb@3 { compatible = "fsl,mxc_sdc_fb"; disp_dev = "ldb"; interface_pix_fmt = "RGB666"; mode_str ="LDB-XGA"; default_bpp = <16>; int_clk = <0>; late_init = <0>; status = "disabled"; }; regulators { compatible = "simple-bus"; reg_audio: cs42888_supply { compatible = "regulator-fixed"; regulator-name = "cs42888_supply"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; si4763_vio1: vio1_tnr { compatible = "regulator-fixed"; regulator-name = "vio1"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; si4763_vio2: vio2_tnr { compatible = "regulator-fixed"; regulator-name = "vio2"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; si4763_vd: f3v3_tnr { compatible = "regulator-fixed"; regulator-name = "vd"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; si4763_va: f5v_tnr { compatible = "regulator-fixed"; regulator-name = "va"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; regulator-always-on; }; reg_usb_h1_vbus: usb_h1_vbus { compatible = "regulator-fixed"; regulator-name = "usb_h1_vbus"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&max7310_b 7 GPIO_ACTIVE_HIGH>; enable-active-high; }; reg_usb_otg_vbus: usb_otg_vbus { compatible = "regulator-fixed"; regulator-name = "usb_otg_vbus"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&max7310_c 1 GPIO_ACTIVE_HIGH>; enable-active-high; }; reg_3p3v: 3p3v { compatible = "regulator-fixed"; regulator-name = "3P3V"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; reg_sd3_vmmc: sd3_vmmc{ compatible = "regulator-fixed"; regulator-name = "P3V3_SDa_SWITCHED"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; gpio = <&gpio7 8 GPIO_ACTIVE_HIGH>; enable-active-high; /* remove below line to enable this regulator */ status="disabled"; }; }; sound-cs42888 { compatible = "fsl,imx6-sabreauto-cs42888", "fsl,imx-audio-cs42888"; model = "imx-cs42888"; esai-controller = <&esai>; asrc-controller = <&asrc_p2p>; audio-codec = <&codec>; }; sound-fm { compatible = "fsl,imx-audio-si476x", "fsl,imx-tuner-si476x"; model = "imx-radio-si4763"; ssi-controller = <&ssi2>; fm-controller = <&si4763>; mux-int-port = <2>; mux-ext-port = <5>; }; sound-hdmi { compatible = "fsl,imx6q-audio-hdmi", "fsl,imx-audio-hdmi"; model = "imx-audio-hdmi"; hdmi-controller = <&hdmi_audio>; }; sound-spdif { compatible = "fsl,imx-audio-spdif", "fsl,imx-sabreauto-spdif"; model = "imx-spdif"; spdif-controller = <&spdif>; spdif-in; }; v4l2_cap_0 { compatible = "fsl,imx6q-v4l2-capture"; ipu_id = <0>; csi_id = <0>; mclk_source = <0>; status = "okay"; }; v4l2_out { compatible = "fsl,mxc_v4l2_output"; status = "okay"; }; }; &audmux { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_audmux_3>; status = "okay"; }; &ecspi1 { fsl,spi-num-chipselects = <1>; cs-gpios = <&gpio3 19 0>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ecspi1_1 &pinctrl_ecspi1_cs_1>; flash: m25p80@0 { #address-cells = <1>; #size-cells = <1>; compatible = "st,m25p32"; spi-max-frequency = <20000000>; reg = <0>; }; }; &esai { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_esai_2>; status = "okay"; }; &fec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_enet_2>; phy-mode = "rgmii"; status = "okay"; }; &gpc { fsl,cpu_pupscr_sw2iso = <0xf>; fsl,cpu_pupscr_sw = <0xf>; fsl,cpu_pdnscr_iso2sw = <0x1>; fsl,cpu_pdnscr_iso = <0x1>; }; &hdmi_audio { status = "okay"; }; &hdmi_cec { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_hdmi_cec_1>; status = "okay"; }; &hdmi_core { ipu_id = <0>; disp_id = <1>; status = "okay"; }; &hdmi_video { fsl,phy_reg_vlev = <0x0294>; fsl,phy_reg_cksymtx = <0x800d>; status = "okay"; }; &i2c2 { clock-frequency = <100000>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c2_3>; status = "okay"; egalax_ts@04 { compatible = "eeti,egalax_ts"; reg = <0x04>; interrupt-parent = <&gpio2>; interrupts = <28 2>; wakeup-gpios = <&gpio2 28 0>; }; pmic: pfuze100@08 { compatible = "fsl,pfuze100"; reg = <0x08>; regulators { sw1a_reg: sw1ab { regulator-min-microvolt = <300000>; regulator-max-microvolt = <1875000>; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <6250>; }; sw1c_reg: sw1c { regulator-min-microvolt = <300000>; regulator-max-microvolt = <1875000>; regulator-boot-on; regulator-always-on; regulator-ramp-delay = <6250>; }; sw2_reg: sw2 { regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; regulator-boot-on; regulator-always-on; }; sw3a_reg: sw3a { regulator-min-microvolt = <400000>; regulator-max-microvolt = <1975000>; regulator-boot-on; regulator-always-on; }; sw3b_reg: sw3b { regulator-min-microvolt = <400000>; regulator-max-microvolt = <1975000>; regulator-boot-on; regulator-always-on; }; sw4_reg: sw4 { regulator-min-microvolt = <800000>; regulator-max-microvolt = <3300000>; }; swbst_reg: swbst { regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5150000>; }; snvs_reg: vsnvs { regulator-min-microvolt = <1000000>; regulator-max-microvolt = <3000000>; regulator-boot-on; regulator-always-on; }; vref_reg: vrefddr { regulator-boot-on; regulator-always-on; }; vgen1_reg: vgen1 { regulator-min-microvolt = <800000>; regulator-max-microvolt = <1550000>; }; vgen2_reg: vgen2 { regulator-min-microvolt = <800000>; regulator-max-microvolt = <1550000>; }; vgen3_reg: vgen3 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; }; vgen4_reg: vgen4 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen5_reg: vgen5 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; vgen6_reg: vgen6 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; }; }; codec: cs42888@048 { compatible = "cirrus,cs42888"; reg = <0x048>; clocks = <&codec_osc 0>; clock-names = "codec_osc"; VA-supply = <®_audio>; VD-supply = <®_audio>; VLS-supply = <®_audio>; VLC-supply = <®_audio>; }; hdmi: edid@50 { compatible = "fsl,imx6-hdmi-i2c"; reg = <0x50>; }; si4763: si4763@63 { compatible = "si4761"; reg = <0x63>; va-supply = <&si4763_va>; vd-supply = <&si4763_vd>; vio1-supply = <&si4763_vio1>; vio2-supply = <&si4763_vio2>; }; }; &i2c3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_i2c3_4>; pinctrl-assert-gpios = <&gpio5 4 GPIO_ACTIVE_HIGH>; status = "okay"; max7310_a: gpio@30 { compatible = "maxim,max7310"; reg = <0x30>; gpio-controller; #gpio-cells = <2>; resets = <&max7310_reset>; }; max7310_b: gpio@32 { compatible = "maxim,max7310"; reg = <0x32>; gpio-controller; #gpio-cells = <2>; }; max7310_c: gpio@34 { compatible = "maxim,max7310"; reg = <0x34>; gpio-controller; #gpio-cells = <2>; }; mma8451@1c { compatible = "fsl,mma8451"; reg = <0x1c>; position = <3>; }; mag3110@0e { compatible = "fsl,mag3110"; reg = <0x0e>; position = <2>; interrupt-parent = <&gpio2>; interrupts = <29 2>; }; isl29023@44 { compatible = "fsl,isl29023"; reg = <0x44>; rext = <499>; interrupt-parent = <&gpio5>; interrupts = <17 2>; }; adv7180: adv7180@21 { compatible = "adv,adv7180"; reg = <0x21>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_ipu1_3>; clocks = <&clks 201>; clock-names = "csi_mclk"; DOVDD-supply = <®_3p3v>; /* 3.3v, enabled via 2.8 VGEN6 */ AVDD-supply = <®_3p3v>; /* 1.8v */ DVDD-supply = <®_3p3v>; /* 1.8v */ PVDD-supply = <®_3p3v>; /* 1.8v */ pwn-gpios = <&max7310_b 2 0>; csi_id = <0>; mclk = <24000000>; mclk_source = <0>; cvbs = <1>; }; }; &iomuxc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_hog>; hog { pinctrl_hog: hoggrp { fsl,pins = < MX6QDL_PAD_NANDF_CS2__GPIO6_IO15 0x1f059 MX6QDL_PAD_SD2_DAT2__GPIO1_IO13 0x80000000 MX6QDL_PAD_EIM_A24__GPIO5_IO04 0x80000000 MX6QDL_PAD_SD2_DAT0__GPIO1_IO15 0x80000000 MX6QDL_PAD_EIM_EB0__GPIO2_IO28 0x80000000 MX6QDL_PAD_EIM_EB1__GPIO2_IO29 0x80000000 MX6QDL_PAD_DISP0_DAT23__GPIO5_IO17 0x80000000 MX6QDL_PAD_SD2_CMD__GPIO1_IO11 0x80000000 MX6QDL_PAD_SD2_DAT3__GPIO1_IO12 0x80000000 MX6QDL_PAD_SD4_DAT4__GPIO2_IO12 0x80000000 MX6QDL_PAD_SD4_DAT7__GPIO2_IO15 0x80000000 MX6QDL_PAD_DISP0_DAT20__GPIO5_IO14 0x80000000 MX6QDL_PAD_GPIO_18__SD3_VSELECT 0x17059 MX6QDL_PAD_CSI0_DATA_EN__GPIO5_IO20 0x17059 MX6QDL_PAD_GPIO_1__GPIO1_IO01 0x17059 MX6QDL_PAD_SD3_RST__GPIO7_IO08 0x80000000 >; }; }; }; &flexcan1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan1_1>; pinctrl-assert-gpios = <&max7310_b 3 GPIO_ACTIVE_HIGH>; /* TX */ trx-en-gpio = <&max7310_b 6 GPIO_ACTIVE_HIGH>; trx-stby-gpio = <&max7310_b 5 GPIO_ACTIVE_HIGH>; status = "disabled"; /* pin conflict with fec */ }; &flexcan2 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_flexcan2_1>; trx-en-gpio = <&max7310_c 6 GPIO_ACTIVE_HIGH>; trx-stby-gpio = <&max7310_c 5 GPIO_ACTIVE_HIGH>; status = "okay"; }; &ldb { ipu_id = <1>; disp_id = <0>; ext_ref = <1>; mode = "sep0"; sec_ipu_id = <1>; sec_disp_id = <1>; status = "okay"; }; &mlb { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_mlb_2>; status = "okay"; }; &pcie { status = "okay"; }; &pwm3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_pwm3_1>; status = "okay"; }; &spdif { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_spdif_1>; status = "okay"; }; &ssi2 { fsl,mode = "i2s-master"; status = "okay"; }; &uart3 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart3_1>; pinctrl-assert-gpios = <&max7310_b 4 GPIO_ACTIVE_HIGH>, /* CTS */ <&max7310_c 3 GPIO_ACTIVE_HIGH>; /* RXD and TXD */ fsl,uart-has-rtscts; status = "okay"; }; &gpmi { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_gpmi_nand_1>; status = "disabled"; /* pin conflict with uart3 */ }; &uart4 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_uart4_1>; status = "okay"; }; &usbh1 { vbus-supply = <®_usb_h1_vbus>; status = "okay"; }; &usbotg { vbus-supply = <®_usb_otg_vbus>; pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usbotg_2>; imx6-usb-charger-detection; status = "okay"; }; &usdhc1 { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_usdhc1_1>; cd-gpios = <&gpio1 1 0>; wp-gpios = <&gpio5 20 0>; no-1-8-v; keep-power-in-suspend; enable-sdio-wakeup; status = "okay"; }; &usdhc3 { pinctrl-names = "default", "state_100mhz", "state_200mhz"; pinctrl-0 = <&pinctrl_usdhc3_1>; pinctrl-1 = <&pinctrl_usdhc3_1_100mhz>; pinctrl-2 = <&pinctrl_usdhc3_1_200mhz>; cd-gpios = <&gpio6 15 0>; wp-gpios = <&gpio1 13 0>; /* * Due to board issue, we can not use external regulator for card slot * by default since the card power is shared with card detect pullup. * Disabling the vmmc regulator will cause unexpected card detect * interrupts. * HW rework is needed to fix this isssue. Remove R695 first, then you * can open below line to enable the using of external regulator. * Then you will be able to power off the card during suspend. This is * especially needed for a SD3.0 card re-enumeration working on UHS mode * Note: reg_sd3_vmmc is also need to be enabled */ /* vmmc-supply = <®_sd3_vmmc>; */ keep-power-in-suspend; enable-sdio-wakeup; status = "okay"; }; &weim { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_weim_nor_1 &pinctrl_weim_cs0_1>; #address-cells = <2>; #size-cells = <1>; ranges = <0 0 0x08000000 0x08000000>; status = "disabled"; /* pin conflict with ecspi1, i2c3 and uart3 */ nor@0,0 { compatible = "cfi-flash"; reg = <0 0 0x02000000>; #address-cells = <1>; #size-cells = <1>; bank-width = <2>; fsl,weim-cs-timing = <0x00620081 0x00000001 0x1c022000 0x0000c000 0x1404a38e 0x00000000>; }; };