Skip to content

Commit

Permalink
airoha: Introduce EN7581 SoC support
Browse files Browse the repository at this point in the history
Introduce EN7581 SoC support with currently rfb board supported.

This is a new 64bit SoC from Airoha that is currently almost fully
supported upstream with only the DTS missing. Setting source-only
waiting for the full upstream support to be completed.

Link: openwrt/openwrt#16730
Signed-off-by: Christian Marangi <[email protected]>
  • Loading branch information
Ansuel committed Oct 20, 2024
1 parent c5f38c1 commit 9131cb4
Show file tree
Hide file tree
Showing 74 changed files with 23,628 additions and 4 deletions.
4 changes: 2 additions & 2 deletions target/linux/airoha/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ include $(TOPDIR)/rules.mk
ARCH:=arm
BOARD:=airoha
BOARDNAME:=Airoha ARM
SUBTARGETS:=en7523
FEATURES:=dt squashfs nand ramdisk gpio source-only
SUBTARGETS:=en7523 en7581
FEATURES:=dt squashfs nand ramdisk gpio

KERNEL_PATCHVER:=6.6

Expand Down
210 changes: 210 additions & 0 deletions target/linux/airoha/dts/en7581-evb-emmc.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
/dts-v1/;

/* Bootloader installs ATF here */
/memreserve/ 0x80000000 0x200000;

#include <dt-bindings/leds/common.h>
#include <dt-bindings/gpio/gpio.h>
#include "en7581.dtsi"

/ {
model = "Airoha EN7581 Evaluation Board";
compatible = "airoha,en7581-evb", "airoha,en7581";

aliases {
serial0 = &uart1;
};

chosen {
bootargs = "console=ttyS0,115200 earlycon";
stdout-path = "serial0:115200n8";
linux,usable-memory-range = <0x0 0x80200000 0x0 0x1fe00000>;
};

memory@80000000 {
device_type = "memory";
reg = <0x0 0x80000000 0x2 0x00000000>;
};
};

&en7581_pinctrl {
gpio-ranges = <&en7581_pinctrl 0 13 47>;

mdio_pins: mdio-pins {
mux {
function = "mdio";
groups = "mdio";
};

conf {
pins = "gpio2";
output-high;
};
};

pcie0_rst_pins: pcie0-rst-pins {
conf {
pins = "pcie_reset0";
drive-open-drain = <1>;
};
};

pcie1_rst_pins: pcie1-rst-pins {
conf {
pins = "pcie_reset1";
drive-open-drain = <1>;
};
};

gswp1_led0_pins: gswp1-led0-pins {
mux {
function = "phy1_led0";
pins = "gpio33";
};
};

gswp2_led0_pins: gswp2-led0-pins {
mux {
function = "phy2_led0";
pins = "gpio34";
};
};

gswp3_led0_pins: gswp3-led0-pins {
mux {
function = "phy3_led0";
pins = "gpio35";
};
};

gswp4_led0_pins: gswp4-led0-pins {
mux {
function = "phy4_led0";
pins = "gpio42";
};
};

pwm_gpio18_idx10_pins: pwm-gpio18-idx10-pins {
function = "pwm";
pins = "gpio18";
output-enable;
};

mmc_pins: mmc-pins {
mux {
function = "emmc";
groups = "emmc";
};
};
};

&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc_pins>;
status = "okay";

#address-cells = <1>;
#size-cells = <0>;

card@0 {
compatible = "mmc-card";
reg = <0>;

partitions {
compatible = "fixed-partitions";
#address-cells = <1>;
#size-cells = <1>;

bootloader@0 {
label = "bootloader";
reg = <0x00000000 0x00080000>;
};

tclinux@80000 {
label = "tclinux";
reg = <0x00080000 0x02800000>;
};

tclinux_slave@2880000 {
label = "tclinux_slave";
reg = <0x02880000 0x02800000>;
};

rootfs_data@5080000 {
label = "rootfs_data";
reg = <0x5080000 0x00800000>;
};
};
};
};

&i2c0 {
status = "okay";
};

&pcie0 {
pinctrl-names = "default";
pinctrl-0 = <&pcie0_rst_pins>;
status = "okay";
};

&pcie1 {
pinctrl-names = "default";
pinctrl-0 = <&pcie1_rst_pins>;
status = "okay";
};

&eth {
status = "okay";
};

&gdm1 {
status = "okay";
};

&switch {
pinctrl-names = "default";
pinctrl-0 = <&mdio_pins>;
status = "okay";
};

&gsw_phy1 {
pinctrl-names = "led";
pinctrl-0 = <&gswp1_led0_pins>;
status = "okay";
};

&gsw_phy1_led0 {
status = "okay";
};

&gsw_phy2 {
pinctrl-names = "led";
pinctrl-0 = <&gswp2_led0_pins>;
status = "okay";
};

&gsw_phy2_led0 {
status = "okay";
};

&gsw_phy3 {
pinctrl-names = "led";
pinctrl-0 = <&gswp3_led0_pins>;
status = "okay";
};

&gsw_phy3_led0 {
status = "okay";
};

&gsw_phy4 {
pinctrl-names = "led";
pinctrl-0 = <&gswp4_led0_pins>;
status = "okay";
};

&gsw_phy4_led0 {
status = "okay";
};
Loading

0 comments on commit 9131cb4

Please sign in to comment.