/linux/Documentation/devicetree/bindings/firmware/ |
H A D | fsl,scu.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/firmware/fsl,scu.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Dong Aisheng <aisheng.dong@nxp.com> 13 The System Controller Firmware (SCFW) is a low-level system function 14 which runs on a dedicated Cortex-M core to provide power, clock, and 17 The AP communicates with the SC using a multi-ported MU module found 26 const: fsl,imx-scu 28 clock-controller: [all …]
|
/linux/drivers/clk/imx/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 3 mxc-clk-objs += clk.o 4 mxc-clk-objs += clk-busy.o 5 mxc-clk-objs += clk-composite-7ulp.o 6 mxc-clk-objs += clk-composite-8m.o 7 mxc-clk-objs += clk-composite-93.o 8 mxc-clk-objs += clk-fracn-gppll.o 9 mxc-clk-objs += clk-cpu.o 10 mxc-clk-objs += clk-divider-gate.o 11 mxc-clk-objs += clk-fixup-div.o [all …]
|
H A D | clk-scu.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Copyright 2018-2021 NXP 7 #include <dt-bindings/firmware/imx/rsrc.h> 8 #include <linux/arm-smccc.h> 10 #include <linux/clk-provider.h> 13 #include <linux/firmware/imx/svc/rm.h> 20 #include "clk-scu.h" 44 * struct clk_scu - Description of one SCU clock 46 * @rsrc_id: resource ID of this SCU clock 62 * struct clk_gpr_scu - Description of one SCU GPR clock [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0 4 tristate "IMX clock" 96 tristate "IMX8QXP SCU Clock" 102 Build the driver for IMX8QXP SCU based clocks.
|
/linux/Documentation/devicetree/bindings/input/ |
H A D | fsl,scu-key.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/input/fsl,scu-key.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: i.MX SCU Client Device Node - SCU Key Based on SCU Message Protocol 10 - Dong Aisheng <aisheng.dong@nxp.com> 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 16 - $ref: input.yaml# 21 - const: fsl,imx8qxp-sc-key [all …]
|
/linux/Documentation/devicetree/bindings/watchdog/ |
H A D | fsl,scu-wdt.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/watchdog/fsl,scu-wdt.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: i.MX SCU Client Device Node - Watchdog Based on SCU Message Protocol 10 - Dong Aisheng <aisheng.dong@nxp.com> 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 16 - $ref: watchdog.yaml# 21 - enum: [all …]
|
/linux/drivers/gpio/ |
H A D | gpio-imx-scu.c | 1 // SPDX-License-Identifier: GPL-2.0-only 6 * to control the PIN resources on SCU domain. 13 #include <linux/firmware/imx/svc/rm.h> 14 #include <dt-bindings/firmware/imx/rsrc.h> 40 if (offset >= chip->ngpio) in imx_scu_gpio_get() 41 return -EINVAL; in imx_scu_gpio_get() 43 mutex_lock(&priv->lock); in imx_scu_gpio_get() 45 /* to read PIN state via scu api */ in imx_scu_gpio_get() 46 err = imx_sc_misc_get_control(priv->handle, in imx_scu_gpio_get() 48 mutex_unlock(&priv->lock); in imx_scu_gpio_get() [all …]
|
/linux/drivers/firmware/imx/ |
H A D | Makefile | 1 # SPDX-License-Identifier: GPL-2.0 2 obj-$(CONFIG_IMX_DSP) += imx-dsp.o 3 obj-$(CONFIG_IMX_SCU) += imx-scu.o misc.o imx-scu-irq.o rm.o imx-scu-soc.o 4 obj-${CONFIG_IMX_SCMI_MISC_DRV} += sm-misc.o
|
H A D | imx-scu.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 * Implementation of the SCU IPC functions using MUs (client side). 11 #include <linux/firmware/imx/ipc.h> 12 #include <linux/firmware/imx/sci.h> 36 /* SCU uses 4 Tx and 4 Rx channels */ 43 /* temporarily store the SCU msg */ 70 -EINVAL, /* IMX_SC_ERR_VERSION */ 71 -EINVAL, /* IMX_SC_ERR_CONFIG */ 72 -EINVAL, /* IMX_SC_ERR_PARM */ 73 -EACCES, /* IMX_SC_ERR_NOACCESS */ [all …]
|
H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 3 tristate "IMX DSP Protocol driver" 14 bool "IMX SCU Protocol driver" 18 The System Controller Firmware (SCFW) is a low-level system function 19 which runs on a dedicated Cortex-M core to provide power, clock, and 24 SCU firmware running on M4. 27 tristate "IMX SCMI MISC Protocol driver" 31 a low-level system function which runs on a dedicated Cortex-M
|
H A D | imx-scu-irq.c | 1 // SPDX-License-Identifier: GPL-2.0+ 5 * Implementation of the SCU IRQ functions using MU. 9 #include <dt-bindings/firmware/imx/rsrc.h> 10 #include <linux/firmware/imx/ipc.h> 11 #include <linux/firmware/imx/sci.h> 123 hdr->ver = IMX_SC_RPC_VERSION; in imx_scu_irq_get_status() 124 hdr->svc = IMX_SC_RPC_SVC_IRQ; in imx_scu_irq_get_status() 125 hdr->func = IMX_SC_IRQ_FUNC_STATUS; in imx_scu_irq_get_status() 126 hdr->size = 2; in imx_scu_irq_get_status() 149 return -EPROBE_DEFER; in imx_scu_irq_group_enable() [all …]
|
H A D | imx-scu-soc.c | 1 // SPDX-License-Identifier: GPL-2.0 6 #include <dt-bindings/firmware/imx/rsrc.h> 7 #include <linux/firmware/imx/sci.h> 40 hdr->ver = IMX_SC_RPC_VERSION; in imx_scu_soc_uid() 41 hdr->svc = IMX_SC_RPC_SVC_MISC; in imx_scu_soc_uid() 42 hdr->func = IMX_SC_MISC_FUNC_UNIQUE_ID; in imx_scu_soc_uid() 43 hdr->size = 1; in imx_scu_soc_uid() 64 hdr->ver = IMX_SC_RPC_VERSION; in imx_scu_soc_id() 65 hdr->svc = IMX_SC_RPC_SVC_MISC; in imx_scu_soc_id() 66 hdr->func = IMX_SC_MISC_FUNC_GET_CONTROL; in imx_scu_soc_id() [all …]
|
/linux/Documentation/devicetree/bindings/thermal/ |
H A D | fsl,scu-thermal.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/thermal/fsl,scu-thermal.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: i.MX SCU Client Device Node - Thermal Based on SCU Message Protocol 10 - Dong Aisheng <aisheng.dong@nxp.com> 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 16 - $ref: thermal-sensor.yaml# 21 - enum: [all …]
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | fsl,scu-pinctrl.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/pinctrl/fsl,scu-pinctrl.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: i.MX SCU Client Device Node - Pinctrl Based on SCU Message Protocol 10 - Dong Aisheng <aisheng.dong@nxp.com> 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 15 (Documentation/devicetree/bindings/pinctrl/fsl,imx-pinctrl.txt) 18 - $ref: pinctrl.yaml# [all …]
|
/linux/drivers/input/keyboard/ |
H A D | imx_sc_key.c | 1 // SPDX-License-Identifier: GPL-2.0 8 #include <linux/firmware/imx/sci.h> 50 schedule_delayed_work(&priv->check_work, in imx_sc_key_notify() 52 pm_wakeup_event(priv->input->dev.parent, 0); in imx_sc_key_notify() 64 struct input_dev *input = priv->input; in imx_sc_check_for_events() 70 hdr->ver = IMX_SC_RPC_VERSION; in imx_sc_check_for_events() 71 hdr->svc = IMX_SC_RPC_SVC_MISC; in imx_sc_check_for_events() 72 hdr->func = IMX_SC_MISC_FUNC_GET_BUTTON_STATUS; in imx_sc_check_for_events() 73 hdr->size = 1; in imx_sc_check_for_events() 75 error = imx_scu_call_rpc(priv->key_ipc_handle, &msg, true); in imx_sc_check_for_events() [all …]
|
/linux/Documentation/devicetree/bindings/power/ |
H A D | fsl,scu-pd.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/power/fsl,scu-pd.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: i.MX SCU Client Device Node - Power Domain Based on SCU Message Protocol 10 - Dong Aisheng <aisheng.dong@nxp.com> 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 14 Power domain bindings based on SCU Message Protocol 17 - $ref: power-domain.yaml# [all …]
|
/linux/Documentation/devicetree/bindings/nvmem/ |
H A D | fsl,scu-ocotp.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/nvmem/fsl,scu-ocotp.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: i.MX SCU Client Device Node - OCOTP Based on SCU Message Protocol 10 - Dong Aisheng <aisheng.dong@nxp.com> 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 16 - $ref: nvmem.yaml# 21 - fsl,imx8qm-scu-ocotp [all …]
|
/linux/Documentation/devicetree/bindings/clock/ |
H A D | fsl,scu-clk.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/clock/fsl,scu-clk.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: i.MX SCU Client Device Node - Clock Controller Based on SCU Message Protocol 10 - Abel Vesa <abel.vesa@nxp.com> 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 15 (Documentation/devicetree/bindings/clock/clock-bindings.txt) 18 include/dt-bindings/clock/imx8qxp-clock.h [all …]
|
/linux/Documentation/devicetree/bindings/rtc/ |
H A D | fsl,scu-rtc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/rtc/fsl,scu-rtc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: i.MX SCU Client Device Node - RTC Based on SCU Message Protocol 10 - Dong Aisheng <aisheng.dong@nxp.com> 12 description: i.MX SCU Client Device Node 13 Client nodes are maintained as children of the relevant IMX-SCU device node. 16 - $ref: rtc.yaml# 20 const: fsl,imx8qxp-sc-rtc [all …]
|
/linux/drivers/nvmem/ |
H A D | imx-ocotp-scu.c | 1 // SPDX-License-Identifier: GPL-2.0+ 10 #include <linux/arm-smccc.h> 11 #include <linux/firmware/imx/sci.h> 13 #include <linux/nvmem-provider.h> 78 const struct ocotp_devtype_data *data = priv->data; in in_hole() 81 for (i = 0; i < data->num_region; i++) { in in_hole() 82 if (data->region[i].flag & HOLE_REGION) { in in_hole() 83 if ((index >= data->region[i].start) && in in_hole() 84 (index <= data->region[i].end)) in in_hole() 95 const struct ocotp_devtype_data *data = priv->data; in in_ecc() [all …]
|
/linux/drivers/pmdomain/imx/ |
H A D | scu-pd.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * Copyright 2017-2018 NXP 7 * Implementation of the SCU based Power Domains 10 * single global power domain and implement the ->attach|detach_dev() 12 * From within the ->attach_dev(), we could get the OF node for 13 * the device that is being attached and then parse the power-domain 18 * Additionally, we need to implement the ->stop() and ->start() 20 * rather than using the above ->power_on|off() callbacks. 23 * 1. The ->attach_dev() of power domain infrastructure still does 32 * Update: Genpd assigns the ->of_node for the virtual device before it [all …]
|
/linux/Documentation/devicetree/bindings/gpio/ |
H A D | fsl,imx8qxp-sc-gpio.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/gpio/fsl,imx8qxp-sc-gpio.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: GPIO driver over IMX SCU firmware API 10 - Shenwei Wang <shenwei.wang@nxp.com> 14 resource pins in SCU domain on i.MX8 platforms. 19 - fsl,imx8qxp-sc-gpio 21 "#gpio-cells": 24 gpio-controller: true [all …]
|
/linux/drivers/pinctrl/freescale/ |
H A D | pinctrl-scu.c | 1 // SPDX-License-Identifier: GPL-2.0+ 4 * Copyright 2017-2018 NXP 9 #include <linux/firmware/imx/sci.h> 16 #include "pinctrl-imx.h" 68 hdr->ver = IMX_SC_RPC_VERSION; in imx_pinconf_get_scu() 69 hdr->svc = IMX_SC_RPC_SVC_PAD; in imx_pinconf_get_scu() 70 hdr->func = IMX_SC_PAD_FUNC_GET; in imx_pinconf_get_scu() 71 hdr->size = 2; in imx_pinconf_get_scu() 80 *config = resp->val; in imx_pinconf_get_scu() 101 hdr->ver = IMX_SC_RPC_VERSION; in imx_pinconf_set_scu() [all …]
|
H A D | pinctrl-imx.h | 1 /* SPDX-License-Identifier: GPL-2.0+ */ 3 * IMX pinmux core definitions 22 * struct imx_pin_mmio - MMIO pin configurations 37 * struct imx_pin_scu - SCU pin configurations 47 * struct imx_pin - describes a single i.MX pin 49 * @conf: config type of this pin, either mmio or scu 55 struct imx_pin_scu scu; member 60 * struct imx_pin_reg - describe a pin reg map 116 #define PAD_CTL_MASK(len) ((1 << len) - 1)
|
/linux/drivers/watchdog/ |
H A D | imx_sc_wdt.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Copyright 2018-2019 NXP. 6 #include <linux/arm-smccc.h> 7 #include <linux/firmware/imx/sci.h> 87 return -EACCES; in imx_sc_wdt_start() 92 return res.a0 ? -EACCES : 0; in imx_sc_wdt_start() 102 return res.a0 ? -EACCES : 0; in imx_sc_wdt_stop() 110 wdog->timeout = timeout; in imx_sc_wdt_set_timeout() 114 return res.a0 ? -EACCES : 0; in imx_sc_wdt_set_timeout() 123 * SCU firmware calculates pretimeout based on current time in imx_sc_wdt_set_pretimeout() [all …]
|