Commit Graph

20 Commits

Author SHA1 Message Date
Petr Štetiar
b5bd945733 rtl838x: add support for D-Link DGS-1210-28
Hardware specification
 ----------------------

 * RTL8382M SoC, 1 MIPS 4KEc core @ 500MHz
 * 128MB DRAM
 * 32MB NOR Flash (MX25L25635E)
 * 24 x 10/100/1000BASE-T ports
    - Internal PHY with 8 ports (RTL8218B)
    - Two external PHYs with 8 ports each (RTL8218B)
 * 4 x Gigabit RJ45/SFP Combo ports
    - External PHY with 4 SFP ports (RTL8214FC)
 * Power LED
 * Reset button on front panel
 * UART (115200 8N1) via unpopulated standard 0.1" pin header marked J6

 UART pinout
 -----------

  [oooo]J3 [o]ooo|J6
    |       ^ ||`------ GND
    |       | |`------- RX
    |       | `-------- TX
    |       `---------- Vcc (3V3)
    |
    `------------------ J3 is power input connector nearby J6 UART

 Boot initramfs image from U-Boot
 --------------------------------

  1. Press Escape key during `Hit Esc key to stop autoboot` prompt
  2. Press CTRL+C keys to get into real U-Boot prompt
  3. Init network with `rtk network on` command
  4. Load image with `tftpboot 0x8f000000 openwrt-rtl838x-generic-d-link_dgs-1210-28-initramfs-kernel.bin` command
  5. Boot the image with `bootm` command

To install, upload the sysupgrade image to the OEM webpage or sysupgrade
from the system running from initramfs image.

It has been developed and tested on device with F1 revision.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-11-09 09:14:02 +01:00
Petr Štetiar
aeb26f8434 rtl838x: d-link_dgs-1210: refactor common family bits
So the common bits can be easily shared with other boards in the family
and while at it add missing SPDX license identifiers into the DTS files
and fixed alphabetic sorting of the devices in the images.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-11-09 09:14:02 +01:00
Petr Štetiar
b1b8abaf58 rtl838x: clean whitespace issues in rtl8382_d-link_dgs-1210-16.dts
So it's tidy.

Signed-off-by: Petr Štetiar <ynezz@true.cz>
2020-11-09 09:14:02 +01:00
John Crispin
f5772d71a4 rtl838x: remove the swconfig setup from the board.d code
the code currently sets up uci for swconfig which we do not use.

Signed-off-by: John Crispin <john@phrozen.org>
2020-11-03 17:46:40 +01:00
John Crispin
c78e123d5a rtl838x: various fixes
* add d-link_dgs-1210-10p support
* make sure mips16 is disabled
* add a generic sub target
* add proper cflags

Signed-off-by: John Crispin <john@phrozen.org>
2020-10-19 14:53:27 +02:00
Adrian Schmutzler
dec4a028ab rtl838x: remove model name from LED labels
Like in the previous patches for various targets, this removes
the "devicename" from LED labels in rtl838x, as it's useless and
only creates complexity.

Since the target is fresh and so far only system LEDs were added,
this does not add a migration script.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-10-15 17:54:31 +02:00
Adrian Schmutzler
a49c1aa883 rtl838x: move dts-v1 to DTSI
The syntax of the shared SoC DTSI file determines the DTS version,
so no need to repeat the "/dts-v1/;" identifier in every file.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-10-15 17:51:42 +02:00
John Crispin
479d1154c4 rtl838x: add DLink DGS-1210-16 support
Signed-off-by: John Crispin <john@phrozen.org>
2020-10-15 13:36:10 +02:00
Birger Koblitz
076fdd9fec rtl838x: Fix firmware handling
Fix wrong magic number verification for FW files.
Correct handling of external RTL8218B firmware PHY name in firmware.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
2020-10-15 13:26:57 +02:00
Andreas Oberritter
f422488337 rtl838x: do not default to the router DEVICE_TYPE
The router profile installs many packages unnecessary for
the operation of a typical ethernet switch. Instead of creating
an empty switch profile upfront, use the basic profile until
a set of common packages crystallizes.

Signed-off-by: Andreas Oberritter <obi@saftware.de>
2020-10-15 08:32:31 +02:00
Andreas Oberritter
0c26c9395b rtl838x: bundle phy firmware with Linux kernel
Fixes long delay on boot when booting from flash. The driver waits
for one minute for userspace to load firmware, before it becomes
available.

Signed-off-by: Andreas Oberritter <obi@saftware.de>
2020-10-15 08:32:31 +02:00
Birger Koblitz
121ef9ddc9 rtl838x: Add support for RTL839x internal PHY
This adds basic support for reading the internal PHYs of the RTL839x SoCs
and full support for the 2 PHYs connected to the 1000Base-X SerDes of
the RTL8393 SoC.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
2020-10-15 08:32:23 +02:00
Birger Koblitz
3c4063f715 rtl838x: Add irq settings for RTL839x SoCs
This adds correct interrupt routing settings for IRQs on the RTL839x SoCs.
It also speeds up irq handling based on work by biot for all SoCs.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
2020-10-15 08:23:46 +02:00
Adrian Schmutzler
0cfdc7d446 target: update SPDX license names
SPDX moved from GPL-2.0 to GPL-2.0-only and from GPL-2.0+ to
GPL-2.0-or-later. Reflect that in the SPDX license headers.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-09-22 20:58:26 +02:00
John Audia
770a9c6787 kernel: bump 5.4 to 5.4.66
All modifications made by update_kernel.sh/no manual intervention needed

Run-tested: ipq806x (R7800), ath79 (Archer C7v5), x86/64

No dmesg regressions, everything appears functional

Signed-off-by: John Audia <graysky@archlinux.us>
[add run test from PR]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-09-19 12:41:29 +02:00
Adrian Schmutzler
300173950d rtl838x: fix incorrect assignment from kstrtoul in serial.c
Assign return value of kstrtoul to error variable instead of
conversion value.

Suggested-by: Birger Koblitz <git@birger-koblitz.de>
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-09-16 16:31:28 +02:00
Adrian Schmutzler
5c0cecb6c6 rtl838x: refresh config
Use "make kernel_oldconfig" to update and sort target config.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-09-16 16:31:28 +02:00
Adrian Schmutzler
0da0aab6f2 rtl838x: remove some debug output in rtl838x-nor.c
Seems like leftovers from development, remove them.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-09-16 16:31:28 +02:00
Adrian Schmutzler
d5c4750a71 rtl838x: remove and add some empty lines
Do some minor empty lines cleanup, i.e. remove those at EOF and
add some for cosmetic reasons/consistency.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-09-15 12:28:43 +02:00
Birger Koblitz
df8e6be59a rtl838x: add new architecture
This adds support for the RTL838x Architecture.
SoCs of this type are used in managed and un-managed Switches and Routers
with 8-28 ports. Drivers are provided for SoC initialization, GPIOs, Flash,
Ethernet including a DSA switch driver and internal and external PHYs used
with these switches.

Supported SoCs:

	RTL8380M
	RTL8381M
	RTL8382M

The kernel will also boot on the following RTL839x SoCs, however driver
support apart from spi-nor is missing:

	RTL8390
	RTL8391
	RTL8393

The following PHYs are supported:

	RTL8214FC (Quad QSGMII multiplexing GMAC and SFP port)
	RTL8218B internal: internal PHY of the RTL838x chips
	RTL8318b external (QSGMII 8-port GMAC phy)
	RTL8382M SerDes for 2 SFP ports
	Initialization sequences for the PHYs are provided in the form of
	firmware files.

Flash driver supports 3 / 4 byte access

DSA switch driver supports VLANs, port isolation, STP and port mirroring.

The ALLNET ALL-SG8208M is supported as Proof of Concept:

	RTL8382M SoC
	1 MIPS 4KEc core @ 500MHz
	8 Internal PHYs (RTL8218B)
	128MB DRAM (Nanya NT5TU128MB)
	16MB NOR Flash (MXIC 25L128)
	8 GBEthernet ports with one green status LED each (SoC controlled)
	1 Power LED (not configurable)
	1 SYS LED (configurable)
	1 On-Off switch (not configurable)
	1 Reset button at the right behind right air-vent (not configurable)
	1 Reset button on front panel (configurable)
	12V 1A barrel connector
	1 serial header with populated standard pin connector and with markings
	  GND TX RX Vcc(3.3V), connection properties: 115200 8N1

To install, upload the sysupgrade image to the OEM webpage.

Signed-off-by: Birger Koblitz <git@birger-koblitz.de>
2020-09-14 07:54:30 +02:00