162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2015 CompuLab, Ltd. - http://www.compulab.co.il/ 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci#include "am437x-cm-t43.dts" 762306a36Sopenharmony_ci#include "compulab-sb-som.dtsi" 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/ { 1062306a36Sopenharmony_ci model = "CompuLab CM-T43 on SB-SOM-T43"; 1162306a36Sopenharmony_ci compatible = "compulab,am437x-sbc-t43", "compulab,am437x-cm-t43", "ti,am4372", "ti,am43"; 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ci aliases { 1462306a36Sopenharmony_ci display0 = &lcd0; 1562306a36Sopenharmony_ci }; 1662306a36Sopenharmony_ci}; 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci&am43xx_pinmux { 1962306a36Sopenharmony_ci mmc1_pins: mmc1-pins { 2062306a36Sopenharmony_ci pinctrl-single,pins = < 2162306a36Sopenharmony_ci AM4372_IOPAD(0x900, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */ 2262306a36Sopenharmony_ci AM4372_IOPAD(0x904, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */ 2362306a36Sopenharmony_ci AM4372_IOPAD(0x8f0, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */ 2462306a36Sopenharmony_ci AM4372_IOPAD(0x8f4, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */ 2562306a36Sopenharmony_ci AM4372_IOPAD(0x8f8, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */ 2662306a36Sopenharmony_ci AM4372_IOPAD(0x8fc, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */ 2762306a36Sopenharmony_ci AM4372_IOPAD(0x960, PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */ 2862306a36Sopenharmony_ci AM4372_IOPAD(0x964, PIN_INPUT | MUX_MODE7) /* ecap0_in_pwm0_out.gpio0_7 */ 2962306a36Sopenharmony_ci >; 3062306a36Sopenharmony_ci }; 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci dss_pinctrl_default: dss-pinctrl-default-pins { 3362306a36Sopenharmony_ci pinctrl-single,pins = < 3462306a36Sopenharmony_ci AM4372_IOPAD(0x9b0, PIN_OUTPUT_PULLUP | MUX_MODE2) /* cam0 hd -> DSS DATA 23 */ 3562306a36Sopenharmony_ci AM4372_IOPAD(0x9b4, PIN_OUTPUT_PULLUP | MUX_MODE2) 3662306a36Sopenharmony_ci AM4372_IOPAD(0x9b8, PIN_OUTPUT_PULLUP | MUX_MODE2) 3762306a36Sopenharmony_ci AM4372_IOPAD(0x9bc, PIN_OUTPUT_PULLUP | MUX_MODE2) 3862306a36Sopenharmony_ci AM4372_IOPAD(0x9c0, PIN_OUTPUT_PULLUP | MUX_MODE2) 3962306a36Sopenharmony_ci AM4372_IOPAD(0x9c4, PIN_OUTPUT_PULLUP | MUX_MODE2) 4062306a36Sopenharmony_ci AM4372_IOPAD(0x9c8, PIN_OUTPUT_PULLUP | MUX_MODE2) 4162306a36Sopenharmony_ci AM4372_IOPAD(0x9cc, PIN_OUTPUT_PULLUP | MUX_MODE2) /* cam1 data 9 -> DSS DATA 16 */ 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci AM4372_IOPAD(0x8a0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 0 */ 4462306a36Sopenharmony_ci AM4372_IOPAD(0x8a4, PIN_OUTPUT_PULLUP | MUX_MODE0) 4562306a36Sopenharmony_ci AM4372_IOPAD(0x8a8, PIN_OUTPUT_PULLUP | MUX_MODE0) 4662306a36Sopenharmony_ci AM4372_IOPAD(0x8ac, PIN_OUTPUT_PULLUP | MUX_MODE0) 4762306a36Sopenharmony_ci AM4372_IOPAD(0x8b0, PIN_OUTPUT_PULLUP | MUX_MODE0) 4862306a36Sopenharmony_ci AM4372_IOPAD(0x8b4, PIN_OUTPUT_PULLUP | MUX_MODE0) 4962306a36Sopenharmony_ci AM4372_IOPAD(0x8b8, PIN_OUTPUT_PULLUP | MUX_MODE0) 5062306a36Sopenharmony_ci AM4372_IOPAD(0x8bc, PIN_OUTPUT_PULLUP | MUX_MODE0) 5162306a36Sopenharmony_ci AM4372_IOPAD(0x8c0, PIN_OUTPUT_PULLUP | MUX_MODE0) 5262306a36Sopenharmony_ci AM4372_IOPAD(0x8c4, PIN_OUTPUT_PULLUP | MUX_MODE0) 5362306a36Sopenharmony_ci AM4372_IOPAD(0x8c8, PIN_OUTPUT_PULLUP | MUX_MODE0) 5462306a36Sopenharmony_ci AM4372_IOPAD(0x8cc, PIN_OUTPUT_PULLUP | MUX_MODE0) 5562306a36Sopenharmony_ci AM4372_IOPAD(0x8d0, PIN_OUTPUT_PULLUP | MUX_MODE0) 5662306a36Sopenharmony_ci AM4372_IOPAD(0x8d4, PIN_OUTPUT_PULLUP | MUX_MODE0) 5762306a36Sopenharmony_ci AM4372_IOPAD(0x8d8, PIN_OUTPUT_PULLUP | MUX_MODE0) 5862306a36Sopenharmony_ci AM4372_IOPAD(0x8dc, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS DATA 15 */ 5962306a36Sopenharmony_ci AM4372_IOPAD(0x8e0, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS VSYNC */ 6062306a36Sopenharmony_ci AM4372_IOPAD(0x8e4, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS HSYNC */ 6162306a36Sopenharmony_ci AM4372_IOPAD(0x8e8, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS PCLK */ 6262306a36Sopenharmony_ci AM4372_IOPAD(0x8ec, PIN_OUTPUT_PULLUP | MUX_MODE0) /* DSS AC BIAS EN */ 6362306a36Sopenharmony_ci AM4372_IOPAD(0xa20, PIN_OUTPUT_PULLUP | MUX_MODE7) 6462306a36Sopenharmony_ci >; 6562306a36Sopenharmony_ci }; 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci uart0_pins_default: uart0-default-pins { 6862306a36Sopenharmony_ci pinctrl-single,pins = < 6962306a36Sopenharmony_ci AM4372_IOPAD(0x968, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0) 7062306a36Sopenharmony_ci AM4372_IOPAD(0x96C, DS0_PULL_UP_DOWN_EN | INPUT_EN | MUX_MODE0) 7162306a36Sopenharmony_ci AM4372_IOPAD(0x970, PIN_INPUT_PULLUP | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart0_rxd.uart0_rxd */ 7262306a36Sopenharmony_ci AM4372_IOPAD(0x974, PIN_INPUT | PULL_DISABLE | SLEWCTRL_FAST | DS0_PULL_UP_DOWN_EN | MUX_MODE0) /* uart0_txd.uart0_txd */ 7362306a36Sopenharmony_ci >; 7462306a36Sopenharmony_ci }; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci i2c1_pins: i2c1-pins { 7762306a36Sopenharmony_ci pinctrl-single,pins = < 7862306a36Sopenharmony_ci AM4372_IOPAD(0xa6c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1) /* spi2_cs0.i2c1_sda */ 7962306a36Sopenharmony_ci AM4372_IOPAD(0xa60, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE1) /* spi2_sclk.i2c1_scl */ 8062306a36Sopenharmony_ci >; 8162306a36Sopenharmony_ci }; 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci i2c2_pins: i2c2-pins { 8462306a36Sopenharmony_ci pinctrl-single,pins = < 8562306a36Sopenharmony_ci AM4372_IOPAD(0x978, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE3) /* uart1_ctsn.i2c2_sda */ 8662306a36Sopenharmony_ci AM4372_IOPAD(0x97c, PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE3) /* uart1_rtsn.i2c2_scl */ 8762306a36Sopenharmony_ci >; 8862306a36Sopenharmony_ci }; 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci usb2_phy1_default: usb2-phy1-default-pins { 9162306a36Sopenharmony_ci pinctrl-single,pins = < 9262306a36Sopenharmony_ci AM4372_IOPAD(0xac0, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0) 9362306a36Sopenharmony_ci >; 9462306a36Sopenharmony_ci }; 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci usb2_phy2_default: usb2-phy2-default-pins { 9762306a36Sopenharmony_ci pinctrl-single,pins = < 9862306a36Sopenharmony_ci AM4372_IOPAD(0xac4, DS0_PULL_UP_DOWN_EN | PIN_INPUT_PULLDOWN | MUX_MODE0) 9962306a36Sopenharmony_ci >; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci}; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci&i2c1 { 10462306a36Sopenharmony_ci status = "okay"; 10562306a36Sopenharmony_ci pinctrl-names = "default"; 10662306a36Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci pca9555: pca9555@20 { 10962306a36Sopenharmony_ci compatible = "nxp,pca9555"; 11062306a36Sopenharmony_ci reg = <0x20>; 11162306a36Sopenharmony_ci gpio-controller; 11262306a36Sopenharmony_ci #gpio-cells = <2>; 11362306a36Sopenharmony_ci }; 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci eeprom_base: at24@50 { 11662306a36Sopenharmony_ci compatible = "atmel,24c02"; 11762306a36Sopenharmony_ci reg = <0x50>; 11862306a36Sopenharmony_ci pagesize = <16>; 11962306a36Sopenharmony_ci }; 12062306a36Sopenharmony_ci}; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci&i2c2 { 12362306a36Sopenharmony_ci status = "okay"; 12462306a36Sopenharmony_ci pinctrl-names = "default"; 12562306a36Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 12662306a36Sopenharmony_ci}; 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci&mmc1 { 12962306a36Sopenharmony_ci status = "okay"; 13062306a36Sopenharmony_ci bus-width = <4>; 13162306a36Sopenharmony_ci pinctrl-names = "default"; 13262306a36Sopenharmony_ci pinctrl-0 = <&mmc1_pins>; 13362306a36Sopenharmony_ci vmmc-supply = <&vsb_3v3>; 13462306a36Sopenharmony_ci cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; 13562306a36Sopenharmony_ci wp-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; 13662306a36Sopenharmony_ci}; 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci&dss { 13962306a36Sopenharmony_ci status = "okay"; 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci pinctrl-names = "default"; 14262306a36Sopenharmony_ci pinctrl-0 = <&dss_pinctrl_default>; 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ci port { 14562306a36Sopenharmony_ci dpi_lcd_out: endpoint { 14662306a36Sopenharmony_ci remote-endpoint = <&lcd_in>; 14762306a36Sopenharmony_ci data-lines = <24>; 14862306a36Sopenharmony_ci }; 14962306a36Sopenharmony_ci }; 15062306a36Sopenharmony_ci}; 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ci&uart0 { 15362306a36Sopenharmony_ci pinctrl-names = "default"; 15462306a36Sopenharmony_ci pinctrl-0 = <&uart0_pins_default>; 15562306a36Sopenharmony_ci}; 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci&dwc3_1 { 15862306a36Sopenharmony_ci pinctrl-names = "default"; 15962306a36Sopenharmony_ci pinctrl-0 = <&usb2_phy1_default>; 16062306a36Sopenharmony_ci}; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci&dwc3_2 { 16362306a36Sopenharmony_ci pinctrl-names = "default"; 16462306a36Sopenharmony_ci pinctrl-0 = <&usb2_phy2_default>; 16562306a36Sopenharmony_ci}; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci&lcd0 { 16862306a36Sopenharmony_ci enable-gpios = <&pca9555 14 GPIO_ACTIVE_HIGH 16962306a36Sopenharmony_ci &gpio4 28 GPIO_ACTIVE_HIGH>; 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci port { 17262306a36Sopenharmony_ci lcd_in: endpoint { 17362306a36Sopenharmony_ci remote-endpoint = <&dpi_lcd_out>; 17462306a36Sopenharmony_ci data-lines = <24>; 17562306a36Sopenharmony_ci }; 17662306a36Sopenharmony_ci }; 17762306a36Sopenharmony_ci}; 178