-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'this-is-a-patch-series-for-ethernet-driver-of-sunplus-s…
…p7021-soc' Wells Lu says: ==================== This is a patch series for Ethernet driver of Sunplus SP7021 SoC. Sunplus SP7021 is an ARM Cortex A7 (4 cores) based SoC. It integrates many peripherals (ex: UART, I2C, SPI, SDIO, eMMC, USB, SD card and etc.) into a single chip. It is designed for industrial control applications. Refer to: https://sunplus.atlassian.net/wiki/spaces/doc/overview https://tibbo.com/store/plus1.html ==================== Link: https://lore.kernel.org/r/1652004800-3212-1-git-send-email-wellslutw@gmail.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
- Loading branch information
Showing
19 changed files
with
2,191 additions
and
0 deletions.
There are no files selected for viewing
141 changes: 141 additions & 0 deletions
141
Documentation/devicetree/bindings/net/sunplus,sp7021-emac.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
# Copyright (C) Sunplus Co., Ltd. 2021 | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/net/sunplus,sp7021-emac.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: Sunplus SP7021 Dual Ethernet MAC Device Tree Bindings | ||
|
||
maintainers: | ||
- Wells Lu <wellslutw@gmail.com> | ||
|
||
description: | | ||
Sunplus SP7021 dual 10M/100M Ethernet MAC controller. | ||
Device node of the controller has following properties. | ||
properties: | ||
compatible: | ||
const: sunplus,sp7021-emac | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
interrupts: | ||
maxItems: 1 | ||
|
||
clocks: | ||
maxItems: 1 | ||
|
||
resets: | ||
maxItems: 1 | ||
|
||
ethernet-ports: | ||
type: object | ||
description: Ethernet ports to PHY | ||
|
||
properties: | ||
"#address-cells": | ||
const: 1 | ||
|
||
"#size-cells": | ||
const: 0 | ||
|
||
patternProperties: | ||
"^port@[0-1]$": | ||
type: object | ||
description: Port to PHY | ||
|
||
properties: | ||
reg: | ||
minimum: 0 | ||
maximum: 1 | ||
|
||
phy-handle: | ||
maxItems: 1 | ||
|
||
phy-mode: | ||
maxItems: 1 | ||
|
||
nvmem-cells: | ||
items: | ||
- description: nvmem cell address of MAC address | ||
|
||
nvmem-cell-names: | ||
description: names corresponding to the nvmem cells | ||
items: | ||
- const: mac-address | ||
|
||
required: | ||
- reg | ||
- phy-handle | ||
- phy-mode | ||
- nvmem-cells | ||
- nvmem-cell-names | ||
|
||
mdio: | ||
$ref: mdio.yaml# | ||
unevaluatedProperties: false | ||
|
||
additionalProperties: false | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- interrupts | ||
- clocks | ||
- resets | ||
- pinctrl-0 | ||
- pinctrl-names | ||
- ethernet-ports | ||
- mdio | ||
|
||
examples: | ||
- | | ||
#include <dt-bindings/interrupt-controller/irq.h> | ||
ethernet@9c108000 { | ||
compatible = "sunplus,sp7021-emac"; | ||
reg = <0x9c108000 0x400>; | ||
interrupt-parent = <&intc>; | ||
interrupts = <66 IRQ_TYPE_LEVEL_HIGH>; | ||
clocks = <&clkc 0xa7>; | ||
resets = <&rstc 0x97>; | ||
pinctrl-0 = <&emac_demo_board_v3_pins>; | ||
pinctrl-names = "default"; | ||
ethernet-ports { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
port@0 { | ||
reg = <0>; | ||
phy-handle = <ð_phy0>; | ||
phy-mode = "rmii"; | ||
nvmem-cells = <&mac_addr0>; | ||
nvmem-cell-names = "mac-address"; | ||
}; | ||
port@1 { | ||
reg = <1>; | ||
phy-handle = <ð_phy1>; | ||
phy-mode = "rmii"; | ||
nvmem-cells = <&mac_addr1>; | ||
nvmem-cell-names = "mac-address"; | ||
}; | ||
}; | ||
mdio { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
eth_phy0: ethernet-phy@0 { | ||
reg = <0>; | ||
}; | ||
eth_phy1: ethernet-phy@1 { | ||
reg = <1>; | ||
}; | ||
}; | ||
}; | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# SPDX-License-Identifier: GPL-2.0 | ||
# | ||
# Sunplus network device configuration | ||
# | ||
|
||
config NET_VENDOR_SUNPLUS | ||
bool "Sunplus devices" | ||
default y | ||
depends on ARCH_SUNPLUS || COMPILE_TEST | ||
help | ||
If you have a network (Ethernet) card belonging to this | ||
class, say Y here. | ||
|
||
Note that the answer to this question doesn't directly | ||
affect the kernel: saying N will just cause the configurator | ||
to skip all the questions about Sunplus cards. If you say Y, | ||
you will be asked for your specific card in the following | ||
questions. | ||
|
||
if NET_VENDOR_SUNPLUS | ||
|
||
config SP7021_EMAC | ||
tristate "Sunplus Dual 10M/100M Ethernet devices" | ||
depends on SOC_SP7021 || COMPILE_TEST | ||
select PHYLIB | ||
select COMMON_CLK_SP7021 | ||
select RESET_SUNPLUS | ||
select NVMEM_SUNPLUS_OCOTP | ||
help | ||
If you have Sunplus dual 10M/100M Ethernet devices, say Y. | ||
The network device creates two net-device interfaces. | ||
To compile this driver as a module, choose M here. The | ||
module will be called sp7021_emac. | ||
|
||
endif # NET_VENDOR_SUNPLUS |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# SPDX-License-Identifier: GPL-2.0 | ||
# | ||
# Makefile for the Sunplus network device drivers. | ||
# | ||
obj-$(CONFIG_SP7021_EMAC) += sp7021_emac.o | ||
sp7021_emac-objs := spl2sw_driver.o spl2sw_int.o spl2sw_desc.o spl2sw_mac.o spl2sw_mdio.o spl2sw_phy.o |
Oops, something went wrong.