mirror of
git://nv-tegra.nvidia.com/linux-nv-oot.git
synced 2025-12-22 17:25:35 +03:00
nvethernet: remove MGBE MDIO/MDC pad programming
Remove PAD programming for MGBE MDIO and MDC PADs and apply pinctrl state if pinctrl present inside DT. Bug 200759606 Change-Id: Ib7f41532687dea2935c619e2335a2afd2c3ff8d6 Signed-off-by: Bhadram Varka <vbhadram@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2593806 Reviewed-by: svcacv <svcacv@nvidia.com> Reviewed-by: Narayan Reddy <narayanr@nvidia.com> Reviewed-by: Rakesh Goyal <rgoyal@nvidia.com> Reviewed-by: Bitan Biswas <bbiswas@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
Revanth Kumar Uppala
parent
68e7a47f9c
commit
a91720a4d7
@@ -6021,66 +6021,21 @@ static int ether_probe(struct platform_device *pdev)
|
|||||||
struct osi_dma_priv_data *osi_dma;
|
struct osi_dma_priv_data *osi_dma;
|
||||||
struct osi_ioctl ioctl_data = {};
|
struct osi_ioctl ioctl_data = {};
|
||||||
struct net_device *ndev;
|
struct net_device *ndev;
|
||||||
int ret = 0, i, val;
|
int ret = 0, i;
|
||||||
void __iomem *reg;
|
|
||||||
const char *if_name;
|
const char *if_name;
|
||||||
|
|
||||||
/* WAR to program PAD control registers until MB1 changes done */
|
|
||||||
if (tegra_get_chip_id() == TEGRA234) {
|
|
||||||
reg = ioremap(0x2445038, 4);
|
|
||||||
val = 0x2440;
|
|
||||||
writel(val, reg);
|
|
||||||
iounmap(reg);
|
|
||||||
|
|
||||||
reg = ioremap(0x2445048, 4);
|
|
||||||
val = 0x2400;
|
|
||||||
writel(val, reg);
|
|
||||||
iounmap(reg);
|
|
||||||
|
|
||||||
reg = ioremap(0x2440000, 4);
|
|
||||||
val = 0x440;
|
|
||||||
writel(val, reg);
|
|
||||||
iounmap(reg);
|
|
||||||
|
|
||||||
reg = ioremap(0x2440008, 4);
|
|
||||||
val = 0x400;
|
|
||||||
writel(val, reg);
|
|
||||||
iounmap(reg);
|
|
||||||
|
|
||||||
reg = ioremap(0x2440018, 4);
|
|
||||||
val = 0x440;
|
|
||||||
writel(val, reg);
|
|
||||||
iounmap(reg);
|
|
||||||
|
|
||||||
reg = ioremap(0x2440028, 4);
|
|
||||||
val = 0x400;
|
|
||||||
writel(val, reg);
|
|
||||||
iounmap(reg);
|
|
||||||
|
|
||||||
reg = ioremap(0x2440048, 4);
|
|
||||||
val = 0x440;
|
|
||||||
writel(val, reg);
|
|
||||||
iounmap(reg);
|
|
||||||
|
|
||||||
reg = ioremap(0x2440010, 4);
|
|
||||||
val = 0x400;
|
|
||||||
writel(val, reg);
|
|
||||||
iounmap(reg);
|
|
||||||
|
|
||||||
reg = ioremap(0x2440038, 4);
|
|
||||||
val = 0x440;
|
|
||||||
writel(val, reg);
|
|
||||||
iounmap(reg);
|
|
||||||
|
|
||||||
reg = ioremap(0x2440040, 4);
|
|
||||||
val = 0x400;
|
|
||||||
writel(val, reg);
|
|
||||||
iounmap(reg);
|
|
||||||
}
|
|
||||||
|
|
||||||
ether_get_num_dma_chan_mtl_q(pdev, &num_dma_chans,
|
ether_get_num_dma_chan_mtl_q(pdev, &num_dma_chans,
|
||||||
&mac, &num_mtl_queues);
|
&mac, &num_mtl_queues);
|
||||||
|
|
||||||
|
if (mac == OSI_MAC_HW_MGBE) {
|
||||||
|
ret = pinctrl_pm_select_default_state(&pdev->dev);
|
||||||
|
if (ret < 0) {
|
||||||
|
dev_err(&pdev->dev,
|
||||||
|
"Failed to apply pinctl states: %d\n", ret);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
osi_core = osi_get_core();
|
osi_core = osi_get_core();
|
||||||
if (osi_core == NULL) {
|
if (osi_core == NULL) {
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
|
|
||||||
#include <linux/platform/tegra/ptp-notifier.h>
|
#include <linux/platform/tegra/ptp-notifier.h>
|
||||||
#include <linux/ptp_clock_kernel.h>
|
#include <linux/ptp_clock_kernel.h>
|
||||||
|
#include <linux/pinctrl/consumer.h>
|
||||||
#include <linux/platform_device.h>
|
#include <linux/platform_device.h>
|
||||||
#include <linux/etherdevice.h>
|
#include <linux/etherdevice.h>
|
||||||
#include <linux/net_tstamp.h>
|
#include <linux/net_tstamp.h>
|
||||||
|
|||||||
Reference in New Issue
Block a user