Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mips: dts: Add EcoNet DTS with EN751221 and SmartFiber XP8421-B board

Add DTS files in support of EcoNet platform, including SmartFiber XP8421-B,
a low cost commercially available board based on EN751221.

Signed-off-by: Caleb James DeLisle <cjd@cjdns.fr>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>

authored by

Caleb James DeLisle and committed by
Thomas Bogendoerfer
0ec48870 abc2d0bc

+100
+1
arch/mips/boot/dts/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 2 subdir-$(CONFIG_BMIPS_GENERIC) += brcm 3 3 subdir-$(CONFIG_CAVIUM_OCTEON_SOC) += cavium-octeon 4 + subdir-$(CONFIG_ECONET) += econet 4 5 subdir-$(CONFIG_EYEQ) += mobileye 5 6 subdir-$(CONFIG_FIT_IMAGE_FDT_MARDUK) += img 6 7 subdir-$(CONFIG_FIT_IMAGE_FDT_BOSTON) += img
+2
arch/mips/boot/dts/econet/Makefile
··· 1 + # SPDX-License-Identifier: GPL-2.0 2 + dtb-$(CONFIG_DTB_ECONET_SMARTFIBER_XP8421_B) += en751221_smartfiber_xp8421-b.dtb
+67
arch/mips/boot/dts/econet/en751221.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + /dts-v1/; 3 + 4 + / { 5 + compatible = "econet,en751221"; 6 + #address-cells = <1>; 7 + #size-cells = <1>; 8 + 9 + hpt_clock: clock { 10 + compatible = "fixed-clock"; 11 + #clock-cells = <0>; 12 + clock-frequency = <200000000>; /* 200 MHz */ 13 + }; 14 + 15 + cpus: cpus { 16 + #address-cells = <1>; 17 + #size-cells = <0>; 18 + 19 + cpu@0 { 20 + device_type = "cpu"; 21 + compatible = "mips,mips24KEc"; 22 + reg = <0>; 23 + }; 24 + }; 25 + 26 + cpuintc: interrupt-controller { 27 + compatible = "mti,cpu-interrupt-controller"; 28 + interrupt-controller; 29 + #address-cells = <0>; 30 + #interrupt-cells = <1>; 31 + }; 32 + 33 + intc: interrupt-controller@1fb40000 { 34 + compatible = "econet,en751221-intc"; 35 + reg = <0x1fb40000 0x100>; 36 + interrupt-parent = <&cpuintc>; 37 + interrupts = <2>; 38 + 39 + interrupt-controller; 40 + #interrupt-cells = <1>; 41 + econet,shadow-interrupts = <7 2>, <8 3>, <13 12>, <30 29>; 42 + }; 43 + 44 + uart: serial@1fbf0000 { 45 + compatible = "ns16550"; 46 + reg = <0x1fbf0000 0x30>; 47 + reg-io-width = <4>; 48 + reg-shift = <2>; 49 + interrupt-parent = <&intc>; 50 + interrupts = <0>; 51 + /* 52 + * Conversion of baud rate to clock frequency requires a 53 + * computation that is not in the ns16550 driver, so this 54 + * uart is fixed at 115200 baud. 55 + */ 56 + clock-frequency = <1843200>; 57 + }; 58 + 59 + timer_hpt: timer@1fbf0400 { 60 + compatible = "econet,en751221-timer"; 61 + reg = <0x1fbf0400 0x100>; 62 + 63 + interrupt-parent = <&intc>; 64 + interrupts = <30>; 65 + clocks = <&hpt_clock>; 66 + }; 67 + };
+19
arch/mips/boot/dts/econet/en751221_smartfiber_xp8421-b.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 + /dts-v1/; 3 + 4 + #include "en751221.dtsi" 5 + 6 + / { 7 + model = "SmartFiber XP8421-B"; 8 + compatible = "smartfiber,xp8421-b", "econet,en751221"; 9 + 10 + memory@0 { 11 + device_type = "memory"; 12 + reg = <0x00000000 0x1c000000>; 13 + }; 14 + 15 + chosen { 16 + stdout-path = "/serial@1fbf0000:115200"; 17 + linux,usable-memory-range = <0x00020000 0x1bfe0000>; 18 + }; 19 + };
+11
arch/mips/econet/Kconfig
··· 32 32 33 33 config DTB_ECONET_NONE 34 34 bool "None" 35 + 36 + config DTB_ECONET_SMARTFIBER_XP8421_B 37 + bool "EN751221 SmartFiber XP8421-B" 38 + depends on SOC_ECONET_EN751221 39 + select BUILTIN_DTB 40 + help 41 + The SmartFiber XP8421-B is a device based on the EN751221 SoC. 42 + It has 512MB of memory and 256MB of NAND flash. This kernel 43 + needs only an appended initramfs to boot. It can be loaded 44 + through XMODEM and booted from memory in the bootloader, or 45 + it can be packed in tclinux.trx format and written to flash. 35 46 endchoice 36 47 37 48 endif