optee: support asynchronous supplicant requests
Adds support for asynchronous supplicant requests, meaning that the
supplicant can process several requests in parallel or block in a
request for some time.
Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Tested-by: Etienne Carriere <etienne.carriere@linaro.org> (b2260 pager=y/n)
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
From: https://github.com/linaro-swg/linux.git
(cherry picked from commit c0b5b087a78777155603b0eb68...
tee: add TEE_IOCTL_PARAM_ATTR_META
Adds TEE_IOCTL_PARAM_ATTR_META with can be used to indicate meta
parameters when communicating with user space. These meta parameters can
be used by supplicant support multiple parallel requests at a time.
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Modified from: From: https://github.com/linaro-swg/linux.git
Conflicts:
drivers/tee/tee_core.c
(cherry picked from commit 66d81fcf145...
tee: indicate privileged dev in gen_caps
Mirrors the TEE_DESC_PRIVILEGED bit of struct tee_desc:flags into struct
tee_ioctl_version_data:gen_caps as TEE_GEN_CAP_PRIVILEGED in
tee_ioctl_version()
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
From: https://github.com/linaro-swg/linux.git
(cherry picked from commit 627497c586eb6074f0241d772bd0b795b709f9ba)
tee: add kernel internal client interface **not for mainline**
Adds a kernel internal TEE client interface to be used by other drivers.
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
From: https://github.com/linaro-swg/linux.git
(cherry picked from commit 860c46087c99c24073cc722b12c0017bb0ce0a79)
tee: new ioctl to a register tee_shm from a dmabuf file descriptor
This change allows userland to create a tee_shm object that refers
to a dmabuf reference.
Userland provides a dmabuf file descriptor as buffer reference.
The created tee_shm object exported as a brand new dmabuf reference
used to provide a clean fd to userland. Userland shall closed this new
fd to release the tee_shm object resources. The initial dmabuf resources
are tracked independently through original dmabuf file descrip...
include/linux/arm-smccc.h: avoid sign extension problem
Prior to this patch the ARM_SMCCC_FAST_CALL constant was of an unsigned
type causing unwanted sign extension. This patch explicitly selects an
unsigned type for the constant.
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested-by: Jens Wiklander <jens.wiklander@linaro.org> (QEMU Aarch64)
Reported-by: Saksham Jain <sakjain92@gmail.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
From https://github.com/linaro-swg/l...
Documentation: tee subsystem and op-tee driver
Acked-by: Andreas Dannenberg <dannenberg@ti.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
(cherry picked from commit 6a6e77006fcdba89708214556c6d560323e850fc)
tee: add OP-TEE driver
Adds a OP-TEE driver which also can be compiled as a loadable module.
* Targets ARM and ARM64
* Supports using reserved memory from OP-TEE as shared memory
* Probes OP-TEE version using SMCs
* Accepts requests on privileged and unprivileged device
* Uses OPTEE message protocol version 2 to communicate with secure world
Acked-by: Andreas Dannenberg <dannenberg@ti.com>
Tested-by: Jerome Forissier <jerome.forissier@linaro.org> (HiKey)
Tested-by: Volodymyr Babchuk <vlad....
tee: generic TEE subsystem
Initial patch for generic TEE subsystem.
This subsystem provides:
* Registration/un-registration of TEE drivers.
* Shared memory between normal world and secure world.
* Ioctl interface for interaction with user space.
* Sysfs implementation_id of TEE driver
A TEE (Trusted Execution Environment) driver is a driver that interfaces
with a trusted OS running in some secure environment, for example,
TrustZone on ARM cpus, or a separate secure co-processor etc.
The TE...
dt/bindings: add bindings for optee
Introduces linaro prefix and adds bindings for ARM TrustZone based OP-TEE
implementation.
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
(cherry picked from commit c8bfafb1594435889b571b79325011e8b7fd087b)
MLK-16947: ARM64: dts: imx8qxp: add assigned-clocks for audio node
add assigned-clocks for audio node, spdif and sai for the assigned
-clocks is bound with power-domains. if the clock is needed by
the device, should add it in dts.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
MLK-16949: arm64: dtsi: fsl-imx8mq: Reorganize dcss nodes
Currently, the DCSS and HDMI DRM specific nodes are in
fsl-imx8mq-evk.dts file, while the old content of fsl-imx8mq-evk.dts file is in
fsl-imx8mq-evk-fbdev.dts.
Since, this creates confusion., move back the contents of
fsl-imx8mq-evk-fbdev.dts into fsl-imx8mq-evk.dts, and dcss_drm/hdmi_drm
nodes into main file: fsl-imx8mq.dtsi.
Therefore, the fbdev specific files will be derived from
fsl-imx8mq-evk-fbdev.dts, while the main DTS will b...
MLK-16943 mipi-csi: Add run time pm support
Add run time PM support for MIPI CSI (tested on iMX8MQ)
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
MLK-16919-9 dts: add MIPI CSI2 support on iMX8MQ
on EVK board, the camera on MIPI CSI1 and CSI2 port shares the same I2C bus
and the camera has the same slave address. So it's not possible to enable
two ports at same time. The first port is enabled by default. Here to create
a separate dts file to enable second port.
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
MLK-16919-8 defconfig: add MIPI_CSI/Camera Support on iMX8MQ
Add MIPI_CSI/Camera Support on iMX8MQ EVK board
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
MLK-16919-5 media: v4l2: add mipi csi driver on iMX8MQ
Add a new version (yet another version) driver for MIPI CSI2.
The reason we use a separate version is that PHY setting is quit different,
and the existing MIPI CSI2 driver uses new Media Framework, while the camera
and CSI driver not yet. After convert all drivers to new Media Framework,
consider combine these two versions.
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
MLK-16919-4 dts: iMX8MQ: add csi/mipi_csi/camera support
Add CSI bridge, MIPI CSI, and camera support
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
MLK-16919-3 driver: clk: add CLKO2 for iMX8MQ
Add CLKO2 for i.MX8MQ
Set parent for MIPI CSI1/2 CORE/PHY_REF/ESC
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
MLK-16919-2 media: v4l2: csi: refine the mipi mode check method
check the property 'fsl,mipi-mode' before parse 'csi-mux-mipi' since
some SoC don't need to set mux for it.
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
MLK-16919-1 ARM: dts: add a new property to indicate mipi mode for csi
in previous version, the property 'csi-mux-mipi' is used to set GPR for MIPI
mode, but on some SoC like iMX8MQ (reuse the CSI) there's no GPR MUX setting
for it.
Add a new property 'fsl,mipi-mode' and check this first for the mode.
If it's MIPI mode, then parse 'csi-mux-mipi'.
Signed-off-by: Robby Cai <robby.cai@nxp.com>
Reviewed-by: Sandor Yu <Sandor.yu@nxp.com>
MLK-16942-2: dts: Remove disp_apb clock rate setting
disp_apb clock is hdmi core root.
It has enabled and configurated by ROM code and
clock rate should keep in 133MHz when device bootup.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit 5dfa629c82af77408c8f0ed8f01a5e68e80899ba)
MLK-16942-1: hdmi-cec: Update clock rate to 133MHz
After apply HDMI FW ROM patch to mscale B0.
The HDMI core clock will run at 133MHz.
Update hdmi cec clock rate.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit 4198c8f6677eff3e6e50ca17f3d1b7f6e6f8b8c3)
MLK-16941: hdmi: check video mode with cmdline mode
when EDID function is disabled, the cmdline mode is
the max support video mode.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
(cherry picked from commit 4bdf485762441578a50a1b1586777f1291dd32e5)
MLK-16938 ARM64: dts: imx8: refine the imx8 dts
- Add the clk_req property for imx8 pcie, make sure that
the clk_req would be active.
- Correct the spell mistake of pcie pinctrl on imx8qxp.
- Fix the potential conflication with the usage of SC MU,
remove the useless "fsl,imx8-mu" of rpmsg.
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
MLK-16918-18: arm64: configs: enable mxsfb DRM driver
Enable MXSFB DRM driver as built-in in defconfig and disable the FB_MXC
driver from fbdev since its compatible string is conflicting with the
DRM driver.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-17: drm/imx: Add support for suspend/resume in nwl_dsi-imx
Update the IMX_NWL_DSI DRM driver to support the PM Runtime and
System Sleep suspend/resume routines.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-16: drm/mxsfb: Add support for suspend/resume
Update the MXSFB DRM driver to support the PM Runtime and System
Sleep suspend/resume routines.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-15: drm/bridge: Update adv7511 driver with some regs for adv7535
The low refresh rate register for ADV7535 is in 0x4A instead of 0xFB. In
order to correctly handle these differences, add the new type ADV7535.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-14: arm64: dts: fsl-imx8mq-evk: Enable mipi-dsi with lcdif
Enabled LCDIF-DSI-ADV7535 and LCDIF-DSI-RM67191 paths on MX8MQ EVK
development board.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-13: arm64: dtsi: fsl-imx8mq: Add mipi-dsi-specific nodes
Add support for mipi-dsi DRM driver in DTS files for i.MX8mq platform.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-12: arm64:dts: fsl-imx8qm-lpddr4-arm2: Update dts files for nwl-mipi-dsi bridge
Now, the NWL MIPI-DSI driver is implemented as a real bridge and uses
the "nwl,mipi-dsi" compatible.
This patch updates the ADV7535 and RM67191 specific DTS files to
8QXP-MEK.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-11: arm64: dts: fsl-imx8qm-lpddr4-arm2: Update dts files for nwl-mipi-dsi bridge
Now, the NWL MIPI-DSI driver is implemented as a real bridge and uses
the "nwl,mipi-dsi" compatible.
This patch updates the ADV7535 and RM67191 specific DTS files to 8QXP.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-10: arm64: dtsi: fsl-imx8qxp: Update dtsi for nwl-mipi-dsi
Now, the NWL MIPI-DSI driver is implemented as a real bridge and uses
the "nwl,mipi-dsi" compatible.
This patch updates the mipi-dsi nodes to comply with the new design of
NWL and NWL_IMX drivers.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-9: arm64: dts: fsl-imx8qm-lpddr4-arm2: Update dts files for nwl-mipi-dsi bridge
Now, the NWL MIPI-DSI driver is implemented as a real bridge and uses
the "nwl,mipi-dsi" compatible.
This patch updates the ADV7535 and RM67191 specific DTS files to 8QM.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-8: arm64: dtsi: fsl-imx8qm: Update dtsi for nwl-mipi-dsi
Now, the NWL MIPI-DSI driver is implemented as a real bridge and uses
the "nwl,mipi-dsi" compatible.
This patch updates the mipi-dsi nodes to comply with the new design of
NWL and NWL_IMX drivers.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-7: drm/mxsfb: Update mxsfb to support a bridge
Currently, the MXSFB DRM driver only supports a panel. But, its output
display signal can also be redirected to another encoder, like a DSI
controller. In this case, that DSI controller may act like a drm_bridge.
In order support this use-case too, this patch adds support for
drm_bridge in mxsfb.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16918-5: drm: Implement NWL MIPI-DSI as a real drm_bridge
Currently, the Northwest Logic MIPI-DSI controller host specific code
resides under drm/bridge, but is not a real drm_bridge. It creates a
drm_bridge and adds itself to the drm_encoder that handles this file,
but this is wrong, since it does not implement the drm_bridge_funcs.
The correct way to implement a drm_bridge is to add the drm_bridge and
let other components (another bridge or a drm_encoder) to attach to this
bridge.
Sin...
MLK-16918-4: drm: mxsfb: Select DRM_PANEL
Select DRM_PANEL, since the MXSFB driver depends on it. Otherwise,
we get the following error when compiling:
drivers/built-in.o: In function `mxsfb_probe':
core.c:(.text+0x9ce9c): undefined reference to `drm_panel_attach'
core.c:(.text+0x9cff0): undefined reference to `drm_panel_detach'
drivers/built-in.o: In function `mxsfb_panel_connector_destroy':
core.c:(.text+0x9d614): undefined reference to `drm_panel_detach'
drivers/built-in.o: In function `...
MLK-16918-3: drm: Add new driver for MXSFB controller
Add new driver for the MXSFB controller found in i.MX23/28/6SX .
The MXSFB controller is a simple framebuffer controller with one
parallel LCD output. Unlike the MXSFB fbdev driver that is used
on these systems now, this driver uses the DRM/KMS framework.
This is a backport from kernel 4.10.y.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shaw...
MLK-16918-2: dt-bindings: mxsfb: Add new bindings for the MXSFB driver
Add new DT bindings for new MXSFB driver that is using the
OF graph to parse the video output structure instead of
hard-coding the display properties into the MXSFB node.
The old MXSFB fbdev driver bindings are preserved in the
same file in the "Old bindings" section.
This is a backport from kernel 4.10.y.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Rob Herring <robh@kernel.org>
Cc: Lucas Stach <l.stach@pengutronix.d...
MLK-16918-1: dt-bindings: mxsfb: Indentation cleanup
Clean up the ad-hoc indentation in the documentation, no functional change.
This is a backport from kernel 4.10.y.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Fabio Estevam <fabio.estevam@nxp.com>
Cc: Shawn Guo <shawnguo@kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
MLK-16540: include: mfd: Add MX8 MQ IOMUXC GPR header
Add header file for the i.MX8mq IOMUXC GPR register offsets definitions.
Also, include definition for the GPR_MIPI_MUX_SEL from GPR13, needed by
MIPI-DSI driver.
Signed-off-by: Robert Chiras <robert.chiras@nxp.com>
MLK-16928: drm: dcss: fix modesetting issues
DTG needs to be completely stopped before changing the display
resolution through modesetting. If DTG is not stopped, any change in
resolution could result in unpredictable results, like split screen,
etc.
This patch fixes that by introducing a completion signaling mechanism so
that we can signal the DRM CRTC when DCSS core is done stopping DTG.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
MLK-16927: drm: imx: dcss: Add basic plane checks
Currently, there are no plane checks and the user can try set up a plane
with a CRTC size that is actually bigger than the current CRTC mode.
Because, currently, the driver does not support cropping, all planes
with CRTC sizes bigger than the actual CRTC mode will be rejected.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>
MLK-16922-2: drm: imx: dcss: call DCSS runtime PM routines
When CRTC is disabled/enabled, the runtime PM routines should be called.
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@nxp.com>