diff options
| author | Soby Mathew <soby.mathew@arm.com> | 2018-09-03 08:56:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-09-03 08:56:19 +0100 |
| commit | d853d3b2de8d7bdbcd445c086c1df4c54bdc25c8 (patch) | |
| tree | 3368270556e1f2cb17f0528450cce380f450b660 | |
| parent | a12569124b35039386e22895135e4f5830faf629 (diff) | |
| parent | ec9712cee18ab23f5950f9f860a7b1550440abad (diff) | |
Merge pull request #1541 from rajanv-xilinx/integration-num-clocks
zynqmp: pm: Add API to get number of clocks
| -rw-r--r-- | plat/xilinx/zynqmp/pm_service/pm_api_clock.c | 15 | ||||
| -rw-r--r-- | plat/xilinx/zynqmp/pm_service/pm_api_clock.h | 1 | ||||
| -rw-r--r-- | plat/xilinx/zynqmp/pm_service/pm_api_sys.c | 17 | ||||
| -rw-r--r-- | plat/xilinx/zynqmp/pm_service/pm_api_sys.h | 1 |
4 files changed, 34 insertions, 0 deletions
diff --git a/plat/xilinx/zynqmp/pm_service/pm_api_clock.c b/plat/xilinx/zynqmp/pm_service/pm_api_clock.c index a41eebbc..fefd9ea8 100644 --- a/plat/xilinx/zynqmp/pm_service/pm_api_clock.c +++ b/plat/xilinx/zynqmp/pm_service/pm_api_clock.c @@ -2307,6 +2307,21 @@ static unsigned int pm_clock_type(unsigned int clock_id) } /** + * pm_api_clock_get_num_clocks() - PM call to request number of clocks + * @nclocks Number of clocks + * + * This function is used by master to get number of clocks. + * + * @return Returns success. + */ +enum pm_ret_status pm_api_clock_get_num_clocks(unsigned int *nclocks) +{ + *nclocks = CLK_MAX; + + return PM_RET_SUCCESS; +} + +/** * pm_api_clock_get_name() - PM call to request a clock's name * @clock_id Clock ID * @name Name of clock (max 16 bytes) diff --git a/plat/xilinx/zynqmp/pm_service/pm_api_clock.h b/plat/xilinx/zynqmp/pm_service/pm_api_clock.h index 56f850a4..386f2753 100644 --- a/plat/xilinx/zynqmp/pm_service/pm_api_clock.h +++ b/plat/xilinx/zynqmp/pm_service/pm_api_clock.h @@ -276,6 +276,7 @@ enum { enum pm_ret_status pm_api_clock_get_name(unsigned int clock_id, char *name); +enum pm_ret_status pm_api_clock_get_num_clocks(unsigned int *nclocks); enum pm_ret_status pm_api_clock_get_topology(unsigned int clock_id, unsigned int index, uint32_t *topology); diff --git a/plat/xilinx/zynqmp/pm_service/pm_api_sys.c b/plat/xilinx/zynqmp/pm_service/pm_api_sys.c index 133043da..fe1029f6 100644 --- a/plat/xilinx/zynqmp/pm_service/pm_api_sys.c +++ b/plat/xilinx/zynqmp/pm_service/pm_api_sys.c @@ -713,6 +713,19 @@ enum pm_ret_status pm_ioctl(enum pm_node_id nid, } /** + * pm_clock_get_num_clocks - PM call to request number of clocks + * @nclockss: Number of clocks + * + * This function is used by master to get number of clocks. + * + * Return: Returns status, either success or error+reason. + */ +static enum pm_ret_status pm_clock_get_num_clocks(uint32_t *nclocks) +{ + return pm_api_clock_get_num_clocks(nclocks); +} + +/** * pm_clock_get_name() - PM call to request a clock's name * @clock_id Clock ID * @name Name of clock (max 16 bytes) @@ -1118,6 +1131,10 @@ enum pm_ret_status pm_query_data(enum pm_query_id qid, (uint16_t *)&data[1]); data[0] = (unsigned int)ret; break; + case PM_QID_CLOCK_GET_NUM_CLOCKS: + ret = pm_clock_get_num_clocks(&data[1]); + data[0] = (unsigned int)ret; + break; default: ret = PM_RET_ERROR_ARGS; WARN("Unimplemented query service call: 0x%x\n", qid); diff --git a/plat/xilinx/zynqmp/pm_service/pm_api_sys.h b/plat/xilinx/zynqmp/pm_service/pm_api_sys.h index 55a8a6ea..c304895a 100644 --- a/plat/xilinx/zynqmp/pm_service/pm_api_sys.h +++ b/plat/xilinx/zynqmp/pm_service/pm_api_sys.h @@ -23,6 +23,7 @@ enum pm_query_id { PM_QID_PINCTRL_GET_FUNCTION_NAME, PM_QID_PINCTRL_GET_FUNCTION_GROUPS, PM_QID_PINCTRL_GET_PIN_GROUPS, + PM_QID_CLOCK_GET_NUM_CLOCKS, }; /********************************************************** |
