1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /* Copyright (c) 2023, Mohammad Sayful Islam <Sayf.mohammad01@gmail.com> */
4 #include "ipq8074.dtsi"
5 #include "ipq8074-ac-cpu.dtsi"
6 #include "ipq8074-ess.dtsi"
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/input/input.h>
9 #include <dt-bindings/leds/common.h>
14 serial0 = &blsp1_uart5;
15 serial1 = &blsp1_uart3;
17 * Aliases as required by u-boot
18 * to patch MAC addresses
24 led-boot = &led_system_blue;
25 led-running = &led_system_blue;
26 led-failsafe = &led_system_red;
27 led-upgrade = &led_system_green;
31 stdout-path = "serial0:115200n8";
32 bootargs-append = " root=/dev/ubiblock0_0";
36 compatible = "gpio-keys";
37 pinctrl-0 = <&button_pins>;
38 pinctrl-names = "default";
42 gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
43 linux,code = <KEY_RESTART>;
48 gpios = <&tlmm 67 GPIO_ACTIVE_LOW>;
49 linux,code = <KEY_WPS_BUTTON>;
55 button_pins: button-state {
56 pins = "gpio52", "gpio67";
62 mdio_pins: mdio-state {
96 pinctrl-0 = <&hsuart_pins &iot_pins>;
97 pinctrl-names = "default";
99 /* Silicon Labs EFR32MG21 IoT */
126 * Bootloader will find the NAND DT node by the compatible and
127 * then "fixup" it by adding the partitions from the SMEM table
128 * using the legacy bindings thus making it impossible for us
129 * to change the partition table or utilize NVMEM for calibration.
130 * So add a dummy partitions node that bootloader will populate
131 * and set it as disabled so the kernel ignores it instead of
132 * printing warnings due to the broken way bootloader adds the
141 nand-ecc-strength = <4>;
142 nand-ecc-step-size = <512>;
143 nand-bus-width = <8>;
146 compatible = "fixed-partitions";
147 #address-cells = <1>;
152 reg = <0x0 0x100000>;
158 reg = <0x100000 0x100000>;
163 label = "0:bootconfig";
164 reg = <0x200000 0x80000>;
169 label = "0:bootconfig1";
170 reg = <0x280000 0x80000>;
176 reg = <0x300000 0x300000>;
182 reg = <0x600000 0x300000>;
188 reg = <0x900000 0x80000>;
193 label = "0:devcfg_1";
194 reg = <0x980000 0x80000>;
200 reg = <0xa00000 0x80000>;
206 reg = <0xa80000 0x80000>;
212 reg = <0xb00000 0x80000>;
218 reg = <0xb80000 0x80000>;
224 reg = <0xc00000 0x80000>;
230 reg = <0xc80000 0x80000>;
235 label = "0:appsblenv";
236 reg = <0xd00000 0x80000>;
241 reg = <0xd80000 0x100000>;
246 label = "0:appsbl_1";
247 reg = <0xe80000 0x100000>;
253 reg = <0xf80000 0x80000>;
259 reg = <0x1000000 0x40000>;
264 reg = <0x1040000 0x20000>;
269 reg = <0x1060000 0x20000>;
275 reg = <0x1080000 0x9600000>;
280 reg = <0x1680000 0x9000000>;
284 label = "alt_kernel";
285 reg = <0xa680000 0x9600000>;
289 label = "alt_rootfs";
290 reg = <0xac80000 0x9000000>;
294 reg = <0x13c80000 0x200000>;
298 label = "0:ethphyfw";
299 reg = <0x13e80000 0x80000>;
304 reg = <0x13f00000 0xb800000>;
309 reg = <0x1f700000 0x900000>;
320 compatible = "nxp,pca9633";
321 #address-cells = <1>;
326 led_system_red: led@0 {
328 color = <LED_COLOR_ID_RED>;
329 function = LED_FUNCTION_STATUS;
332 led_system_green: led@1 {
334 color = <LED_COLOR_ID_GREEN>;
335 function = LED_FUNCTION_STATUS;
338 led_system_blue: led@2 {
340 color = <LED_COLOR_ID_BLUE>;
341 function = LED_FUNCTION_STATUS;
349 pinctrl-0 = <&mdio_pins>;
350 pinctrl-names = "default";
351 reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
353 ethernet-phy-package@0 {
354 #address-cells = <1>;
356 compatible = "qcom,qca8075-package";
359 qca8075_1: ethernet-phy@1 {
360 compatible = "ethernet-phy-ieee802.3-c22";
364 qca8075_2: ethernet-phy@2 {
365 compatible = "ethernet-phy-ieee802.3-c22";
369 qca8075_3: ethernet-phy@3 {
370 compatible = "ethernet-phy-ieee802.3-c22";
374 qca8075_4: ethernet-phy@4 {
375 compatible = "ethernet-phy-ieee802.3-c22";
384 switch_lan_bmp = <(ESS_PORT3 | ESS_PORT4 | ESS_PORT5)>; /* lan port bitmap */
385 switch_wan_bmp = <ESS_PORT2>; /* wan port bitmap */
386 switch_mac_mode = <MAC_MODE_PSGMII>; /* mac mode for uniphy instance0*/
414 phy-handle = <&qca8075_1>;
420 phy-handle = <&qca8075_2>;
426 phy-handle = <&qca8075_3>;
432 phy-handle = <&qca8075_4>;