Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d0fb6ba7 authored by Dongpo Li's avatar Dongpo Li Committed by David S. Miller
Browse files

net: hix5hd2_gmac: add generic compatible string



The "hix5hd2" is SoC name, add the generic ethernet driver name.
The "hisi-gemac-v1" is the basic version and "hisi-gemac-v2" adds
the SG/TXCSUM/TSO/UFO features.

Signed-off-by: default avatarDongpo Li <lidongpo@hisilicon.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2bfcfcd3
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
Hisilicon hix5hd2 gmac controller

Required properties:
- compatible: should be "hisilicon,hix5hd2-gmac".
- compatible: should contain one of the following SoC strings:
	* "hisilicon,hix5hd2-gemac"
	* "hisilicon,hi3798cv200-gemac"
	and one of the following version string:
	* "hisilicon,hisi-gemac-v1"
	* "hisilicon,hisi-gemac-v2"
- reg: specifies base physical address(s) and size of the device registers.
  The first region is the MAC register base and size.
  The second region is external interface control register.
@@ -20,7 +25,7 @@ Required properties:

Example:
	gmac0: ethernet@f9840000 {
		compatible = "hisilicon,hix5hd2-gmac";
		compatible = "hisilicon,hix5hd2-gemac", "hisilicon,hisi-gemac-v1";
		reg = <0xf9840000 0x1000>,<0xf984300c 0x4>;
		interrupts = <0 71 4>;
		#address-cells = <1>;
+11 −4
Original line number Diff line number Diff line
@@ -189,6 +189,10 @@
#define dma_cnt(n)			((n) >> 5)
#define dma_byte(n)			((n) << 5)

#define HW_CAP_TSO			BIT(0)
#define GEMAC_V1			0
#define GEMAC_V2			(GEMAC_V1 | HW_CAP_TSO)

struct hix5hd2_desc {
	__le32 buff_addr;
	__le32 cmd;
@@ -1021,7 +1025,10 @@ static int hix5hd2_dev_remove(struct platform_device *pdev)
}

static const struct of_device_id hix5hd2_of_match[] = {
	{.compatible = "hisilicon,hix5hd2-gmac",},
	{ .compatible = "hisilicon,hisi-gemac-v1", .data = (void *)GEMAC_V1 },
	{ .compatible = "hisilicon,hisi-gemac-v2", .data = (void *)GEMAC_V2 },
	{ .compatible = "hisilicon,hix5hd2-gemac", .data = (void *)GEMAC_V1 },
	{ .compatible = "hisilicon,hi3798cv200-gemac", .data = (void *)GEMAC_V2 },
	{},
};

@@ -1029,7 +1036,7 @@ MODULE_DEVICE_TABLE(of, hix5hd2_of_match);

static struct platform_driver hix5hd2_dev_driver = {
	.driver = {
		.name = "hix5hd2-gmac",
		.name = "hisi-gemac",
		.of_match_table = hix5hd2_of_match,
	},
	.probe = hix5hd2_dev_probe,
@@ -1038,6 +1045,6 @@ static struct platform_driver hix5hd2_dev_driver = {

module_platform_driver(hix5hd2_dev_driver);

MODULE_DESCRIPTION("HISILICON HIX5HD2 Ethernet driver");
MODULE_DESCRIPTION("HISILICON Gigabit Ethernet MAC driver");
MODULE_LICENSE("GPL v2");
MODULE_ALIAS("platform:hix5hd2-gmac");
MODULE_ALIAS("platform:hisi-gemac");