// SPDX-License-Identifier: GPL-2.0-or-later OR MIT #include #include #include / { chosen { stdout-path = "serial0:9600n8"; }; memory@0 { device_type = "memory"; reg = <0x0 0x8000000>; }; leds: leds { compatible = "gpio-leds"; led-0 { gpios = <&gpio2 0 GPIO_ACTIVE_LOW>; color = ; function = LED_FUNCTION_FAULT; }; led-1 { gpios = <&gpio2 8 GPIO_ACTIVE_LOW>; color = ; function = LED_FUNCTION_INDICATOR; function-enumerator = <1>; }; led-2 { gpios = <&gpio2 9 GPIO_ACTIVE_LOW>; color = ; function = LED_FUNCTION_INDICATOR; function-enumerator = <2>; }; led-3 { gpios = <&gpio2 10 GPIO_ACTIVE_LOW>; color = ; function = LED_FUNCTION_INDICATOR; function-enumerator = <3>; }; led-4 { gpios = <&gpio2 11 GPIO_ACTIVE_LOW>; color = ; function = LED_FUNCTION_INDICATOR; function-enumerator = <4>; }; }; keys { compatible = "gpio-keys"; led_mode { label = "led-mode"; gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; linux,code = ; }; }; gpio-restart { compatible = "gpio-restart"; gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>; }; i2c_gpio_0: i2c-gpio-0 { compatible = "i2c-gpio"; i2c-gpio,delay-us = <2>; #address-cells = <1>; #size-cells = <0>; gpio1: gpio@20 { compatible = "nxp,pca9555"; reg = <0x20>; gpio-controller; #gpio-cells = <2>; }; gpio2: gpio@75 { compatible = "nxp,pca9539"; reg = <0x75>; gpio-controller; #gpio-cells = <2>; /* * GPIO14 (IO1_6): Shift Register RESET (port LED) * - Switch-M8eG PN28080K: 3x 74HC164 * - Switch-M16eG PN28160K: 4x 74HC164 * - Switch-M24eG PN28240K: 6x 74HC164 * - Switch-M48eG PN28480K: 12x 74HC164 */ portled_sregister_reset { gpio-hog; gpios = <14 GPIO_ACTIVE_HIGH>; output-high; line-name = "portled-sregister-reset"; }; }; }; i2c_gpio_1: i2c-gpio-1 { compatible = "i2c-gpio"; i2c-gpio,delay-us = <2>; #address-cells = <1>; #size-cells = <0>; i2c_switch: i2c-switch@70 { compatible = "nxp,pca9545"; reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; reg = <0x70>; #address-cells = <1>; #size-cells = <0>; }; }; }; &spi0 { status = "okay"; flash@0 { compatible = "jedec,spi-nor"; reg = <0>; spi-max-frequency = <10000000>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "u-boot"; reg = <0x0 0x80000>; read-only; }; partition@80000 { label = "u-boot-env"; reg = <0x80000 0x10000>; }; partition@90000 { label = "u-boot-env2"; reg = <0x90000 0x10000>; }; partition@a0000 { label = "sysinfo"; reg = <0xa0000 0x60000>; read-only; }; /* * Filesystem area in stock firmware * (0x100000-0x1DFFFFF) * * stock firmware images are required to pass * the checking by the U-Boot, also for OpenWrt * * in OpenWrt: * - 0x100000-0xDFFFFF (13M): stock images * - 0xE00000-0x1DFFFFF(16M): OpenWrt image */ partition@100000 { label = "fs_reserved"; reg = <0x100000 0xd00000>; }; partition@e00000 { compatible = "denx,uimage"; label = "firmware"; reg = <0xe00000 0x1000000>; }; partition@1e00000 { label = "vlog_data"; reg = <0x1e00000 0x100000>; read-only; }; partition@1f00000 { label = "elog_data"; reg = <0x1f00000 0x100000>; read-only; }; }; }; };