0001 // SPDX-License-Identifier: (GPL-2.0-or-later OR MIT)
0002 /*
0003 * Copyright 2020-2021 TQ-Systems GmbH
0004 */
0005
0006 #include <dt-bindings/net/ti-dp83867.h>
0007
0008 /* TQ-Systems GmbH MBa8Mx baseboard */
0009
0010 / {
0011 beeper {
0012 compatible = "pwm-beeper";
0013 pwms = <&pwm4 0 250000 0>;
0014 beeper-hz = <4000>;
0015 amp-supply = <®_vcc_3v3>;
0016 };
0017
0018 chosen {
0019 stdout-path = &uart3;
0020 };
0021
0022 gpio-keys {
0023 compatible = "gpio-keys";
0024 pinctrl-names = "default";
0025 pinctrl-0 = <&pinctrl_gpiobutton>;
0026 autorepeat;
0027
0028 switch-1 {
0029 label = "switch1";
0030 linux,code = <BTN_0>;
0031 gpios = <&gpio1 5 GPIO_ACTIVE_LOW>;
0032 wakeup-source;
0033 };
0034
0035 btn2: switch-2 {
0036 label = "switch2";
0037 linux,code = <BTN_1>;
0038 gpios = <&gpio2 0 GPIO_ACTIVE_LOW>;
0039 wakeup-source;
0040 };
0041
0042 switch-3 {
0043 label = "switch3";
0044 linux,code = <BTN_2>;
0045 gpios = <&gpio1 7 GPIO_ACTIVE_LOW>;
0046 wakeup-source;
0047 };
0048 };
0049
0050 gpio_leds: gpio-leds {
0051 compatible = "gpio-leds";
0052 pinctrl-names = "default";
0053 pinctrl-0 = <&pinctrl_gpioled>;
0054
0055 led1 {
0056 label = "led1";
0057 gpios = <&gpio1 0 GPIO_ACTIVE_HIGH>;
0058 linux,default-trigger = "default-on";
0059 };
0060
0061 led2: led2 {
0062 label = "led2";
0063 gpios = <&gpio3 14 GPIO_ACTIVE_HIGH>;
0064 linux,default-trigger = "heartbeat";
0065 };
0066 };
0067
0068 pcie0_refclk: pcie0-refclk {
0069 compatible = "fixed-clock";
0070 #clock-cells = <0>;
0071 clock-frequency = <100000000>;
0072 };
0073
0074 reg_hub_vbus: regulator-hub-vbus {
0075 compatible = "regulator-fixed";
0076 regulator-name = "MBA8MX_HUB_VBUS";
0077 regulator-min-microvolt = <5000000>;
0078 regulator-max-microvolt = <5000000>;
0079 };
0080
0081 reg_sn65dsi83_1v8: regulator-sn65dsi83-1v8 {
0082 compatible = "regulator-fixed";
0083 regulator-name = "SN65DSI83_1V8";
0084 regulator-min-microvolt = <1800000>;
0085 regulator-max-microvolt = <1800000>;
0086 gpio = <&expander0 5 GPIO_ACTIVE_HIGH>;
0087 enable-active-high;
0088 };
0089
0090 reg_vcc_3v3: regulator-3v3 {
0091 compatible = "regulator-fixed";
0092 regulator-name = "MBA8MX_3V3";
0093 regulator-min-microvolt = <3300000>;
0094 regulator-max-microvolt = <3300000>;
0095 };
0096
0097 sound {
0098 compatible = "fsl,imx-audio-tlv320aic32x4";
0099 model = "imx-audio-tlv320aic32x4";
0100 ssi-controller = <&sai3>;
0101 audio-codec = <&tlv320aic3x04>;
0102 };
0103 };
0104
0105 &ecspi1 {
0106 pinctrl-names = "default";
0107 pinctrl-0 = <&pinctrl_ecspi1>;
0108 cs-gpios = <&gpio5 9 GPIO_ACTIVE_LOW>;
0109 status = "okay";
0110 };
0111
0112 &ecspi2 {
0113 pinctrl-names = "default";
0114 pinctrl-0 = <&pinctrl_ecspi2>;
0115 cs-gpios = <&gpio5 13 GPIO_ACTIVE_LOW>;
0116 status = "okay";
0117 };
0118
0119 &fec1 {
0120 pinctrl-names = "default";
0121 pinctrl-0 = <&pinctrl_fec1>;
0122 phy-mode = "rgmii-id";
0123 phy-handle = <ðphy0>;
0124 phy-supply = <®_vcc_3v3>;
0125 fsl,magic-packet;
0126 mac-address = [ 00 00 00 00 00 00 ];
0127 status = "okay";
0128
0129 mdio {
0130 #address-cells = <1>;
0131 #size-cells = <0>;
0132
0133 ethphy0: ethernet-phy@e {
0134 compatible = "ethernet-phy-ieee802.3-c22";
0135 reg = <0xe>;
0136 ti,rx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
0137 ti,tx-internal-delay = <DP83867_RGMIIDCTL_2_50_NS>;
0138 ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
0139 ti,dp83867-rxctrl-strap-quirk;
0140 ti,clk-output-sel = <DP83867_CLK_O_SEL_OFF>;
0141 enet-phy-lane-no-swap;
0142 reset-gpios = <&expander2 7 GPIO_ACTIVE_LOW>;
0143 reset-assert-us = <500000>;
0144 reset-deassert-us = <500>;
0145 };
0146 };
0147 };
0148
0149 &i2c1 {
0150 expander0: gpio@23 {
0151 compatible = "nxp,pca9555";
0152 reg = <0x23>;
0153 gpio-controller;
0154 #gpio-cells = <2>;
0155 vcc-supply = <®_vcc_3v3>;
0156 interrupt-parent = <&gpio1>;
0157 interrupts = <9 IRQ_TYPE_EDGE_FALLING>;
0158 interrupt-controller;
0159 #interrupt-cells = <2>;
0160
0161 sd-mux-oe-hog {
0162 gpio-hog;
0163 gpios = <8 0>;
0164 output-low;
0165 line-name = "SD_MUX_EN#";
0166 };
0167
0168 boot-cfg-oe-hog {
0169 gpio-hog;
0170 gpios = <12 0>;
0171 output-high;
0172 line-name = "BOOT_CFG_OE#";
0173 };
0174
0175 rst-usb-hub-hog {
0176 gpio-hog;
0177 gpios = <13 0>;
0178 output-high;
0179 line-name = "RST_USB_HUB#";
0180 };
0181 };
0182
0183 expander1: gpio@24 {
0184 compatible = "nxp,pca9555";
0185 reg = <0x24>;
0186 gpio-controller;
0187 #gpio-cells = <2>;
0188 vcc-supply = <®_vcc_3v3>;
0189 };
0190 };
0191
0192 &i2c2 {
0193 clock-frequency = <100000>;
0194 pinctrl-names = "default", "gpio";
0195 pinctrl-0 = <&pinctrl_i2c2>;
0196 pinctrl-1 = <&pinctrl_i2c2_gpio>;
0197 scl-gpios = <&gpio5 16 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0198 sda-gpios = <&gpio5 17 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0199 status = "okay";
0200
0201 tlv320aic3x04: audio-codec@18 {
0202 compatible = "ti,tlv320aic32x4";
0203 reg = <0x18>;
0204 reset-gpios = <&expander2 0 GPIO_ACTIVE_LOW>;
0205 iov-supply = <®_vcc_3v3>;
0206 ldoin-supply = <®_vcc_3v3>;
0207 };
0208
0209 sensor1: sensor@1f {
0210 compatible = "nxp,se97", "jedec,jc-42.4-temp";
0211 reg = <0x1f>;
0212 };
0213
0214 eeprom3: eeprom@57 {
0215 compatible = "nxp,se97b", "atmel,24c02";
0216 reg = <0x57>;
0217 pagesize = <16>;
0218 };
0219 };
0220
0221 &i2c3 {
0222 clock-frequency = <100000>;
0223 pinctrl-names = "default", "gpio";
0224 pinctrl-0 = <&pinctrl_i2c3>;
0225 pinctrl-1 = <&pinctrl_i2c3_gpio>;
0226 scl-gpios = <&gpio5 18 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0227 sda-gpios = <&gpio5 19 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
0228 status = "okay";
0229 };
0230
0231 &pwm3 {
0232 pinctrl-names = "default";
0233 pinctrl-0 = <&pinctrl_pwm3>;
0234 status = "okay";
0235 };
0236
0237 &pwm4 {
0238 pinctrl-names = "default";
0239 pinctrl-0 = <&pinctrl_pwm4>;
0240 status = "okay";
0241 };
0242
0243 &sai3 {
0244 pinctrl-names = "default";
0245 pinctrl-0 = <&pinctrl_sai3>;
0246 #sound-dai-cells = <0>;
0247 assigned-clock-rates = <49152000>;
0248 status = "okay";
0249 };
0250
0251 &snvs_pwrkey {
0252 status = "okay";
0253 };
0254
0255 &uart1 {
0256 pinctrl-names = "default";
0257 pinctrl-0 = <&pinctrl_uart1>;
0258 status = "okay";
0259 };
0260
0261 &uart2 {
0262 pinctrl-names = "default";
0263 pinctrl-0 = <&pinctrl_uart2>;
0264 status = "okay";
0265 };
0266
0267 /* console */
0268 &uart3 {
0269 pinctrl-names = "default";
0270 pinctrl-0 = <&pinctrl_uart3>;
0271 status = "okay";
0272 };
0273
0274 &usdhc2 {
0275 pinctrl-names = "default", "state_100mhz", "state_200mhz";
0276 pinctrl-0 = <&pinctrl_usdhc2>, <&pinctrl_usdhc2_gpio>;
0277 pinctrl-1 = <&pinctrl_usdhc2_100mhz>, <&pinctrl_usdhc2_gpio>;
0278 pinctrl-2 = <&pinctrl_usdhc2_200mhz>, <&pinctrl_usdhc2_gpio>;
0279 bus-width = <4>;
0280 cd-gpios = <&gpio2 12 GPIO_ACTIVE_LOW>;
0281 disable-wp;
0282 no-mmc;
0283 no-sdio;
0284 vmmc-supply = <®_usdhc2_vmmc>;
0285 status = "okay";
0286 };