Skip to content

Commit beeedd4

Browse files
antony-rheneusXianghong Gu
authored andcommitted
1. Back ported commit from master
Adding support to compile ARM architecture (sonic-net#102) 2. Added support for marvell Armada A7020 Arm64 Signed-off-by: Antony Rheneus <arheneus@marvell.com>
1 parent 6d10052 commit beeedd4

10 files changed

+118469
-0
lines changed

patch/0001-Marvell-support-for-armada7020-on-LK4.9.168.patch

Lines changed: 117374 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
From adf767005a35a2afeb8006c1023633af4de9d78e Mon Sep 17 00:00:00 2001
2+
From: Antony Rheneus <arheneus@marvell.com>
3+
Date: Thu, 17 Oct 2019 18:31:57 +0530
4+
Subject: [PATCH] arm64 default config for sonic patches
5+
6+
---
7+
debian/build/build_arm64_none_arm64/.config | 9 +++++++++
8+
1 file changed, 9 insertions(+)
9+
10+
diff --git a/debian/build/build_arm64_none_arm64/.config b/debian/build/build_arm64_none_arm64/.config
11+
index 0ce4748..be5b136 100644
12+
--- a/debian/build/build_arm64_none_arm64/.config
13+
+++ b/debian/build/build_arm64_none_arm64/.config
14+
@@ -1247,6 +1247,7 @@ CONFIG_NET_ACT_POLICE=m
15+
CONFIG_NET_ACT_GACT=m
16+
CONFIG_GACT_PROB=y
17+
CONFIG_NET_ACT_MIRRED=m
18+
+# CONFIG_NET_ACT_SAMPLE is not set
19+
CONFIG_NET_ACT_IPT=m
20+
CONFIG_NET_ACT_NAT=m
21+
CONFIG_NET_ACT_PEDIT=m
22+
@@ -1289,6 +1290,7 @@ CONFIG_MPLS_IPTUNNEL=m
23+
# CONFIG_HSR is not set
24+
# CONFIG_NET_SWITCHDEV is not set
25+
CONFIG_NET_L3_MASTER_DEV=y
26+
+# CONFIG_CGROUP_L3MDEV is not set
27+
# CONFIG_QRTR is not set
28+
# CONFIG_NET_NCSI is not set
29+
CONFIG_RPS=y
30+
@@ -1472,6 +1474,7 @@ CONFIG_NFC_PN533=m
31+
CONFIG_NFC_PN533_USB=m
32+
# CONFIG_NFC_PN533_I2C is not set
33+
# CONFIG_NFC_ST95HF is not set
34+
+# CONFIG_PSAMPLE is not set
35+
CONFIG_LWTUNNEL=y
36+
CONFIG_DST_CACHE=y
37+
CONFIG_NET_DEVLINK=m
38+
@@ -1721,6 +1724,8 @@ CONFIG_EEPROM_LEGACY=m
39+
CONFIG_EEPROM_MAX6875=m
40+
CONFIG_EEPROM_93CX6=m
41+
# CONFIG_EEPROM_93XX46 is not set
42+
+# CONFIG_EEPROM_SFF_8436 is not set
43+
+# CONFIG_EEPROM_OPTOE is not set
44+
CONFIG_CB710_CORE=m
45+
# CONFIG_CB710_DEBUG is not set
46+
CONFIG_CB710_DEBUG_ASSUMPTIONS=y
47+
@@ -2999,6 +3004,7 @@ CONFIG_I2C_MUX=m
48+
# CONFIG_I2C_MUX_PINCTRL is not set
49+
# CONFIG_I2C_MUX_REG is not set
50+
# CONFIG_I2C_DEMUX_PINCTRL is not set
51+
+# CONFIG_I2C_MUX_MLXCPLD is not set
52+
CONFIG_I2C_HELPER_AUTO=y
53+
CONFIG_I2C_SMBUS=m
54+
CONFIG_I2C_ALGOBIT=m
55+
@@ -3386,6 +3392,7 @@ CONFIG_SENSORS_MAX1668=m
56+
CONFIG_SENSORS_MAX6639=m
57+
CONFIG_SENSORS_MAX6642=m
58+
CONFIG_SENSORS_MAX6650=m
59+
+# CONFIG_SENSORS_MAX6620 is not set
60+
# CONFIG_SENSORS_MAX6697 is not set
61+
# CONFIG_SENSORS_MAX31790 is not set
62+
# CONFIG_SENSORS_MCP3021 is not set
63+
@@ -5397,6 +5404,8 @@ CONFIG_LEDS_LT3593=m
64+
#
65+
# CONFIG_LEDS_BLINKM is not set
66+
# CONFIG_LEDS_SYSCON is not set
67+
+# CONFIG_LEDS_MLXREG is not set
68+
+# CONFIG_LEDS_USER is not set
69+
70+
#
71+
# LED Triggers
72+
--
73+
2.7.4
74+
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
From 3a09f684413faf1c4f7d21d7d79914b54e087cf6 Mon Sep 17 00:00:00 2001
2+
From: Antony Rheneus <arheneus@marvell.com>
3+
Date: Thu, 17 Oct 2019 10:48:29 +0530
4+
Subject: [PATCH] armhf default config for the sonic patches
5+
6+
---
7+
debian/build/build_armhf_none_armmp/.config | 10 ++++++++++
8+
1 file changed, 10 insertions(+)
9+
10+
diff --git a/debian/build/build_armhf_none_armmp/.config b/debian/build/build_armhf_none_armmp/.config
11+
index 8f02d03..32a2698 100644
12+
--- a/debian/build/build_armhf_none_armmp/.config
13+
+++ b/debian/build/build_armhf_none_armmp/.config
14+
@@ -1501,6 +1501,7 @@ CONFIG_NET_ACT_POLICE=m
15+
CONFIG_NET_ACT_GACT=m
16+
CONFIG_GACT_PROB=y
17+
CONFIG_NET_ACT_MIRRED=m
18+
+# CONFIG_NET_ACT_SAMPLE is not set
19+
CONFIG_NET_ACT_IPT=m
20+
CONFIG_NET_ACT_NAT=m
21+
CONFIG_NET_ACT_PEDIT=m
22+
@@ -1543,6 +1544,7 @@ CONFIG_MPLS_IPTUNNEL=m
23+
# CONFIG_HSR is not set
24+
CONFIG_NET_SWITCHDEV=y
25+
CONFIG_NET_L3_MASTER_DEV=y
26+
+# CONFIG_CGROUP_L3MDEV is not set
27+
# CONFIG_NET_NCSI is not set
28+
CONFIG_RPS=y
29+
CONFIG_RFS_ACCEL=y
30+
@@ -1716,6 +1718,7 @@ CONFIG_NFC_PN533=m
31+
CONFIG_NFC_PN533_USB=m
32+
# CONFIG_NFC_PN533_I2C is not set
33+
# CONFIG_NFC_ST95HF is not set
34+
+# CONFIG_PSAMPLE is not set
35+
CONFIG_LWTUNNEL=y
36+
CONFIG_DST_CACHE=y
37+
CONFIG_NET_DEVLINK=m
38+
@@ -2010,6 +2013,8 @@ CONFIG_EEPROM_LEGACY=m
39+
CONFIG_EEPROM_MAX6875=m
40+
CONFIG_EEPROM_93CX6=m
41+
# CONFIG_EEPROM_93XX46 is not set
42+
+# CONFIG_EEPROM_SFF_8436 is not set
43+
+# CONFIG_EEPROM_OPTOE is not set
44+
CONFIG_CB710_CORE=m
45+
# CONFIG_CB710_DEBUG is not set
46+
CONFIG_CB710_DEBUG_ASSUMPTIONS=y
47+
@@ -3385,6 +3390,7 @@ CONFIG_I2C_MUX_PCA954x=m
48+
# CONFIG_I2C_MUX_PINCTRL is not set
49+
# CONFIG_I2C_MUX_REG is not set
50+
# CONFIG_I2C_DEMUX_PINCTRL is not set
51+
+# CONFIG_I2C_MUX_MLXCPLD is not set
52+
CONFIG_I2C_HELPER_AUTO=y
53+
CONFIG_I2C_ALGOBIT=y
54+
CONFIG_I2C_ALGOPCA=m
55+
@@ -3818,6 +3824,7 @@ CONFIG_SENSORS_MAX1668=m
56+
CONFIG_SENSORS_MAX6639=m
57+
CONFIG_SENSORS_MAX6642=m
58+
CONFIG_SENSORS_MAX6650=m
59+
+# CONFIG_SENSORS_MAX6620 is not set
60+
# CONFIG_SENSORS_MAX6697 is not set
61+
# CONFIG_SENSORS_MAX31790 is not set
62+
# CONFIG_SENSORS_MCP3021 is not set
63+
@@ -6031,6 +6038,8 @@ CONFIG_LEDS_TCA6507=m
64+
#
65+
# CONFIG_LEDS_BLINKM is not set
66+
# CONFIG_LEDS_SYSCON is not set
67+
+# CONFIG_LEDS_MLXREG is not set
68+
+# CONFIG_LEDS_USER is not set
69+
70+
#
71+
# LED Triggers
72+
@@ -6434,6 +6443,7 @@ CONFIG_SPEAKUP_SYNTH_DUMMY=m
73+
CONFIG_CHROME_PLATFORMS=y
74+
# CONFIG_CROS_EC_CHARDEV is not set
75+
CONFIG_CROS_EC_PROTO=y
76+
+# CONFIG_MELLANOX_PLATFORM is not set
77+
CONFIG_CLKDEV_LOOKUP=y
78+
CONFIG_HAVE_CLK_PREPARE=y
79+
CONFIG_COMMON_CLK=y
80+
--
81+
2.7.4
82+
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
From b5a750c95de583df71ab719ac9ae455bd6cfe7cc Mon Sep 17 00:00:00 2001
2+
From: gilt <gilt@marvell.com>
3+
Date: Mon, 26 Aug 2019 13:43:39 +0300
4+
Subject: [PATCH 4/6] ARM64/PCI: Allow userspace to mmap PCI resources
5+
6+
Change-Id: I87ef6492e4956c77c75470ec010a4f11a9a8bdaf
7+
---
8+
arch/arm64/include/asm/pci.h | 4 ++++
9+
arch/arm64/kernel/pci.c | 19 +++++++++++++++++++
10+
2 files changed, 23 insertions(+)
11+
12+
diff --git a/arch/arm64/include/asm/pci.h b/arch/arm64/include/asm/pci.h
13+
index b9a7ba9..8a18915 100644
14+
--- a/arch/arm64/include/asm/pci.h
15+
+++ b/arch/arm64/include/asm/pci.h
16+
@@ -31,6 +31,10 @@ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel)
17+
return -ENODEV;
18+
}
19+
20+
+#define HAVE_PCI_MMAP
21+
+extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
22+
+ enum pci_mmap_state mmap_state,
23+
+ int write_combine);
24+
static inline int pci_proc_domain(struct pci_bus *bus)
25+
{
26+
return 1;
27+
diff --git a/arch/arm64/kernel/pci.c b/arch/arm64/kernel/pci.c
28+
index 1b3eb67..db6dd98 100644
29+
--- a/arch/arm64/kernel/pci.c
30+
+++ b/arch/arm64/kernel/pci.c
31+
@@ -54,6 +54,25 @@ int pcibios_alloc_irq(struct pci_dev *dev)
32+
return 0;
33+
}
34+
35+
+int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
36+
+ enum pci_mmap_state mmap_state, int write_combine)
37+
+{
38+
+ if (mmap_state == pci_mmap_io)
39+
+ return -EINVAL;
40+
+
41+
+ /*
42+
+ * Mark this as IO
43+
+ */
44+
+ vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
45+
+
46+
+ if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
47+
+ vma->vm_end - vma->vm_start,
48+
+ vma->vm_page_prot))
49+
+ return -EAGAIN;
50+
+
51+
+ return 0;
52+
+}
53+
+
54+
/*
55+
* raw_pci_read/write - Platform-specific PCI config space access.
56+
*/
57+
--
58+
1.8.3.1
59+
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
From 5e248248ac5be0541cacb45b2b4d05df3741c2c6 Mon Sep 17 00:00:00 2001
2+
From: gilt <gilt@marvell.com>
3+
Date: Mon, 22 Jul 2019 13:44:06 +0300
4+
Subject: [PATCH 1/4] Micron 4G flash support
5+
6+
Change-Id: Ib4dd7094920c124c213f6b3c81140845e5baa084
7+
---
8+
drivers/mtd/nand/pxa3xx_nand.c | 17 ++++++++++++++++-
9+
1 file changed, 16 insertions(+), 1 deletion(-)
10+
11+
diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
12+
index 3b8911c..98e9a34 100644
13+
--- a/drivers/mtd/nand/pxa3xx_nand.c
14+
+++ b/drivers/mtd/nand/pxa3xx_nand.c
15+
@@ -1638,7 +1638,22 @@ static int pxa_ecc_init(struct pxa3xx_nand_info *info,
16+
ecc->size = info->chunk_size;
17+
mtd_set_ooblayout(mtd, &pxa3xx_ooblayout_ops);
18+
ecc->strength = 16;
19+
- } else {
20+
+ }
21+
+ else if (strength == 8 && ecc_stepsize == 512 && page_size == 8192) {
22+
+ info->ecc_bch = 1;
23+
+ info->nfullchunks = 8;
24+
+ info->ntotalchunks = 9;
25+
+ info->chunk_size = 1024;
26+
+ info->spare_size = 0;
27+
+ info->last_chunk_size = 0;
28+
+ info->last_spare_size = 160;
29+
+ info->ecc_size = 32;
30+
+ ecc->mode = NAND_ECC_HW;
31+
+ ecc->size = info->chunk_size;
32+
+ mtd_set_ooblayout(mtd, &pxa3xx_ooblayout_ops);
33+
+ ecc->strength = 16;
34+
+ }
35+
+ else {
36+
dev_err(&info->pdev->dev,
37+
"ECC strength %d at page size %d is not supported\n",
38+
strength, page_size);
39+
--
40+
2.6.3
41+

0 commit comments

Comments
 (0)