xref: /linux/arch/arm/boot/dts/marvell/armada-xp-crs305-1g-4s.dtsi (revision 724ba6751532055db75992fc6ae21c3e322e94a7)
11b7b86f6SLuka Kovacic// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
21b7b86f6SLuka Kovacic/*
31b7b86f6SLuka Kovacic * Device Tree file for CRS305-1G-4S board
41b7b86f6SLuka Kovacic *
51b7b86f6SLuka Kovacic * Copyright (C) 2016 Allied Telesis Labs
61b7b86f6SLuka Kovacic * Copyright (C) 2020 Sartura Ltd.
71b7b86f6SLuka Kovacic *
81b7b86f6SLuka Kovacic * Based on armada-xp-db.dts
91b7b86f6SLuka Kovacic *
101b7b86f6SLuka Kovacic * Note: this Device Tree assumes that the bootloader has remapped the
111b7b86f6SLuka Kovacic * internal registers to 0xf1000000 (instead of the default
121b7b86f6SLuka Kovacic * 0xd0000000). The 0xf1000000 is the default used by the recent,
131b7b86f6SLuka Kovacic * DT-capable, U-Boot bootloaders provided by Marvell. Some earlier
141b7b86f6SLuka Kovacic * boards were delivered with an older version of the bootloader that
151b7b86f6SLuka Kovacic * left internal registers mapped at 0xd0000000. If you are in this
161b7b86f6SLuka Kovacic * situation, you should either update your bootloader (preferred
171b7b86f6SLuka Kovacic * solution) or the below Device Tree should be adjusted.
181b7b86f6SLuka Kovacic */
191b7b86f6SLuka Kovacic
201b7b86f6SLuka Kovacic/dts-v1/;
211b7b86f6SLuka Kovacic#include "armada-xp-98dx3236.dtsi"
221b7b86f6SLuka Kovacic
231b7b86f6SLuka Kovacic/ {
241b7b86f6SLuka Kovacic	model = "CRS305-1G-4S+";
251b7b86f6SLuka Kovacic	compatible = "mikrotik,crs305-1g-4s", "marvell,armadaxp-98dx3236", "marvell,armada-370-xp";
261b7b86f6SLuka Kovacic
271b7b86f6SLuka Kovacic	chosen {
281b7b86f6SLuka Kovacic		bootargs = "console=ttyS0,115200 earlyprintk";
291b7b86f6SLuka Kovacic	};
301b7b86f6SLuka Kovacic
311b7b86f6SLuka Kovacic	memory {
321b7b86f6SLuka Kovacic		device_type = "memory";
331b7b86f6SLuka Kovacic		reg = <0 0x00000000 0 0x20000000>; /* 512 MB */
341b7b86f6SLuka Kovacic	};
351b7b86f6SLuka Kovacic};
361b7b86f6SLuka Kovacic
371b7b86f6SLuka Kovacic&L2 {
381b7b86f6SLuka Kovacic	arm,parity-enable;
391b7b86f6SLuka Kovacic	marvell,ecc-enable;
401b7b86f6SLuka Kovacic};
411b7b86f6SLuka Kovacic
421b7b86f6SLuka Kovacic&devbus_bootcs {
431b7b86f6SLuka Kovacic	status = "okay";
441b7b86f6SLuka Kovacic
451b7b86f6SLuka Kovacic	/* Device Bus parameters are required */
461b7b86f6SLuka Kovacic
471b7b86f6SLuka Kovacic	/* Read parameters */
481b7b86f6SLuka Kovacic	devbus,bus-width    = <16>;
491b7b86f6SLuka Kovacic	devbus,turn-off-ps  = <60000>;
501b7b86f6SLuka Kovacic	devbus,badr-skew-ps = <0>;
511b7b86f6SLuka Kovacic	devbus,acc-first-ps = <124000>;
521b7b86f6SLuka Kovacic	devbus,acc-next-ps  = <248000>;
531b7b86f6SLuka Kovacic	devbus,rd-setup-ps  = <0>;
541b7b86f6SLuka Kovacic	devbus,rd-hold-ps   = <0>;
551b7b86f6SLuka Kovacic
561b7b86f6SLuka Kovacic	/* Write parameters */
571b7b86f6SLuka Kovacic	devbus,sync-enable = <0>;
581b7b86f6SLuka Kovacic	devbus,wr-high-ps  = <60000>;
591b7b86f6SLuka Kovacic	devbus,wr-low-ps   = <60000>;
601b7b86f6SLuka Kovacic	devbus,ale-wr-ps   = <60000>;
611b7b86f6SLuka Kovacic};
621b7b86f6SLuka Kovacic
631b7b86f6SLuka Kovacic&uart0 {
641b7b86f6SLuka Kovacic	status = "okay";
651b7b86f6SLuka Kovacic};
661b7b86f6SLuka Kovacic
671b7b86f6SLuka Kovacic&uart1 {
681b7b86f6SLuka Kovacic	status = "okay";
691b7b86f6SLuka Kovacic};
701b7b86f6SLuka Kovacic
711b7b86f6SLuka Kovacic&i2c0 {
721b7b86f6SLuka Kovacic	clock-frequency = <100000>;
731b7b86f6SLuka Kovacic	status = "okay";
741b7b86f6SLuka Kovacic};
751b7b86f6SLuka Kovacic
761b7b86f6SLuka Kovacic&usb0 {
771b7b86f6SLuka Kovacic	status = "okay";
781b7b86f6SLuka Kovacic};
791b7b86f6SLuka Kovacic
801b7b86f6SLuka Kovacic&spi0 {
811b7b86f6SLuka Kovacic	status = "okay";
821b7b86f6SLuka Kovacic
83*89e73afcSKrzysztof Kozlowski	flash@0 {
841b7b86f6SLuka Kovacic		#address-cells = <1>;
851b7b86f6SLuka Kovacic		#size-cells = <1>;
861b7b86f6SLuka Kovacic		compatible = "jedec,spi-nor";
871b7b86f6SLuka Kovacic		reg = <0>; /* Chip select 0 */
881b7b86f6SLuka Kovacic		spi-max-frequency = <108000000>;
891b7b86f6SLuka Kovacic		m25p,fast-read;
901b7b86f6SLuka Kovacic
911b7b86f6SLuka Kovacic		partition@u-boot {
921b7b86f6SLuka Kovacic			reg = <0x00000000 0x001f0000>;
931b7b86f6SLuka Kovacic			label = "u-boot";
941b7b86f6SLuka Kovacic		};
951b7b86f6SLuka Kovacic		partition@u-boot-env {
961b7b86f6SLuka Kovacic			reg = <0x001f0000 0x00010000>;
971b7b86f6SLuka Kovacic			label = "u-boot-env";
981b7b86f6SLuka Kovacic		};
991b7b86f6SLuka Kovacic		partition@ubi1 {
1001b7b86f6SLuka Kovacic			reg = <0x00200000 0x00e00000>;
1011b7b86f6SLuka Kovacic			label = "ubi1";
1021b7b86f6SLuka Kovacic		};
1031b7b86f6SLuka Kovacic	};
1041b7b86f6SLuka Kovacic};
105