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 Original line Diff line number Diff line
Hisilicon hix5hd2 gmac controller
Hisilicon hix5hd2 gmac controller


Required properties:
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.
- reg: specifies base physical address(s) and size of the device registers.
  The first region is the MAC register base and size.
  The first region is the MAC register base and size.
  The second region is external interface control register.
  The second region is external interface control register.
@@ -20,7 +25,7 @@ Required properties:


Example:
Example:
	gmac0: ethernet@f9840000 {
	gmac0: ethernet@f9840000 {
		compatible = "hisilicon,hix5hd2-gmac";
		compatible = "hisilicon,hix5hd2-gemac", "hisilicon,hisi-gemac-v1";
		reg = <0xf9840000 0x1000>,<0xf984300c 0x4>;
		reg = <0xf9840000 0x1000>,<0xf984300c 0x4>;
		interrupts = <0 71 4>;
		interrupts = <0 71 4>;
		#address-cells = <1>;
		#address-cells = <1>;
+11 −4
Original line number Original line Diff line number Diff line
@@ -189,6 +189,10 @@
#define dma_cnt(n)			((n) >> 5)
#define dma_cnt(n)			((n) >> 5)
#define dma_byte(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 {
struct hix5hd2_desc {
	__le32 buff_addr;
	__le32 buff_addr;
	__le32 cmd;
	__le32 cmd;
@@ -1021,7 +1025,10 @@ static int hix5hd2_dev_remove(struct platform_device *pdev)
}
}


static const struct of_device_id hix5hd2_of_match[] = {
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 = {
static struct platform_driver hix5hd2_dev_driver = {
	.driver = {
	.driver = {
		.name = "hix5hd2-gmac",
		.name = "hisi-gemac",
		.of_match_table = hix5hd2_of_match,
		.of_match_table = hix5hd2_of_match,
	},
	},
	.probe = hix5hd2_dev_probe,
	.probe = hix5hd2_dev_probe,
@@ -1038,6 +1045,6 @@ static struct platform_driver hix5hd2_dev_driver = {


module_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_LICENSE("GPL v2");
MODULE_ALIAS("platform:hix5hd2-gmac");
MODULE_ALIAS("platform:hisi-gemac");