diff options
author | Mathew McBride <matt@traverse.com.au> | 2018-04-30 22:42:39 +1000 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2018-07-30 10:53:57 +0200 |
commit | 08714738d2c8d7710f8fd2b7deac795f49e7d7c2 (patch) | |
tree | da058038a138d0ab98d7928d9806f4f77ddbef65 /target/linux/layerscape/patches-4.9 | |
parent | 481f870a02a29974eca943f3b926434d5e517679 (diff) | |
download | upstream-08714738d2c8d7710f8fd2b7deac795f49e7d7c2.tar.gz upstream-08714738d2c8d7710f8fd2b7deac795f49e7d7c2.tar.bz2 upstream-08714738d2c8d7710f8fd2b7deac795f49e7d7c2.zip |
layerscape: add Traverse LS1043-S support
The Traverse LS1043-S board is a router board based on
NXP/Freescale's LS1043 SoC, with 4x1GBase-T, 1 SFP and 1 SFP+,
as well as miniPCIe and M.2 LTE.
Unlike the Layerscape reference boards, the LS1043-S board has
NAND flash and uses the mainline U-Boot.
This patch implements support for the LS1043-S board, as well as
the earlier LS1043-V board. It is our intention that all boards
in this family (LS1043-S and later, Five64) will boot the same binary.
Not included in this patchset are the hwmon drivers not in the kernel
(emc1704,pac1934) or the bootloader.
Signed-off-by: Mathew McBride <matt@traverse.com.au>
Diffstat (limited to 'target/linux/layerscape/patches-4.9')
3 files changed, 107 insertions, 8 deletions
diff --git a/target/linux/layerscape/patches-4.9/304-dts-layerscape-add-traverse-ls1043.patch b/target/linux/layerscape/patches-4.9/304-dts-layerscape-add-traverse-ls1043.patch new file mode 100644 index 0000000000..6c1c28f400 --- /dev/null +++ b/target/linux/layerscape/patches-4.9/304-dts-layerscape-add-traverse-ls1043.patch @@ -0,0 +1,89 @@ +From c0612164b379ebc8964da6bc6f6ced9736dce488 Mon Sep 17 00:00:00 2001 +From: Mathew McBride <matt@traverse.com.au> +Date: Tue, 17 Apr 2018 10:01:03 +1000 +Subject: [PATCH] add DTS for Traverse LS1043 Boards + +Signed-off-by: Mathew McBride <matt@traverse.com.au> +--- + arch/arm64/boot/dts/freescale/Makefile | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + create mode 100644 arch/arm64/boot/dts/freescale/traverse-ls1043v.dts + +--- a/arch/arm64/boot/dts/freescale/Makefile ++++ b/arch/arm64/boot/dts/freescale/Makefile +@@ -20,7 +20,10 @@ dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2 + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2080a-simu.dtb + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-qds.dtb + dtb-$(CONFIG_ARCH_LAYERSCAPE) += fsl-ls2088a-rdb.dtb +- ++ ++dtb-$(CONFIG_ARCH_LAYERSCAPE) += traverse-ls1043v.dtb ++dtb-$(CONFIG_ARCH_LAYERSCAPE) += traverse-ls1043s.dtb ++ + always := $(dtb-y) + subdir-y := $(dts-dirs) + clean-files := *.dtb +--- a/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts ++++ b/arch/arm64/boot/dts/freescale/traverse-ls1043s.dts +@@ -337,3 +337,29 @@ + &sata { + status = "disabled"; + }; ++ ++/* Additions for Layerscape SDK (4.4/4.9) Kernel only ++ * These kernels need additional setup for FMan/QMan DMA shared memory ++ */ ++ ++&bman_fbpr { ++ compatible = "fsl,bman-fbpr"; ++ alloc-ranges = <0 0 0x10000 0>; ++}; ++&qman_fqd { ++ compatible = "fsl,qman-fqd"; ++ alloc-ranges = <0 0 0x10000 0>; ++}; ++&qman_pfdr { ++ compatible = "fsl,qman-pfdr"; ++ alloc-ranges = <0 0 0x10000 0>; ++}; ++ ++&soc { ++#include "qoriq-dpaa-eth.dtsi" ++#include "qoriq-fman3-0-6oh.dtsi" ++}; ++ ++&fman0 { ++ compatible = "fsl,fman", "simple-bus"; ++}; +--- a/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts ++++ b/arch/arm64/boot/dts/freescale/traverse-ls1043v.dts +@@ -313,3 +313,29 @@ + &sata { + status = "disabled"; + }; ++ ++/* Additions for Layerscape SDK (4.4/4.9) Kernel only ++ * These kernels need additional setup for FMan/QMan DMA shared memory ++ */ ++ ++&bman_fbpr { ++ compatible = "fsl,bman-fbpr"; ++ alloc-ranges = <0 0 0x10000 0>; ++}; ++&qman_fqd { ++ compatible = "fsl,qman-fqd"; ++ alloc-ranges = <0 0 0x10000 0>; ++}; ++&qman_pfdr { ++ compatible = "fsl,qman-pfdr"; ++ alloc-ranges = <0 0 0x10000 0>; ++}; ++ ++&soc { ++#include "qoriq-dpaa-eth.dtsi" ++#include "qoriq-fman3-0-6oh.dtsi" ++}; ++ ++&fman0 { ++ compatible = "fsl,fman", "simple-bus"; ++}; diff --git a/target/linux/layerscape/patches-4.9/820-rgmii-fixed-link.patch b/target/linux/layerscape/patches-4.9/820-rgmii-fixed-link.patch index b867b1805a..593bd3e79a 100644 --- a/target/linux/layerscape/patches-4.9/820-rgmii-fixed-link.patch +++ b/target/linux/layerscape/patches-4.9/820-rgmii-fixed-link.patch @@ -5,8 +5,8 @@ Subject: [PATCH] Recognize when an RGMII Link is set as fixed (in the device tree) and set up the MAC accordingly --- - drivers/net/ethernet/freescale/sdk_dpaa/mac.c | 1 + - .../ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.c | 13 +++++++++++++ + drivers/net/ethernet/freescale/sdk_dpaa/mac.c | 1 + drivers/net/ethernet/freescale/sdk_fman/Peripherals/FM/MAC/memac.c | 13 ++++++++++ 2 files changed, 14 insertions(+) --- a/drivers/net/ethernet/freescale/sdk_dpaa/mac.c @@ -43,19 +43,19 @@ Subject: [PATCH] Recognize when an RGMII Link is set as fixed (in the device { t_Memac *p_Memac = (t_Memac *)h_Memac; -+ struct mac_device *mac_dev = (struct mac_device *)p_Memac->h_App; ++ struct mac_device *mac_dev = (struct mac_device *)p_Memac->h_App; + SANITY_CHECK_RETURN_ERROR(p_Memac, E_INVALID_HANDLE); SANITY_CHECK_RETURN_ERROR(!p_Memac->p_MemacDriverParam, E_INVALID_STATE); fman_memac_enable(p_Memac->p_MemMap, (mode & e_COMM_MODE_RX), (mode & e_COMM_MODE_TX)); -+ if (ENET_INTERFACE_FROM_MODE(p_Memac->enetMode) == e_ENET_IF_RGMII) { -+ if (mac_dev->fixed_link) { -+ printk("This is a fixed-link, forcing speed %d duplex %d\n",mac_dev->fixed_link->speed,mac_dev->fixed_link->duplex); -+ MemacAdjustLink(h_Memac,mac_dev->fixed_link->speed,mac_dev->fixed_link->duplex); -+ } ++ if (ENET_INTERFACE_FROM_MODE(p_Memac->enetMode) == e_ENET_IF_RGMII) { ++ if (mac_dev->fixed_link) { ++ printk(KERN_INFO "This is a fixed-link, forcing speed %d duplex %d\n",mac_dev->fixed_link->speed,mac_dev->fixed_link->duplex); ++ MemacAdjustLink(h_Memac,mac_dev->fixed_link->speed,mac_dev->fixed_link->duplex); + } ++ } + return E_OK; } diff --git a/target/linux/layerscape/patches-4.9/821-add-esdhc-vsel-to-ls1043.patch b/target/linux/layerscape/patches-4.9/821-add-esdhc-vsel-to-ls1043.patch new file mode 100644 index 0000000000..c45c6b4a22 --- /dev/null +++ b/target/linux/layerscape/patches-4.9/821-add-esdhc-vsel-to-ls1043.patch @@ -0,0 +1,10 @@ +--- a/drivers/mmc/host/sdhci-of-esdhc.c ++++ b/drivers/mmc/host/sdhci-of-esdhc.c +@@ -619,6 +619,7 @@ static void esdhc_reset(struct sdhci_hos + static const struct of_device_id scfg_device_ids[] = { + { .compatible = "fsl,t1040-scfg", }, + { .compatible = "fsl,ls1012a-scfg", }, ++ { .compatible = "fsl,ls1043a-scfg", }, + { .compatible = "fsl,ls1046a-scfg", }, + {} + }; |