| /* |
| * GE B1x5v2 Patient Monitor |
| * |
| * Copyright 2018-2020 GE Inc. |
| * Copyright 2018-2020 Collabora Ltd. |
| * |
| * SPDX-License-Identifier: GPL-2.0+ |
| */ |
| |
| /dts-v1/; |
| |
| #include "imx6dl.dtsi" |
| #include <dt-bindings/gpio/gpio.h> |
| |
| / { |
| compatible = "ge,imx6dl-b1x5v2", "congatec,qmx6", "fsl,imx6dl"; |
| |
| chosen { |
| bootargs = "console=ttymxc2,115200"; |
| stdout-path = &uart3; |
| }; |
| |
| reg_3p3v: 3p3v { |
| compatible = "regulator-fixed"; |
| regulator-name = "3P3V"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| reg_5v: regulator-5v { |
| compatible = "regulator-fixed"; |
| regulator-name = "5V"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| regulator-always-on; |
| }; |
| |
| reg_5v0_audio: regulator-5v0-audio { |
| compatible = "regulator-fixed"; |
| regulator-name = "5V0_AUDIO"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| vin-supply = <®_5v>; |
| |
| gpio = <&tca6424a 16 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| |
| /* |
| * This must be always-on for da7212, which has some not properly |
| * documented dependencies for it's speaker supply pin. The issue |
| * manifests as speaker volume being very low. |
| */ |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| reg_lcd: regulator-lcd { |
| compatible = "regulator-fixed"; |
| regulator-name = "LED_VCC"; |
| regulator-min-microvolt = <12000000>; |
| regulator-max-microvolt = <12000000>; |
| |
| pinctrl-0 = <&pinctrl_q7_lcd_power>; |
| pinctrl-names = "default"; |
| gpio = <&gpio1 7 GPIO_ACTIVE_HIGH>; // LCDPWR |
| enable-active-high; |
| }; |
| |
| usb_power: regulator-usb-power { |
| compatible = "regulator-fixed"; |
| regulator-name = "USB POWER"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| vin-supply = <®_5v>; |
| }; |
| |
| backlight: backlight { |
| compatible = "pwm-backlight"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_q7_backlight_enable>; |
| power-supply = <®_lcd>; |
| pwms = <&pwm4 0 5000000>; |
| brightness-levels = <0 4 8 16 32 64 128 255>; |
| default-brightness-level = <7>; |
| enable-gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| panel { |
| compatible = "simple-panel"; |
| backlight = <&backlight>; |
| |
| port { |
| panel_in: endpoint { |
| remote-endpoint = <&lvds0_out>; |
| }; |
| }; |
| }; |
| |
| bootcount { |
| compatible = "u-boot,bootcount-spi-flash"; |
| spi-flash = <&flash>; |
| offset = <0x01003fe>; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_q7_gpio1 &pinctrl_q7_gpio3 &pinctrl_q7_gpio5>; |
| |
| alarm1 { |
| label = "alarm:red"; |
| gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| alarm2 { |
| label = "alarm:yellow"; |
| gpios = <&gpio4 27 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| alarm3 { |
| label = "alarm:blue"; |
| gpios = <&gpio4 15 GPIO_ACTIVE_HIGH>; |
| }; |
| }; |
| |
| poweroff { |
| compatible = "gpio-poweroff"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_q7_spi_cs1>; |
| gpios = <&gpio4 25 GPIO_ACTIVE_LOW>; |
| active-delay-ms = <1000>; |
| inactive-delay-ms = <0>; |
| timeout-ms = <5000>; |
| }; |
| |
| i2cmux { |
| compatible = "i2c-mux-gpio"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_i2cmux>; |
| mux-gpios = <&gpio6 9 GPIO_ACTIVE_HIGH>; |
| i2c-parent = <&i2c2>; |
| idle-state = <1>; |
| |
| i2c5: i2c@0 { |
| reg = <0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| tmp112: temperature-sensor@48 { |
| compatible = "ti,tmp112"; |
| reg = <0x48>; |
| interrupt-parent = <&tca6424a>; |
| interrupts = <2 IRQ_TYPE_LEVEL_LOW>; |
| }; |
| |
| tca6424a: gpio-controller@22 { |
| compatible = "ti,tca6424"; |
| reg = <0x22>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| |
| interrupt-parent = <&gpio7>; |
| interrupts = <11 IRQ_TYPE_EDGE_RISING>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_q7_gpio6>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| |
| gpio-line-names = "GPIO_ROTOR#", "", "TMP_SENSOR_IRQ", "ACM_GPIO1", "ACM_GPIO2", "BATT_T", "", "", |
| "ACM_GPIO3", "ACM_GPIO4", "USB1_POWER_EN", "EGPIO_CC_CTL0", "EGPIO_CC_CTL1", "12V_OEMNBP_EN", "CP2105_RST", "", |
| "SPEAKER_PA_EN", "ARM7_UPI_RESET", "ARM7_PWR_RST", "NURSE_CALL", "MARKER_EN", "EGPIO_TOUCH_RST", "", ""; |
| }; |
| }; |
| |
| i2c6: i2c@1 { |
| reg = <1>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pmic: pmic@08 { |
| compatible = "fsl,pfuze100"; |
| reg = <0x08>; |
| }; |
| }; |
| }; |
| }; |
| |
| &usbh1 { |
| /* Connected to USB-Hub SMSC USB2514, provides P0, P2, P3, P4 on Qseven connector */ |
| vbus-supply = <®_5v>; |
| status = "okay"; |
| }; |
| |
| &usbotg { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usbotg>; |
| vbus-supply = <&usb_power>; |
| disable-over-current; |
| dr_mode = "host"; |
| status = "okay"; |
| }; |
| |
| &pmic { |
| 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 = <675000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| |
| 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; |
| }; |
| |
| /* keep VGEN3, VGEN4 and VGEN5 enabled in order to maintain backward compatibility with hw-rev. A.0 */ |
| vgen3_reg: vgen3 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| vgen4_reg: vgen4 { |
| regulator-min-microvolt = <2500000>; |
| regulator-max-microvolt = <2500000>; |
| regulator-always-on; |
| }; |
| |
| vgen5_reg: vgen5 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| }; |
| |
| /* supply voltage for eMMC */ |
| vgen6_reg: vgen6 { |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-boot-on; |
| regulator-always-on; |
| }; |
| }; |
| }; |
| |
| &uart2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_uart2>; |
| status = "okay"; |
| }; |
| |
| &uart3 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_uart3>; |
| status = "okay"; |
| }; |
| |
| &usdhc2 { |
| /* MicroSD card slot */ |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usdhc2>; |
| cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; |
| no-1-8-v; |
| keep-power-in-suspend; |
| wakeup-source; |
| vmmc-supply = <®_3p3v>; |
| status = "okay"; |
| }; |
| |
| &usdhc3 { |
| /* eMMC module */ |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_usdhc3>; |
| non-removable; |
| bus-width = <8>; |
| no-1-8-v; |
| keep-power-in-suspend; |
| wakeup-source; |
| vmmc-supply = <®_3p3v>; |
| status = "okay"; |
| }; |
| |
| &i2c1 { |
| status = "okay"; |
| pinctrl-names = "default", "gpio"; |
| pinctrl-0 = <&pinctrl_i2c1>; |
| pinctrl-1 = <&pinctrl_i2c1_gpio>; |
| scl-gpios = <&gpio3 21 GPIO_ACTIVE_HIGH>; |
| sda-gpios = <&gpio3 28 GPIO_ACTIVE_HIGH>; |
| |
| clock-frequency = <100000>; |
| }; |
| |
| &i2c2 { |
| status = "okay"; |
| pinctrl-names = "default", "gpio"; |
| pinctrl-0 = <&pinctrl_i2c2>; |
| pinctrl-1 = <&pinctrl_i2c2_gpio>; |
| scl-gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>; |
| sda-gpios = <&gpio4 13 GPIO_ACTIVE_HIGH>; |
| |
| clock-frequency = <100000>; |
| }; |
| |
| &i2c3 { |
| status = "okay"; |
| pinctrl-names = "default", "gpio"; |
| pinctrl-0 = <&pinctrl_i2c3>; |
| pinctrl-1 = <&pinctrl_i2c3_gpio>; |
| scl-gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>; |
| sda-gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>; |
| |
| clock-frequency = <100000>; |
| |
| rtc: m41t62@68 { |
| compatible = "st,m41t62"; |
| reg = <0x68>; |
| }; |
| }; |
| |
| &ldb { |
| status = "okay"; |
| |
| lvds0: lvds-channel@0 { |
| status = "okay"; |
| fsl,data-mapping = "spwg"; |
| fsl,data-width = <24>; |
| |
| port@4 { |
| reg = <4>; |
| lvds0_out: endpoint { |
| remote-endpoint = <&panel_in>; |
| }; |
| }; |
| }; |
| }; |
| |
| &hdmi { |
| status = "okay"; |
| }; |
| |
| &fec { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_enet &pinctrl_phy_reset>; |
| phy-mode = "rgmii-id"; |
| phy-handle = <&phy>; |
| status = "okay"; |
| |
| fsl,magic-packet; |
| |
| mdio { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| phy: ethernet-phy@6 { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <6>; |
| qca,clk-out-frequency = <125000000>; |
| reset-gpios = <&gpio3 23 GPIO_ACTIVE_LOW>; |
| reset-assert-us = <2000>; |
| }; |
| }; |
| }; |
| |
| &ecspi1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_ecspi1>; |
| status = "okay"; |
| |
| num-cs = <1>; |
| cs-gpios = <&gpio3 19 GPIO_ACTIVE_LOW>; |
| |
| flash: m25p80@0 { |
| #address-cells = <1>; |
| #size-cells = <1>; |
| compatible = "st,sst25vf032b", "jedec,spi-nor"; |
| spi-max-frequency = <20000000>; |
| reg = <0>; |
| |
| partition@0 { |
| label = "bootloader"; |
| reg = <0x0000000 0x100000>; |
| }; |
| |
| partition@100000 { |
| label = "user"; |
| reg = <0x0100000 0x2fc000>; |
| }; |
| |
| partition@3fc000 { |
| label = "reserved"; |
| reg = <0x03fc000 0x4000>; |
| read-only; |
| }; |
| }; |
| }; |
| |
| &pwm4 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_pwm4>; |
| status = "okay"; |
| }; |
| |
| &wdog1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_wdog>; |
| fsl,ext-reset-output; |
| }; |
| |
| &iomuxc { |
| imx6qdl-congatec-qmx6 { |
| pinctrl_uart2: uart2grp { |
| fsl,pins = < |
| MX6QDL_PAD_EIM_D26__UART2_TX_DATA 0x1b0b1 |
| MX6QDL_PAD_EIM_D27__UART2_RX_DATA 0x1b0b1 |
| >; |
| }; |
| |
| pinctrl_uart3: uart3grp { |
| fsl,pins = < |
| MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 |
| MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 |
| >; |
| }; |
| |
| pinctrl_wdog: wdoggrp { |
| fsl,pins = < |
| MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0 |
| >; |
| }; |
| |
| pinctrl_usdhc2: usdhc2grp { |
| fsl,pins = < |
| MX6QDL_PAD_SD2_CMD__SD2_CMD 0x17059 |
| MX6QDL_PAD_SD2_CLK__SD2_CLK 0x10059 |
| MX6QDL_PAD_SD2_DAT0__SD2_DATA0 0x17059 |
| MX6QDL_PAD_SD2_DAT1__SD2_DATA1 0x17059 |
| MX6QDL_PAD_SD2_DAT2__SD2_DATA2 0x17059 |
| MX6QDL_PAD_SD2_DAT3__SD2_DATA3 0x17059 |
| >; |
| }; |
| |
| pinctrl_usdhc2_cd: sd2cdgrp { |
| fsl,pins = < |
| MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x1b0b0 |
| >; |
| }; |
| |
| pinctrl_usdhc3: usdhc4grp { |
| fsl,pins = < |
| MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 |
| MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 |
| MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 |
| MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 |
| MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 |
| MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 |
| MX6QDL_PAD_SD3_DAT4__SD3_DATA4 0x17059 |
| MX6QDL_PAD_SD3_DAT5__SD3_DATA5 0x17059 |
| MX6QDL_PAD_SD3_DAT6__SD3_DATA6 0x17059 |
| MX6QDL_PAD_SD3_DAT7__SD3_DATA7 0x17059 |
| >; |
| }; |
| |
| pinctrl_i2c1: i2c1grp { |
| fsl,pins = < |
| MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 |
| MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 |
| >; |
| }; |
| |
| pinctrl_i2c1_gpio: i2c1gpiogrp { |
| fsl,pins = < |
| MX6QDL_PAD_EIM_D21__GPIO3_IO21 0x1b0b0 |
| MX6QDL_PAD_EIM_D28__GPIO3_IO28 0x1b0b0 |
| >; |
| }; |
| |
| pinctrl_i2c2: i2c2grp { |
| fsl,pins = < |
| MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 |
| MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 |
| >; |
| }; |
| |
| pinctrl_i2c2_gpio: i2c2gpiogrp { |
| fsl,pins = < |
| MX6QDL_PAD_KEY_COL3__GPIO4_IO12 0x1b0b0 |
| MX6QDL_PAD_KEY_ROW3__GPIO4_IO13 0x1b0b0 |
| >; |
| }; |
| |
| pinctrl_i2c3: i2c3grp { |
| fsl,pins = < |
| MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1 |
| MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 |
| >; |
| }; |
| |
| pinctrl_i2c3_gpio: i2c3gpiogrp { |
| fsl,pins = < |
| MX6QDL_PAD_GPIO_3__GPIO1_IO03 0x1b0b0 |
| MX6QDL_PAD_GPIO_6__GPIO1_IO06 0x1b0b0 |
| >; |
| }; |
| |
| pinctrl_ecspi1: ecspi1grp { |
| fsl,pins = < |
| MX6QDL_PAD_EIM_D16__ECSPI1_SCLK 0x100b1 |
| MX6QDL_PAD_EIM_D17__ECSPI1_MISO 0x100b1 |
| MX6QDL_PAD_EIM_D18__ECSPI1_MOSI 0x100b1 |
| MX6QDL_PAD_EIM_D19__GPIO3_IO19 0x1b0b0 |
| >; |
| }; |
| |
| pinctrl_enet: enetgrp { |
| fsl,pins = < |
| MX6QDL_PAD_ENET_MDIO__ENET_MDIO 0x1b0b0 |
| MX6QDL_PAD_ENET_MDC__ENET_MDC 0x1b0b0 |
| MX6QDL_PAD_RGMII_TXC__RGMII_TXC 0x1b030 |
| MX6QDL_PAD_RGMII_TD0__RGMII_TD0 0x1b030 |
| MX6QDL_PAD_RGMII_TD1__RGMII_TD1 0x1b030 |
| MX6QDL_PAD_RGMII_TD2__RGMII_TD2 0x1b030 |
| MX6QDL_PAD_RGMII_TD3__RGMII_TD3 0x1b030 |
| MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL 0x1b030 |
| MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK 0x1b0b0 |
| MX6QDL_PAD_RGMII_RXC__RGMII_RXC 0x1b030 |
| MX6QDL_PAD_RGMII_RD0__RGMII_RD0 0x1b030 |
| MX6QDL_PAD_RGMII_RD1__RGMII_RD1 0x1b030 |
| MX6QDL_PAD_RGMII_RD2__RGMII_RD2 0x1b030 |
| MX6QDL_PAD_RGMII_RD3__RGMII_RD3 0x1b030 |
| MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL 0x1b030 |
| MX6QDL_PAD_ENET_TX_EN__ENET_TX_EN 0x1b0b0 |
| >; |
| }; |
| |
| pinctrl_phy_reset: phyrstgrp { |
| fsl,pins = < |
| MX6QDL_PAD_EIM_D23__GPIO3_IO23 0x4001b0b0 /* RGMII Phy Reset */ |
| >; |
| }; |
| |
| pinctrl_pwm4: pwm4grp { |
| fsl,pins = < |
| MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x1b0b1 /* Q7[123] LVDS_BLT_CTRL */ |
| >; |
| }; |
| |
| pinctrl_q7_lcd_power: lcdpwrgrp { |
| fsl,pins = < |
| MX6QDL_PAD_GPIO_7__GPIO1_IO07 0x4001b0b0 /* Q7[111] LVDS_PPEN */ |
| >; |
| }; |
| |
| pinctrl_q7_backlight_enable: blengrp { |
| fsl,pins = < |
| MX6QDL_PAD_GPIO_9__GPIO1_IO09 0x4001b0b0 /* Q7[112] LVDS_BLEN */ |
| >; |
| }; |
| |
| pinctrl_q7_gpio1: q7gpio1grp { |
| fsl,pins = < |
| MX6QDL_PAD_GPIO_8__GPIO1_IO08 0x4001b0b0 /* Q7[186] GPIO1 */ |
| >; |
| }; |
| |
| pinctrl_q7_gpio3: q7gpio3grp { |
| fsl,pins = < |
| MX6QDL_PAD_DISP0_DAT6__GPIO4_IO27 0x4001b0b0 /* Q7[188] GPIO3 */ |
| >; |
| }; |
| |
| pinctrl_q7_gpio5: q7gpio5grp { |
| fsl,pins = < |
| MX6QDL_PAD_KEY_ROW4__GPIO4_IO15 0x4001b0b0 /* Q7[190] GPIO5 */ |
| >; |
| }; |
| |
| pinctrl_q7_gpio6: q7gpio6grp { |
| fsl,pins = < |
| MX6QDL_PAD_GPIO_16__GPIO7_IO11 0x1b0b0 /* Q7[191] GPIO6 */ |
| >; |
| }; |
| |
| pinctrl_q7_spi_cs1: spics1grp { |
| fsl,pins = < |
| MX6QDL_PAD_DISP0_DAT4__GPIO4_IO25 0x4001b0b0 /* Q7[202] SPI_CS1# */ |
| >; |
| }; |
| |
| pinctrl_i2cmux: i2cmuxgrp { |
| fsl,pins = < |
| MX6QDL_PAD_NANDF_WP_B__GPIO6_IO09 0x4001b0b0 |
| >; |
| }; |
| |
| pinctrl_usbotg: usbotggrp { |
| fsl,pins = < |
| MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059 /* Q7[92] USB_ID */ |
| >; |
| }; |
| }; |
| }; |