ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
Subsystems (2)
PATCH 1/1 ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
From: Stephen Warren <[email protected]>
This pinmux tables currently omit any configuration for PCIe clk_req, wake, and rst pins, which in turn causes intermittent failures in U-Boot's PCIe support. Import an updated version of the pinmux tables which rectifies this.
(While I'm still hoping to remove the pinmux tables from DTs for Tegra124+ devices, while they're still here, they may as well be complete and correct).
--- arch/arm/boot/dts/tegra124-jetson-tk1.dts | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
arch/arm/boot/dts/tegra124-jetson-tk1.dts +35 -0
@@ -1251,6 +1251,41 @@ nvidia,tristate = <TEGRA_PIN_DISABLE>; nvidia,enable-input = <TEGRA_PIN_DISABLE>; }; + pex_l0_rst_n_pdd1 { + nvidia,pins = "pex_l0_rst_n_pdd1"; + nvidia,function = "pe0"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + nvidia,enable-input = <TEGRA_PIN_DISABLE>; + }; + pex_l0_clkreq_n_pdd2 { + nvidia,pins = "pex_l0_clkreq_n_pdd2"; + nvidia,function = "pe0"; + nvidia,pull = <TEGRA_PIN_PULL_UP>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + nvidia,enable-input = <TEGRA_PIN_ENABLE>; + }; + pex_wake_n_pdd3 { + nvidia,pins = "pex_wake_n_pdd3"; + nvidia,function = "pe"; + nvidia,pull = <TEGRA_PIN_PULL_UP>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + nvidia,enable-input = <TEGRA_PIN_ENABLE>; + }; + pex_l1_rst_n_pdd5 { + nvidia,pins = "pex_l1_rst_n_pdd5"; + nvidia,function = "pe1"; + nvidia,pull = <TEGRA_PIN_PULL_NONE>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + nvidia,enable-input = <TEGRA_PIN_DISABLE>; + }; + pex_l1_clkreq_n_pdd6 { + nvidia,pins = "pex_l1_clkreq_n_pdd6"; + nvidia,function = "pe1"; + nvidia,pull = <TEGRA_PIN_PULL_UP>; + nvidia,tristate = <TEGRA_PIN_DISABLE>; + nvidia,enable-input = <TEGRA_PIN_ENABLE>; + }; clk3_out_pee0 { nvidia,pins = "clk3_out_pee0"; nvidia,function = "extperiph3";
Signature · 1 line
1.9.1
PATCH 1/1 ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
Hi Stephen,
Am 22.08.2014 23:18, schrieb Stephen Warren:
Quoted 7 lines
From: Stephen Warren <[email protected]>
This pinmux tables currently omit any configuration for PCIe
clk_req, wake, and rst pins, which in turn causes intermittent failures in U-Boot's PCIe support. Import an updated version of the pinmux tables which rectifies this.
Quoted 8 lines
(While I'm still hoping to remove the pinmux tables from DTs for Tegra124+ devices, while they're still here, they may as well be complete and correct).
Signed-off-by Stephen Warren <[email protected]>--- arch/arm/boot/dts/tegra124-jetson-tk1.dts | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
I've tested this patch on both -rc1 and yesterday's torvalds/linux.git with tegra_defconfig: Both with or without this patch I get empty lspci output.
There doesn't seem to be a tegra/linux.git for-next branch based on -rc1 yet - are patches from other subsystem trees needed to get the on-board Ethernet detected or maybe some config option?
Or did you test PCIe via the on-board slot?
I used U-Boot v2014.07, in case it matters.
Thanks,
Andreas
Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 16746 AG N?rnberg
PATCH 1/1 ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
Quoted 19 lines · Andreas F?rber
Hi Stephen,
Am 22.08.2014 23:18, schrieb Stephen Warren:
Quoted 7 lines
From: Stephen Warren <[email protected]>
This pinmux tables currently omit any configuration for PCIe
clk_req, wake, and rst pins, which in turn causes intermittent failures in U-Boot's PCIe support. Import an updated version of the pinmux tables which rectifies this.Quoted 8 lines
(While I'm still hoping to remove the pinmux tables from DTs for Tegra124+ devices, while they're still here, they may as well be complete and correct).
Signed-off-by Stephen Warren <[email protected]>--- arch/arm/boot/dts/tegra124-jetson-tk1.dts | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
Quoted 7 lines
I've tested this patch on both -rc1 and yesterday's torvalds/linux.git with
tegra_defconfig: Both with or without this patch I get empty lspci output.There doesn't seem to be a tegra/linux.git for-next branch based on -rc1 yet - are patches from other subsystem trees needed to get the on-board Ethernet detected or maybe some config option?
git://gitorious.org/thierryreding/linux.git staging/pci
Quoted 8 lines
Or did you test PCIe via the on-board slot?
I used U-Boot v2014.07, in case it matters.
Thanks,
Andreas
Cheers,
Mikko
PATCH 1/1 ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
.. and apparently the device tree patches are in staging/tegra.
Quoted 46 lines · Mikko Perttunen
Quoted 20 lines · Andreas F?rber
Hi Stephen,
Am 22.08.2014 23:18, schrieb Stephen Warren:
Quoted 11 lines
From: Stephen Warren <[email protected]>
This pinmux tables currently omit any configuration for PCIe
clk_req, wake, and rst pins, which in turn causes intermittent failures in U-Boot's PCIe support. Import an updated version of the pinmux tables which rectifies this.(While I'm still hoping to remove the pinmux tables from DTs for Tegra124+ devices, while they're still here, they may as well be complete and correct).
Quoted 5 lines
Signed-off-by Stephen Warren <[email protected]>--- arch/arm/boot/dts/tegra124-jetson-tk1.dts | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)Quoted 7 lines
I've tested this patch on both -rc1 and yesterday's torvalds/linux.git with
tegra_defconfig: Both with or without this patch I get empty lspci output.There doesn't seem to be a tegra/linux.git for-next branch based on -rc1 yet - are patches from other subsystem trees needed to get the on-board Ethernet detected or maybe some config option?
git://gitorious.org/thierryreding/linux.gitstaging/pciQuoted 8 lines
Or did you test PCIe via the on-board slot?
I used U-Boot v2014.07, in case it matters.
Thanks,
AndreasCheers,
Mikko
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
PATCH 1/1 ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
Am 25.08.2014 14:10, schrieb Mikko Perttunen:
Quoted 24 lines · Mikko Perttunen
Quoted 23 lines · Andreas F?rber
Quoted 22 lines
Am 22.08.2014 23:18, schrieb Stephen Warren:
Quoted 11 lines
From: Stephen Warren <[email protected]>
This pinmux tables currently omit any configuration for PCIe
clk_req, wake, and rst pins, which in turn causes intermittent failures in U-Boot's PCIe support. Import an updated version of the pinmux tables which rectifies this.(While I'm still hoping to remove the pinmux tables from DTs for Tegra124+ devices, while they're still here, they may as well be complete and correct).
Quoted 5 lines
Signed-off-by Stephen Warren <[email protected]>--- arch/arm/boot/dts/tegra124-jetson-tk1.dts | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)I've tested this patch on both -rc1 and yesterday's torvalds/linux.git with
tegra_defconfig: Both with or without this patch I get empty lspci output.
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
There doesn't seem to be a tegra/linux.git for-next branch based on -rc1 yet - are patches from other subsystem trees needed to get the on-board Ethernet detected or maybe some config option?
git://gitorious.org/thierryreding/linux.gitstaging/pci.. and apparently the device tree patches are in staging/tegra.
Thanks for the URLs. I tested yesterday's staging/master, but booting from SD seemed broked, sdhci-tegra probe kept deferring. Is that a known issue?
PCI bus was getting detected okay before that point though.
Regards,
Andreas
Signature · 2 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 16746 AG N?rnberg
PATCH 1/1 ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
Quoted 29 lines · Andreas F?rber
Am 25.08.2014 14:10, schrieb Mikko Perttunen:
Quoted 28 lines · Mikko Perttunen
Quoted 27 lines · Andreas F?rber
Quoted 25 lines
Am 22.08.2014 23:18, schrieb Stephen Warren:
Quoted 11 lines
From: Stephen Warren <[email protected]>
This pinmux tables currently omit any configuration for PCIe
clk_req, wake, and rst pins, which in turn causes intermittent failures in U-Boot's PCIe support. Import an updated version of the pinmux tables which rectifies this.(While I'm still hoping to remove the pinmux tables from DTs for Tegra124+ devices, while they're still here, they may as well be complete and correct).
Quoted 5 lines
Signed-off-by Stephen Warren <[email protected]>--- arch/arm/boot/dts/tegra124-jetson-tk1.dts | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)I've tested this patch on both -rc1 and yesterday's torvalds/linux.git with
tegra_defconfig: Both with or without this patch I get empty lspci output.There doesn't seem to be a tegra/linux.git for-next branch based on -rc1 yet - are patches from other subsystem trees needed to get the on-board Ethernet detected or maybe some config option?
Quoted 7 lines
Quoted 3 lines
Quoted 1 line
git://gitorious.org/thierryreding/linux.gitstaging/pci.. and apparently the device tree patches are in staging/tegra.
Thanks for the URLs. I tested yesterday's staging/master, but booting from SD seemed broked, sdhci-tegra probe kept deferring. Is that a known issue?
Yes, this is a known issue. The root is that currently there's no way to allow deferred probing if an IOMMU hasn't been probed, so a driver needs to continue without IOMMU support even if the IOMMU would come up later in the boot process. The staging/iommu branch contains a patch to fix it but it looks as if that won't be merged.
I've since removed the code that registers the Tegra SMMU with the code that I introduced but haven't removed the registry patch yet, which will cause the SMMU never to show up and therefore indefinitely deferring probe. You can easily solve this by removing the iommus property from the sdhci nodes in DTS or by removing the calls to iommu_attach() and iommu_detach() from the SDHCI driver (reverting "mmc: sdhci-tegra: Add IOMMU support").
I'll see if I can find the time today to fix up the branches.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140827/1849b2aa/attachment.sig>
PATCH 1/1 ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
Am 27.08.2014 07:52, schrieb Thierry Reding:
Quoted 52 lines · Andreas F?rber
Quoted 29 lines
Am 25.08.2014 14:10, schrieb Mikko Perttunen:
Quoted 28 lines · Mikko Perttunen
Quoted 27 lines · Andreas F?rber
Quoted 25 lines
Am 22.08.2014 23:18, schrieb Stephen Warren:
Quoted 11 lines
From: Stephen Warren <[email protected]>
This pinmux tables currently omit any configuration for PCIe
clk_req, wake, and rst pins, which in turn causes intermittent failures in U-Boot's PCIe support. Import an updated version of the pinmux tables which rectifies this.(While I'm still hoping to remove the pinmux tables from DTs for Tegra124+ devices, while they're still here, they may as well be complete and correct).
Quoted 5 lines
Signed-off-by Stephen Warren <[email protected]>--- arch/arm/boot/dts/tegra124-jetson-tk1.dts | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)I've tested this patch on both -rc1 and yesterday's torvalds/linux.git with
tegra_defconfig: Both with or without this patch I get empty lspci output.There doesn't seem to be a tegra/linux.git for-next branch based on -rc1 yet - are patches from other subsystem trees needed to get the on-board Ethernet detected or maybe some config option?
Quoted 7 lines
Quoted 3 lines
Quoted 1 line
git://gitorious.org/thierryreding/linux.gitstaging/pci.. and apparently the device tree patches are in staging/tegra.
Thanks for the URLs. I tested yesterday's staging/master, but booting from SD seemed broked, sdhci-tegra probe kept deferring. Is that a known issue?
Yes, this is a known issue. The root is that currently there's no way to allow deferred probing if an IOMMU hasn't been probed, so a driver needs to continue without IOMMU support even if the IOMMU would come up later in the boot process. The staging/iommu branch contains a patch to fix it but it looks as if that won't be merged.
I've since removed the code that registers the Tegra SMMU with the code that I introduced but haven't removed the registry patch yet, which will cause the SMMU never to show up and therefore indefinitely deferring probe. You can easily solve this by removing the iommus property from the sdhci nodes in DTS or by removing the calls to
iommu_attach()andiommu_detach()from the SDHCI driver (reverting "mmc: sdhci-tegra: Add IOMMU support").
Quoted 1 line
I'll see if I can find the time today to fix up the branches.
No hurry! I switched to testing the newly updated for-next branch, which works fine so far (been using a USB Ethernet adapter).
Thanks,
Andreas
Signature · 10 lines
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N?rnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend?rffer; HRB 16746 AG N?rnberg -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: OpenPGP digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140827/fef1992e/attachment-0001.sig>
Stephen Warren
AppliedPATCH 1/1 ARM: tegra: add PCIe-related pins to the Jetson TK1 pinmux tables
In reply to Stephen WarrenQuoted 10 lines · Stephen Warren
From: Stephen Warren <[email protected]>
This pinmux tables currently omit any configuration for PCIe
clk_req, wake, and rst pins, which in turn causes intermittent failures in U-Boot's PCIe support. Import an updated version of the pinmux tables which rectifies this.(While I'm still hoping to remove the pinmux tables from DTs for Tegra124+ devices, while they're still here, they may as well be complete and correct).
I've applied this to Tegra's for-3.18/dt branch.