Changeset View
Changeset View
Standalone View
Standalone View
sys/arm/xilinx/zy7_devcfg.c
Show All 12 Lines | |||||
#define RD4(sc, off) (bus_read_4((sc)->mem_res, (off))) | #define RD4(sc, off) (bus_read_4((sc)->mem_res, (off))) | ||||
#define WR4(sc, off, val) (bus_write_4((sc)->mem_res, (off), (val))) | #define WR4(sc, off, val) (bus_write_4((sc)->mem_res, (off), (val))) | ||||
SYSCTL_NODE(_hw, OID_AUTO, fpga, CTLFLAG_RD, 0, \ | SYSCTL_NODE(_hw, OID_AUTO, fpga, CTLFLAG_RD, 0, \ | ||||
"Xilinx Zynq-7000 PL (FPGA) section"); | "Xilinx Zynq-7000 PL (FPGA) section"); | ||||
static int zy7_devcfg_sysctl_pl_done(SYSCTL_HANDLER_ARGS); | static int zy7_devcfg_sysctl_pl_done(SYSCTL_HANDLER_ARGS); | ||||
SYSCTL_PROC(_hw_fpga, OID_AUTO, pl_done, CTLTYPE_INT | CTLFLAG_RD, NULL, 0, | SYSCTL_PROC(_hw_fpga, OID_AUTO, pl_done, | ||||
zy7_devcfg_sysctl_pl_done, "I", "PL section config DONE signal"); | CTLTYPE_INT | CTLFLAG_RD | CTLFLAG_NEEDGIANT, NULL, 0, | ||||
zy7_devcfg_sysctl_pl_done, "I", | |||||
"PL section config DONE signal"); | |||||
static int zy7_en_level_shifters = 1; | static int zy7_en_level_shifters = 1; | ||||
SYSCTL_INT(_hw_fpga, OID_AUTO, en_level_shifters, CTLFLAG_RW, | SYSCTL_INT(_hw_fpga, OID_AUTO, en_level_shifters, CTLFLAG_RW, | ||||
&zy7_en_level_shifters, 0, | &zy7_en_level_shifters, 0, | ||||
"Enable PS-PL level shifters after device config"); | "Enable PS-PL level shifters after device config"); | ||||
static int zy7_ps_vers = 0; | static int zy7_ps_vers = 0; | ||||
SYSCTL_INT(_hw, OID_AUTO, ps_vers, CTLFLAG_RD, &zy7_ps_vers, 0, | SYSCTL_INT(_hw, OID_AUTO, ps_vers, CTLFLAG_RD, &zy7_ps_vers, 0, | ||||
"Zynq-7000 PS version"); | "Zynq-7000 PS version"); | ||||
static int zy7_devcfg_fclk_sysctl_level_shifters(SYSCTL_HANDLER_ARGS); | static int zy7_devcfg_fclk_sysctl_level_shifters(SYSCTL_HANDLER_ARGS); | ||||
SYSCTL_PROC(_hw_fpga, OID_AUTO, level_shifters, | SYSCTL_PROC(_hw_fpga, OID_AUTO, level_shifters, | ||||
CTLFLAG_RW | CTLTYPE_INT, | CTLFLAG_RW | CTLTYPE_INT | CTLFLAG_NEEDGIANT, | ||||
NULL, 0, zy7_devcfg_fclk_sysctl_level_shifters, | NULL, 0, zy7_devcfg_fclk_sysctl_level_shifters, "I", | ||||
"I", "Enable/disable level shifters"); | "Enable/disable level shifters"); | ||||
/* cdev entry points. */ | /* cdev entry points. */ | ||||
static int zy7_devcfg_open(struct cdev *, int, int, struct thread *); | static int zy7_devcfg_open(struct cdev *, int, int, struct thread *); | ||||
static int zy7_devcfg_write(struct cdev *, struct uio *, int); | static int zy7_devcfg_write(struct cdev *, struct uio *, int); | ||||
static int zy7_devcfg_close(struct cdev *, int, int, struct thread *); | static int zy7_devcfg_close(struct cdev *, int, int, struct thread *); | ||||
struct cdevsw zy7_devcfg_cdevsw = { | struct cdevsw zy7_devcfg_cdevsw = { | ||||
.d_version = D_VERSION, | .d_version = D_VERSION, | ||||
Show All 24 Lines | |||||
SYSCTL_ADD_INT(&sc->sysctl_tree, | SYSCTL_ADD_INT(&sc->sysctl_tree, | ||||
SYSCTL_CHILDREN(fclk_node), OID_AUTO, | SYSCTL_CHILDREN(fclk_node), OID_AUTO, | ||||
"actual_freq", CTLFLAG_RD, | "actual_freq", CTLFLAG_RD, | ||||
&fclk_configs[i].actual_frequency, i, | &fclk_configs[i].actual_frequency, i, | ||||
"Actual frequency"); | "Actual frequency"); | ||||
SYSCTL_ADD_PROC(&sc->sysctl_tree, | SYSCTL_ADD_PROC(&sc->sysctl_tree, | ||||
SYSCTL_CHILDREN(fclk_node), OID_AUTO, | SYSCTL_CHILDREN(fclk_node), OID_AUTO, | ||||
"freq", CTLFLAG_RW | CTLTYPE_INT, | "freq", CTLFLAG_RW | CTLTYPE_INT | CTLFLAG_NEEDGIANT, | ||||
&fclk_configs[i], i, | &fclk_configs[i], i, | ||||
zy7_devcfg_fclk_sysctl_freq, | zy7_devcfg_fclk_sysctl_freq, | ||||
"I", "Configured frequency"); | "I", "Configured frequency"); | ||||
SYSCTL_ADD_PROC(&sc->sysctl_tree, | SYSCTL_ADD_PROC(&sc->sysctl_tree, | ||||
SYSCTL_CHILDREN(fclk_node), OID_AUTO, | SYSCTL_CHILDREN(fclk_node), OID_AUTO, | ||||
"source", CTLFLAG_RW | CTLTYPE_STRING, | "source", CTLFLAG_RW | CTLTYPE_STRING | CTLFLAG_NEEDGIANT, | ||||
&fclk_configs[i], i, | &fclk_configs[i], i, | ||||
zy7_devcfg_fclk_sysctl_source, | zy7_devcfg_fclk_sysctl_source, | ||||
"A", "Clock source"); | "A", "Clock source"); | ||||
} | } | ||||
return (0); | return (0); | ||||
} | } | ||||
Show All 12 Lines |