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: Dongpo Li <lidongpo@hisilicon.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2bfcfcd3f3
commit
d0fb6ba75d
|
@ -1,7 +1,12 @@
|
|||
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>;
|
||||
|
|
|
@ -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");
|
||||
|
|
Loading…
Reference in a new issue