// SPDX-License-Identifier: (GPL-2.0+ OR MIT) /dts-v1/; #include #include #include "ac5-98dx35xx.dtsi" / { model = "Allied Telesis x240"; compatible = "alliedtelesis,x240", "marvell,ac5x", "marvell,ac5"; aliases { serial0 = &uart0; spiflash0 = &spiflash0; gpio0 = &gpio0; gpio1 = &gpio1; spi0 = &spi0; i2c0 = &i2cgpio; usb0 = &usb0; pinctrl0 = &pinctrl0; }; chosen { stdout-path = "serial0:115200n8"; }; boot-board { compatible = "atl,boot-board"; present-gpio = <&gpio1 6 GPIO_ACTIVE_HIGH>; override-gpio = <&gpio1 2 GPIO_ACTIVE_HIGH>; }; gpio-leds { compatible = "gpio-leds"; fault { label = "fault:red"; gpios = <&system_gpio 11 GPIO_ACTIVE_LOW>; default-state = "on"; }; }; i2cgpio: i2c-gpio-0 { compatible = "i2c-gpio"; #address-cells = <1>; #size-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&i2c0_gpio>; scl-gpios = <&gpio0 26 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; sda-gpios = <&gpio0 27 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; i2c-gpio,delay-us = <2>; status = "okay"; }; }; &nand { pinctrl-names = "default"; pinctrl-0 = <&nand_pins>; nand-ecc-strength = <4>; nand-ecc-step-size = <512>; status = "okay"; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@user { reg = <0x00000000 0x10000000>; label = "user"; }; }; }; &uart0 { status = "okay"; }; &usb0 { status = "okay"; }; &i2cgpio { mux@71 { #address-cells = <1>; #size-cells = <0>; compatible = "nxp,pca9546"; reg = <0x71>; i2c-mux-idle-disconnect; reset-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>; /* MPP36 */ status = "okay"; i2c@1 { #address-cells = <1>; #size-cells = <0>; reg = <1>; hwmon@2e { compatible = "adi,adt7476"; reg = <0x2e>; }; rtc@68 { compatible = "adi,max31331"; reg = <0x68>; }; system_gpio: gpio@27 { compatible = "nxp,pca9555"; gpio-controller; #gpio-cells= <2>; reg = <0x27>; interrupt-parent = <&gpio0>; interrupts = <25 IRQ_TYPE_LEVEL_LOW>; /* MPP25 */ }; }; }; }; &spi0 { status = "okay"; spiflash0: flash@0 { compatible = "jedec,spi-nor"; spi-max-frequency = <50000000>; spi-tx-bus-width = <1>; /* 1-single, 2-dual, 4-quad */ spi-rx-bus-width = <1>; /* 1-single, 2-dual, 4-quad */ reg = <0>; #address-cells = <1>; #size-cells = <1>; }; }; &gpio0 { phy-reset { gpio-hog; gpios = <19 GPIO_ACTIVE_LOW>; output-high; line-name = "phy-reset"; }; usb-en { gpio-hog; gpios = <28 GPIO_ACTIVE_HIGH>; output-high; line-name = "usb-en"; }; led-oe-n { gpio-hog; gpios = <23 GPIO_ACTIVE_LOW>; output-low; line-name = "led-oe-n"; }; }; &gpio1 { nand-protect { gpio-hog; gpios = <8 GPIO_ACTIVE_LOW>; output-low; line-name = "nand-protect"; }; }; &pinctrl0 { /* * MPP Bus: MPP# * NF_IO [0-7] * NF_Wen [8] * NF_ALE [9] * NF_CLE [10] * NF_Cen [11] * QSPI_SCK/SPI0_SCK [12] * QSPI_CSn/SPI0_CSn [13] * QSPI_DIO[0]/SPI0_MOSI [14] * QSPI_DIO[1]/SPI0_MISO [15] * NF_Ren [16] * NF_RBn [17] * WD_INTn [18] * B_B_OVRIDE_N [19] * GREEN_SW_N [20] * PHY_INT_N[0] [21] * SPI_WPn [22] * LED_OE_N [23] * USB_PWR_FLT_N [24] * SFP_INT_N [25] * I2C0_SCL [26] (GPIO) * I2C0_SDA [27] (GPIO) * USB_EN [28] * MONITOR_INT_N [29] * XM1_MDC [30] * XM1_MDIO [31] * UA0_RXD [32] * UA0_TXD [33] * PHY_RST0n [34] * TPM_INT_N [35] * I2CMUX_RESET_N [36] * SPI_SRAM_SEL_N [37] * B_B_PRESENT [38] * SPI_FLASH_SEL_N [39] * NF_WP_N [40] * POE_INT_N [41] * PoE_RST_N [42] * LED0_CLK [43] * LED0_STB [44] * LED0_DATA [45] */ /* 0 1 2 3 4 5 6 7 8 9 */ pin-func = < 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 1 1 1 1 0xff 0xff 0 0 0 0 0 0 0 0 0xff 0xff 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 >; nand_pins: nand-pins { marvell,pins = <0 1 2 3 4 5 6 7 8 9 10 11 16 17>; marvell,function = <2>; }; i2c0_gpio: i2c0-gpio-pins { marvell,pins = <26 27>; marvell,function = <0>; }; };