0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Copyright (C) 2018 MOXA Inc. - https://www.moxa.com/
0004 *
0005 * Authors: SZ Lin (林上智) <sz.lin@moxa.com>
0006 * Wes Huang (黃淵河) <wes.huang@moxa.com>
0007 * Fero JD Zhou (周俊達) <FeroJD.Zhou@moxa.com>
0008 */
0009
0010 #include "am33xx.dtsi"
0011
0012 / {
0013 vbat: vbat-regulator {
0014 compatible = "regulator-fixed";
0015 };
0016
0017 /* Power supply provides a fixed 3.3V @3A */
0018 vmmcsd_fixed: vmmcsd-regulator {
0019 compatible = "regulator-fixed";
0020 regulator-name = "vmmcsd_fixed";
0021 regulator-min-microvolt = <3300000>;
0022 regulator-max-microvolt = <3300000>;
0023 regulator-boot-on;
0024 };
0025
0026 buttons: push_button {
0027 compatible = "gpio-keys";
0028 };
0029 };
0030
0031 &am33xx_pinmux {
0032 pinctrl-names = "default";
0033
0034 i2c0_pins: pinmux_i2c0_pins {
0035 pinctrl-single,pins = <
0036 AM33XX_PADCONF(AM335X_PIN_I2C0_SDA, PIN_INPUT_PULLUP, MUX_MODE0)
0037 AM33XX_PADCONF(AM335X_PIN_I2C0_SCL, PIN_INPUT_PULLUP, MUX_MODE0)
0038 >;
0039 };
0040
0041 push_button_pins: pinmux_push_button {
0042 pinctrl-single,pins = <
0043 AM33XX_PADCONF(AM335X_PIN_LCD_HSYNC, PIN_INPUT_PULLDOWN, MUX_MODE7) /* lcd_hsync.gpio2_23 */
0044 >;
0045 };
0046
0047 uart0_pins: pinmux_uart0_pins {
0048 pinctrl-single,pins = <
0049 AM33XX_PADCONF(AM335X_PIN_UART0_RXD, PIN_INPUT_PULLUP, MUX_MODE0)
0050 AM33XX_PADCONF(AM335X_PIN_UART0_TXD, PIN_OUTPUT_PULLDOWN, MUX_MODE0)
0051 >;
0052 };
0053
0054 davinci_mdio_default: davinci_mdio_default {
0055 pinctrl-single,pins = <
0056 /* MDIO */
0057 AM33XX_PADCONF(AM335X_PIN_MDIO, PIN_INPUT_PULLUP | SLEWCTRL_FAST, MUX_MODE0)
0058 AM33XX_PADCONF(AM335X_PIN_MDC, PIN_OUTPUT_PULLUP, MUX_MODE0)
0059 >;
0060 };
0061
0062 mmc1_pins_default: pinmux_mmc1_pins {
0063 pinctrl-single,pins = <
0064 /* eMMC */
0065 AM33XX_PADCONF(AM335X_PIN_GPMC_AD0, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad12.mmc1_dat0 */
0066 AM33XX_PADCONF(AM335X_PIN_GPMC_AD1, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad13.mmc1_dat1 */
0067 AM33XX_PADCONF(AM335X_PIN_GPMC_AD2, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad14.mmc1_dat2 */
0068 AM33XX_PADCONF(AM335X_PIN_GPMC_AD3, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad15.mmc1_dat3 */
0069 AM33XX_PADCONF(AM335X_PIN_GPMC_AD4, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad8.mmc1_dat4 */
0070 AM33XX_PADCONF(AM335X_PIN_GPMC_AD5, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad9.mmc1_dat5 */
0071 AM33XX_PADCONF(AM335X_PIN_GPMC_AD6, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad10.mmc1_dat6 */
0072 AM33XX_PADCONF(AM335X_PIN_GPMC_AD7, PIN_INPUT_PULLUP, MUX_MODE1) /* gpmc_ad11.mmc1_dat7 */
0073 AM33XX_PADCONF(AM335X_PIN_GPMC_CSN2, PIN_INPUT_PULLUP, MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
0074 AM33XX_PADCONF(AM335X_PIN_GPMC_CSN1, PIN_INPUT_PULLUP, MUX_MODE2) /* gpmc_csn1.mmc1_clk */
0075 >;
0076 };
0077
0078 spi0_pins: pinmux_spi0 {
0079 pinctrl-single,pins = <
0080 AM33XX_PADCONF(AM335X_PIN_SPI0_SCLK, PIN_INPUT_PULLUP, MUX_MODE0)
0081 AM33XX_PADCONF(AM335X_PIN_SPI0_CS0, PIN_INPUT_PULLUP, MUX_MODE0)
0082 AM33XX_PADCONF(AM335X_PIN_SPI0_D0, PIN_INPUT_PULLUP, MUX_MODE0)
0083 AM33XX_PADCONF(AM335X_PIN_SPI0_D1, PIN_INPUT_PULLUP, MUX_MODE0)
0084 >;
0085 };
0086 };
0087
0088 &uart0 {
0089 /* Console */
0090 status = "okay";
0091 pinctrl-names = "default";
0092 pinctrl-0 = <&uart0_pins>;
0093 };
0094
0095 &i2c0 {
0096 pinctrl-names = "default";
0097 pinctrl-0 = <&i2c0_pins>;
0098
0099 status = "okay";
0100 clock-frequency = <400000>;
0101
0102 eeprom: eeprom@50 {
0103 compatible = "atmel,24c16";
0104 pagesize = <16>;
0105 reg = <0x50>;
0106 };
0107
0108 rtc_wdt: rtc_wdt@68 {
0109 compatible = "dallas,ds1374";
0110 reg = <0x68>;
0111 };
0112 };
0113
0114 &usb0 {
0115 dr_mode = "host";
0116 };
0117
0118 /* Power */
0119 &vbat {
0120 regulator-name = "vbat";
0121 regulator-min-microvolt = <5000000>;
0122 regulator-max-microvolt = <5000000>;
0123 };
0124
0125 &mac_sw {
0126 pinctrl-names = "default";
0127 pinctrl-0 = <&cpsw_default>;
0128 status = "okay";
0129 };
0130
0131 &davinci_mdio_sw {
0132 pinctrl-names = "default";
0133 pinctrl-0 = <&davinci_mdio_default>;
0134 status = "okay";
0135 };
0136
0137 &cpsw_port1 {
0138 ti,dual-emac-pvid = <1>;
0139 };
0140
0141 &cpsw_port2 {
0142 ti,dual-emac-pvid = <2>;
0143 };
0144
0145 &sham {
0146 status = "okay";
0147 };
0148
0149 &aes {
0150 status = "okay";
0151 };
0152
0153 &gpio0_target {
0154 ti,no-reset-on-init;
0155 };
0156
0157 &mmc2 {
0158 pinctrl-names = "default";
0159 vmmc-supply = <&vmmcsd_fixed>;
0160 bus-width = <8>;
0161 pinctrl-0 = <&mmc1_pins_default>;
0162 non-removable;
0163 status = "okay";
0164 };
0165
0166 &buttons {
0167 pinctrl-names = "default";
0168 pinctrl-0 = <&push_button_pins>;
0169
0170 button-0 {
0171 label = "push_button";
0172 linux,code = <0x100>;
0173 gpios = <&gpio2 23 GPIO_ACTIVE_LOW>;
0174 };
0175 };
0176
0177 /* SPI Busses */
0178 &spi0 {
0179 status = "okay";
0180 pinctrl-names = "default";
0181 pinctrl-0 = <&spi0_pins>;
0182
0183 flash@0 {
0184 compatible = "mx25l6405d";
0185 spi-max-frequency = <40000000>;
0186
0187 reg = <0>;
0188 spi-cpol;
0189 spi-cpha;
0190
0191 partitions {
0192 compatible = "fixed-partitions";
0193 #address-cells = <1>;
0194 #size-cells = <1>;
0195
0196 /* reg : The partition's offset and size within the mtd bank. */
0197 partitions@0 {
0198 label = "MLO";
0199 reg = <0x0 0x80000>;
0200 };
0201
0202 partitions@1 {
0203 label = "U-Boot";
0204 reg = <0x80000 0x100000>;
0205 };
0206
0207 partitions@2 {
0208 label = "U-Boot Env";
0209 reg = <0x180000 0x40000>;
0210 };
0211 };
0212 };
0213 };
0214
0215 &spi1 {
0216 status = "okay";
0217 pinctrl-names = "default";
0218 pinctrl-0 = <&spi1_pins>;
0219
0220 tpm_spi_tis@0 {
0221 compatible = "tcg,tpm_tis-spi";
0222 reg = <0>;
0223 spi-max-frequency = <500000>;
0224 };
0225 };