summaryrefslogtreecommitdiffstats
path: root/include/linux/firmware
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2018-10-10 07:46:19 -0400
committerArnd Bergmann <arnd@arndb.de>2018-10-10 07:47:06 -0400
commite4c080a10a23577303c0ef05c37c18661f758f34 (patch)
tree546133150e70de482d394bda623ba2ae75a48a55 /include/linux/firmware
parentf7d87826fe482dbe4b0675f99c1eae2890a2d8fb (diff)
parent3fde0e16d016ecb273f0fa404b5d56b947fc0576 (diff)
Merge tag 'zynqmp-soc-clk-for-v4.20' of https://github.com/Xilinx/linux-xlnx into next/drivers
arm64: zynqmp: SoC CLK changes for v4.20 This patchset adds CCF compliant clock driver for ZynqMP. Clock driver queries supported clock information from firmware and regiters pll and output clocks with CCF. * tag 'zynqmp-soc-clk-for-v4.20' of https://github.com/Xilinx/linux-xlnx: drivers: clk: Add ZynqMP clock driver dt-bindings: clock: Add bindings for ZynqMP clock driver firmware: xilinx: Add zynqmp IOCTL API for device control Documentation: xilinx: Add documentation for eemi APIs Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/firmware')
-rw-r--r--include/linux/firmware/xlnx-zynqmp.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/firmware/xlnx-zynqmp.h b/include/linux/firmware/xlnx-zynqmp.h
index 015e130431e6..3c3c28eff56a 100644
--- a/include/linux/firmware/xlnx-zynqmp.h
+++ b/include/linux/firmware/xlnx-zynqmp.h
@@ -34,7 +34,8 @@
34 34
35enum pm_api_id { 35enum pm_api_id {
36 PM_GET_API_VERSION = 1, 36 PM_GET_API_VERSION = 1,
37 PM_QUERY_DATA = 35, 37 PM_IOCTL = 34,
38 PM_QUERY_DATA,
38 PM_CLOCK_ENABLE, 39 PM_CLOCK_ENABLE,
39 PM_CLOCK_DISABLE, 40 PM_CLOCK_DISABLE,
40 PM_CLOCK_GETSTATE, 41 PM_CLOCK_GETSTATE,
@@ -71,6 +72,7 @@ enum pm_query_id {
71 PM_QID_CLOCK_GET_FIXEDFACTOR_PARAMS, 72 PM_QID_CLOCK_GET_FIXEDFACTOR_PARAMS,
72 PM_QID_CLOCK_GET_PARENTS, 73 PM_QID_CLOCK_GET_PARENTS,
73 PM_QID_CLOCK_GET_ATTRIBUTES, 74 PM_QID_CLOCK_GET_ATTRIBUTES,
75 PM_QID_CLOCK_GET_NUM_CLOCKS = 12,
74}; 76};
75 77
76/** 78/**
@@ -99,6 +101,7 @@ struct zynqmp_eemi_ops {
99 int (*clock_getrate)(u32 clock_id, u64 *rate); 101 int (*clock_getrate)(u32 clock_id, u64 *rate);
100 int (*clock_setparent)(u32 clock_id, u32 parent_id); 102 int (*clock_setparent)(u32 clock_id, u32 parent_id);
101 int (*clock_getparent)(u32 clock_id, u32 *parent_id); 103 int (*clock_getparent)(u32 clock_id, u32 *parent_id);
104 int (*ioctl)(u32 node_id, u32 ioctl_id, u32 arg1, u32 arg2, u32 *out);
102}; 105};
103 106
104#if IS_REACHABLE(CONFIG_ARCH_ZYNQMP) 107#if IS_REACHABLE(CONFIG_ARCH_ZYNQMP)