Skip to content
Snippets Groups Projects
Commit 664b6520 authored by Hou Zhiqiang's avatar Hou Zhiqiang Committed by York Sun
Browse files

fsl: csu: add an API to set R/W permission to PCIe

parent c37fdbdb
No related branches found
No related tags found
No related merge requests found
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
#ifndef __FSL_NS_ACCESS_H_ #ifndef __FSL_NS_ACCESS_H_
#define __FSL_NS_ACCESS_H_ #define __FSL_NS_ACCESS_H_
#include <fsl_csu.h>
enum csu_cslx_ind { enum csu_cslx_ind {
CSU_CSLX_PCIE2_IO = 0, CSU_CSLX_PCIE2_IO = 0,
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include <asm/io.h> #include <asm/io.h>
#include <fsl_csu.h> #include <fsl_csu.h>
#include <asm/arch/ns_access.h> #include <asm/arch/ns_access.h>
#include <asm/arch/fsl_serdes.h>
void set_devices_ns_access(struct csu_ns_dev *ns_dev, u16 val) void set_devices_ns_access(struct csu_ns_dev *ns_dev, u16 val)
{ {
...@@ -40,3 +41,30 @@ void enable_layerscape_ns_access(void) ...@@ -40,3 +41,30 @@ void enable_layerscape_ns_access(void)
{ {
enable_devices_ns_access(ns_dev, ARRAY_SIZE(ns_dev)); enable_devices_ns_access(ns_dev, ARRAY_SIZE(ns_dev));
} }
void set_pcie_ns_access(int pcie, u16 val)
{
switch (pcie) {
#ifdef CONFIG_PCIE1
case PCIE1:
set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE1], val);
set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE1_IO], val);
return;
#endif
#ifdef CONFIG_PCIE2
case PCIE2:
set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE2], val);
set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE2_IO], val);
return;
#endif
#ifdef CONFIG_PCIE3
case PCIE3:
set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE3], val);
set_devices_ns_access(&ns_dev[CSU_CSLX_PCIE3_IO], val);
return;
#endif
default:
debug("The PCIE%d doesn't exist!\n", pcie);
return;
}
}
...@@ -31,5 +31,6 @@ struct csu_ns_dev { ...@@ -31,5 +31,6 @@ struct csu_ns_dev {
void enable_layerscape_ns_access(void); void enable_layerscape_ns_access(void);
void set_devices_ns_access(struct csu_ns_dev *ns_dev, u16 val); void set_devices_ns_access(struct csu_ns_dev *ns_dev, u16 val);
void set_pcie_ns_access(int pcie, u16 val);
#endif #endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment