| // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT) |
| /* |
| * Copyright 2020-2021 TQ-Systems GmbH |
| */ |
| |
| #include <dt-bindings/net/ti-dp83867.h> |
| |
| /* TQ-Systems GmbH MBa8Mx baseboard */ |
| |
| / { |
| backlight_lvds: backlight { |
| compatible = "pwm-backlight"; |
| pwms = <&pwm3 0 5000000 0>; |
| brightness-levels = <0 4 8 16 32 64 128 255>; |
| default-brightness-level = <7>; |
| power-supply = <®_12v>; |
| enable-gpios = <&expander2 2 GPIO_ACTIVE_HIGH>; |
| status = "disabled"; |
| }; |
| |
| beeper { |
| compatible = "pwm-beeper"; |
| pwms = <&pwm4 0 250000 0>; |
| beeper-hz = <4000>; |
| amp-supply = <®_vcc_3v3>; |
| }; |
| |
| chosen { |
| stdout-path = &uart3; |
| }; |
| |
| clk_xtal25: clk-xtal25 { |
| compatible = "fixed-clock"; |
| #clock-cells = <0>; |
| clock-frequency = <25000000>; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_gpiobutton>; |
| autorepeat; |
| |
| switch-1 { |
| label = "switch1"; |
| linux,code = <BTN_0>; |
| gpios = <&gpio1 5 GPIO_ACTIVE_LOW>; |
| wakeup-source; |
| }; |
| |
| btn2: switch-2 { |
| label = "switch2"; |
| linux,code = <BTN_1>; |
| gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; |
| wakeup-source; |
| }; |
| |
| switch-3 { |
| label = "switch3"; |
| linux,code = <BTN_2>; |
| gpios = <&gpio1 7 GPIO_ACTIVE_LOW>; |
| wakeup-source; |
| }; |
| }; |
| |
| gpio_leds: gpio-leds { |
| compatible = "gpio-leds"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_gpioled>; |
| |
| led1 { |
| label = "led1"; |
| gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>; |
| linux,default-trigger = "default-on"; |
| }; |
| |
| led2: led2 { |
| label = "led2"; |
| gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>; |
| linux,default-trigger = "heartbeat"; |
| }; |
| }; |
| |
| gpio_delays: gpio-delays { |
| compatible = "gpio-delay"; |
| #gpio-cells = <3>; |
| gpio-controller; |
| gpios = <&expander0 6 GPIO_ACTIVE_HIGH>; |
| gpio-line-names = "LVDS_BRIDGE_EN_1V8"; |
| }; |
| |
| panel: panel-lvds { |
| /* |
| * Display is not fixed, so compatible has to be added from |
| * DT overlay |
| */ |
| backlight = <&backlight_lvds>; |
| power-supply = <®_vcc_3v3>; |
| status = "disabled"; |
| |
| port { |
| panel_in_lvds: endpoint { |
| data-lanes = <1 2 3 4>; |
| remote-endpoint = <&lvds_bridge_out>; |
| }; |
| }; |
| }; |
| |
| reg_12v: regulator-12v { |
| compatible = "regulator-fixed"; |
| regulator-name = "MBA8MX_12V"; |
| regulator-min-microvolt = <12000000>; |
| regulator-max-microvolt = <12000000>; |
| regulator-always-on; |
| }; |
| |
| reg_hub_vbus: regulator-hub-vbus { |
| compatible = "regulator-fixed"; |
| regulator-name = "MBA8MX_HUB_VBUS"; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| }; |
| |
| reg_sn65dsi83_1v8: regulator-sn65dsi83-1v8 { |
| compatible = "regulator-fixed"; |
| regulator-name = "SN65DSI83_1V8"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| gpio = <&expander0 5 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| |
| reg_vcc_3v3: regulator-3v3 { |
| compatible = "regulator-fixed"; |
| regulator-name = "MBA8MX_3V3"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| sound { |
| compatible = "fsl,imx-audio-tlv320aic32x4"; |
| model = "imx-audio-tlv320aic32x4"; |
| ssi-controller = <&sai3>; |
| audio-codec = <&tlv320aic3x04>; |
| }; |
| }; |
| |
| &ecspi1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_ecspi1>; |
| cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>; |
| status = "okay"; |
| }; |
| |
| &ecspi2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_ecspi2>; |
| cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>; |
| status = "okay"; |
| }; |
| |
| &fec1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_fec1>; |
| phy-mode = "rgmii-id"; |
| phy-handle = <ðphy0>; |
| phy-supply = <®_vcc_3v3>; |
| fsl,magic-packet; |
| mac-address = [ 00 00 00 00 00 00 ]; |
| status = "okay"; |
| |
| mdio { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| ethphy0: ethernet-phy@e { |
| compatible = "ethernet-phy-ieee802.3-c22"; |
| reg = <0xe>; |
| ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>; |
| ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>; |
| ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>; |
| ti,dp83867-rxctrl-strap-quirk; |
| ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>; |
| enet-phy-lane-no-swap; |
| reset-gpios = <&expander2 7 GPIO_ACTIVE_LOW>; |
| reset-assert-us = <500000>; |
| reset-deassert-us = <500>; |
| interrupt-parent = <&expander2>; |
| interrupts = <6 IRQ_TYPE_EDGE_FALLING>; |
| }; |
| }; |
| }; |
| |
| &i2c1 { |
| expander0: gpio@23 { |
| compatible = "nxp,pca9555"; |
| reg = <0x23>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| vcc-supply = <®_vcc_3v3>; |
| interrupt-parent = <&gpio1>; |
| interrupts = <9 IRQ_TYPE_EDGE_FALLING>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| gpio-line-names = "", "", "", "", |
| "", "", "LVDS_BRIDGE_EN", "", |
| "", "", "", "", |
| "", "", "", ""; |
| |
| sd-mux-oe-hog { |
| gpio-hog; |
| gpios = <8 0>; |
| output-low; |
| line-name = "SD_MUX_EN#"; |
| }; |
| |
| boot-cfg-oe-hog { |
| gpio-hog; |
| gpios = <12 0>; |
| output-high; |
| line-name = "BOOT_CFG_OE#"; |
| }; |
| |
| rst_usb_hub_hog: rst-usb-hub-hog { |
| gpio-hog; |
| gpios = <13 0>; |
| output-high; |
| line-name = "RST_USB_HUB#"; |
| }; |
| }; |
| |
| expander1: gpio@24 { |
| compatible = "nxp,pca9555"; |
| reg = <0x24>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| vcc-supply = <®_vcc_3v3>; |
| }; |
| }; |
| |
| &i2c2 { |
| pinctrl-names = "default", "gpio"; |
| pinctrl-0 = <&pinctrl_i2c2>; |
| pinctrl-1 = <&pinctrl_i2c2_gpio>; |
| scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; |
| sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; |
| status = "okay"; |
| |
| tlv320aic3x04: audio-codec@18 { |
| compatible = "ti,tlv320aic32x4"; |
| reg = <0x18>; |
| reset-gpios = <&expander2 0 GPIO_ACTIVE_LOW>; |
| iov-supply = <®_vcc_3v3>; |
| ldoin-supply = <®_vcc_3v3>; |
| }; |
| |
| sensor1: temperator-sensor@1f { |
| compatible = "nxp,se97b", "jedec,jc-42.4-temp"; |
| reg = <0x1f>; |
| }; |
| |
| /* |
| * TUSB8041 is at 0x41, but not connected by default |
| * Note: TUSB8041 only supports 100 kHz! |
| */ |
| |
| eeprom3: eeprom@57 { |
| compatible = "nxp,se97b", "atmel,24c02"; |
| reg = <0x57>; |
| pagesize = <16>; |
| vcc-supply = <®_vcc_3v3>; |
| }; |
| |
| pcieclk: clk@68 { |
| compatible = "renesas,9fgv0441"; |
| reg = <0x68>; |
| clocks = <&clk_xtal25>; |
| #clock-cells = <1>; |
| }; |
| }; |
| |
| &i2c3 { |
| pinctrl-names = "default", "gpio"; |
| pinctrl-0 = <&pinctrl_i2c3>; |
| pinctrl-1 = <&pinctrl_i2c3_gpio>; |
| scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; |
| sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; |
| status = "okay"; |
| |
| dsi_lvds_bridge: bridge@2d { |
| compatible = "ti,sn65dsi84"; |
| reg = <0x2d>; |
| enable-gpios = <&gpio_delays 0 130000 0>; |
| vcc-supply = <®_sn65dsi83_1v8>; |
| status = "disabled"; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| |
| lvds_bridge_in: endpoint { |
| data-lanes = <1 2 3 4>; |
| remote-endpoint = <&mipi_dsi_out>; |
| }; |
| }; |
| |
| port@2 { |
| reg = <2>; |
| |
| lvds_bridge_out: endpoint { |
| remote-endpoint = <&panel_in_lvds>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &mipi_dsi { |
| samsung,burst-clock-frequency = <891000000>; |
| samsung,esc-clock-frequency = <20000000>; |
| }; |
| |
| &mipi_dsi_out { |
| data-lanes = <1 2 3 4>; |
| remote-endpoint = <&lvds_bridge_in>; |
| }; |
| |
| &pwm3 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_pwm3>; |
| status = "okay"; |
| }; |
| |
| &pwm4 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_pwm4>; |
| status = "okay"; |
| }; |
| |
| &sai3 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_sai3>; |
| #sound-dai-cells = <0>; |
| assigned-clock-rates = <49152000>; |
| status = "okay"; |
| }; |
| |
| &snvs_pwrkey { |
| status = "okay"; |
| }; |
| |
| &uart1 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_uart1>; |
| status = "okay"; |
| }; |
| |
| &uart2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_uart2>; |
| status = "okay"; |
| }; |
| |
| /* console */ |
| &uart3 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pinctrl_uart3>; |
| status = "okay"; |
| }; |
| |
| &usdhc2 { |
| pinctrl-names = "default", "state_100mhz", "state_200mhz"; |
| pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>; |
| pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>; |
| pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>; |
| bus-width = <4>; |
| cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>; |
| disable-wp; |
| no-mmc; |
| no-sdio; |
| vmmc-supply = <®_usdhc2_vmmc>; |
| status = "okay"; |
| }; |