mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-03 17:51:23 +00:00

-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEE+QmuaPwR3wnBdVwACF8+vY7k4RUFAmVF2z0ACgkQCF8+vY7k 4RUyHBAAhO7ArWtie5SZZ2lYzeoQ2KWZJsiRUdl7ER+lXeKr5HIa23CqVG5+D3hA 2VQAn/+2wJHMhfSZUcgS889iKGJMhdEj77JBehakTA0122wq/0NNMfbwN0ebHoIZ B5FqhXkU8NvQn+8MVyRSnmC7lzlZq7lUlDxbpjCkqOqm5t1TXuMCD81briZxuKWR N+STu3rsQ1Vq+HudAqLHcuQKCJjzqo5x2/MOk7DlI+FHtKPLn50CfizmZNiMIn/2 lVfp6PoZhtBCJAlQFx3VHjYIir5ENvcmdj0ehsocVe4vYFFfBh0NrN8/ixcWyl0i z4BSC9/AQTJuAt2mxj2g/OE9ipFqGkhHspSy87GWqCSzIKIKuZYFRHB55e6h6/kA 11MceDQ+VNmO6dkU4G6/dChaeXt+5omU9mlEaugzmtb/G0HbvYW5jJJuvVMmmGde Gy2F2SazGJsfLLBS+I7yKJRDhn5+m+9Q0gCsiKDbEcDoRLrwsi5zraRRVrsKI9q7 CAFMrU5MCzniMh1UpJxdETPbuxjc54/Uwp3k3ieg7klIyx2rxvL6MzED9O67qkay 1m0A8hRNpvi+gqS5Zd+V9YafgOEHDziL/KDypp1je+6KbLBvlBsH3YFBps2APJou +VgVElxZnwzas4kAkUC+RbCEmRXc/T96oL1mH8w1q4O3iDoaMVc= =RO+Y -----END PGP SIGNATURE----- Merge tag 'media/v6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - the old V4L2 core videobuf kAPI was finally removed. All media drivers should now be using VB2 kAPI - new automotive driver: mgb4 - new platform video driver: npcm-video - new sensor driver: mt9m114 - new TI driver used in conjunction with Cadence CSI2RX IP to bridge TI-specific parts - ir-rx51 was removed and the N900 DT binding was moved to the pwm-ir-tx generic driver - drop atomisp-specific ov5693, using the upstream driver instead - the camss driver has gained RDI3 support for VFE 17x - the atomisp driver now detects ISP2400 or ISP2401 at run time. No need to set it up at build time anymore - lots of driver fixes, cleanups and improvements * tag 'media/v6.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (377 commits) media: nuvoton: VIDEO_NPCM_VCD_ECE should depend on ARCH_NPCM media: venus: Fix firmware path for resources media: venus: hfi_cmds: Replace one-element array with flex-array member and use __counted_by media: venus: hfi_parser: Add check to keep the number of codecs within range media: venus: hfi: add checks to handle capabilities from firmware media: venus: hfi: fix the check to handle session buffer requirement media: venus: hfi: add checks to perform sanity on queue pointers media: platform: cadence: select MIPI_DPHY dependency media: MAINTAINERS: Fix path for J721E CSI2RX bindings media: cec: meson: always include meson sub-directory in Makefile media: videobuf2: Fix IS_ERR checking in vb2_dc_put_userptr() media: platform: mtk-mdp3: fix uninitialized variable in mdp_path_config() media: mediatek: vcodec: using encoder device to alloc/free encoder memory media: imx-jpeg: notify source chagne event when the first picture parsed media: cx231xx: Use EP5_BUF_SIZE macro media: siano: Drop unnecessary error check for debugfs_create_dir/file() media: mediatek: vcodec: Handle invalid encoder vsi media: aspeed: Drop unnecessary error check for debugfs_create_file() Documentation: media: buffer.rst: fix V4L2_BUF_FLAG_PREPARED Documentation: media: gen-errors.rst: fix confusing ENOTTY description ...
278 lines
8.7 KiB
YAML
278 lines
8.7 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/media/samsung,fimc.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Samsung S5P/Exynos SoC Camera Subsystem (FIMC)
|
|
|
|
maintainers:
|
|
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
|
- Sylwester Nawrocki <s.nawrocki@samsung.com>
|
|
|
|
description: |
|
|
The S5P/Exynos SoC Camera subsystem comprises of multiple sub-devices
|
|
represented by separate device tree nodes. Currently this includes: Fully
|
|
Integrated Mobile Camera (FIMC, in the S5P SoCs series known as CAMIF), MIPI
|
|
CSIS, FIMC-LITE and FIMC-IS (ISP).
|
|
|
|
properties:
|
|
compatible:
|
|
const: samsung,fimc
|
|
|
|
ranges: true
|
|
|
|
'#address-cells':
|
|
const: 1
|
|
|
|
'#size-cells':
|
|
const: 1
|
|
|
|
'#clock-cells':
|
|
const: 1
|
|
description: |
|
|
The clock specifier cell stores an index of a clock: 0, 1 for
|
|
CAM_A_CLKOUT, CAM_B_CLKOUT clocks respectively.
|
|
|
|
clocks:
|
|
minItems: 2
|
|
maxItems: 4
|
|
|
|
clock-names:
|
|
minItems: 2
|
|
items:
|
|
- const: sclk_cam0
|
|
- const: sclk_cam1
|
|
- const: pxl_async0
|
|
- const: pxl_async1
|
|
|
|
clock-output-names:
|
|
maxItems: 2
|
|
|
|
parallel-ports:
|
|
$ref: /schemas/graph.yaml#/properties/ports
|
|
description:
|
|
Active parallel video input ports.
|
|
|
|
patternProperties:
|
|
"^port@[01]$":
|
|
$ref: /schemas/graph.yaml#/$defs/port-base
|
|
unevaluatedProperties: false
|
|
description:
|
|
Camera A and camera B inputs.
|
|
|
|
properties:
|
|
endpoint:
|
|
$ref: /schemas/media/video-interfaces.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
pinctrl-names:
|
|
minItems: 1
|
|
items:
|
|
- const: default
|
|
- const: idle
|
|
- const: active_a
|
|
- const: active_b
|
|
|
|
patternProperties:
|
|
"^csis@[0-9a-f]+$":
|
|
type: object
|
|
$ref: samsung,exynos4210-csis.yaml#
|
|
description: MIPI CSI-2 receiver.
|
|
|
|
"^fimc@[0-9a-f]+$":
|
|
type: object
|
|
$ref: samsung,exynos4210-fimc.yaml#
|
|
description: Fully Integrated Mobile Camera.
|
|
|
|
"^fimc-is@[0-9a-f]+$":
|
|
type: object
|
|
$ref: samsung,exynos4212-fimc-is.yaml#
|
|
description: Imaging Subsystem (FIMC-IS).
|
|
|
|
"^fimc-lite@[0-9a-f]+$":
|
|
type: object
|
|
$ref: samsung,exynos4212-fimc-lite.yaml#
|
|
description: Camera host interface (FIMC-LITE).
|
|
|
|
required:
|
|
- compatible
|
|
- '#address-cells'
|
|
- '#clock-cells'
|
|
- clocks
|
|
- clock-names
|
|
- clock-output-names
|
|
- ranges
|
|
- '#size-cells'
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/exynos4.h>
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
|
camera@11800000 {
|
|
compatible = "samsung,fimc";
|
|
#clock-cells = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0x0 0x0 0xba1000>;
|
|
|
|
clocks = <&clock CLK_SCLK_CAM0>, <&clock CLK_SCLK_CAM1>,
|
|
<&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>;
|
|
clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
|
|
clock-output-names = "cam_a_clkout", "cam_b_clkout";
|
|
|
|
assigned-clocks = <&clock CLK_MOUT_CAM0>,
|
|
<&clock CLK_MOUT_CAM1>;
|
|
assigned-clock-parents = <&clock CLK_XUSBXTI>,
|
|
<&clock CLK_XUSBXTI>;
|
|
|
|
pinctrl-0 = <&cam_port_a_clk_active &cam_port_b_clk_active>;
|
|
pinctrl-names = "default";
|
|
|
|
fimc@0 {
|
|
compatible = "samsung,exynos4212-fimc";
|
|
reg = <0x00000000 0x1000>;
|
|
interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&clock CLK_FIMC0>,
|
|
<&clock CLK_SCLK_FIMC0>;
|
|
clock-names = "fimc", "sclk_fimc";
|
|
power-domains = <&pd_cam>;
|
|
samsung,sysreg = <&sys_reg>;
|
|
iommus = <&sysmmu_fimc0>;
|
|
|
|
samsung,pix-limits = <4224 8192 1920 4224>;
|
|
samsung,mainscaler-ext;
|
|
samsung,isp-wb;
|
|
samsung,cam-if;
|
|
};
|
|
|
|
/* ... FIMC 1-3 */
|
|
|
|
csis@80000 {
|
|
compatible = "samsung,exynos4210-csis";
|
|
reg = <0x00080000 0x4000>;
|
|
interrupts = <GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&clock CLK_CSIS0>,
|
|
<&clock CLK_SCLK_CSIS0>;
|
|
clock-names = "csis", "sclk_csis";
|
|
assigned-clocks = <&clock CLK_MOUT_CSIS0>,
|
|
<&clock CLK_SCLK_CSIS0>;
|
|
assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
|
|
assigned-clock-rates = <0>, <176000000>;
|
|
|
|
bus-width = <4>;
|
|
power-domains = <&pd_cam>;
|
|
phys = <&mipi_phy 0>;
|
|
phy-names = "csis";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
vddcore-supply = <&ldo8_reg>;
|
|
vddio-supply = <&ldo10_reg>;
|
|
|
|
/* Camera C (3) MIPI CSI-2 (CSIS0) */
|
|
port@3 {
|
|
reg = <3>;
|
|
endpoint {
|
|
remote-endpoint = <&s5c73m3_ep>;
|
|
data-lanes = <1 2 3 4>;
|
|
samsung,csis-hs-settle = <12>;
|
|
};
|
|
};
|
|
};
|
|
|
|
/* ... CSIS 1 */
|
|
|
|
fimc-lite@b90000 {
|
|
compatible = "samsung,exynos4212-fimc-lite";
|
|
reg = <0xb90000 0x1000>;
|
|
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
|
power-domains = <&pd_isp>;
|
|
clocks = <&isp_clock CLK_ISP_FIMC_LITE0>;
|
|
clock-names = "flite";
|
|
iommus = <&sysmmu_fimc_lite0>;
|
|
};
|
|
|
|
/* ... FIMC-LITE 1 */
|
|
|
|
fimc-is@800000 {
|
|
compatible = "samsung,exynos4212-fimc-is";
|
|
reg = <0x00800000 0x260000>;
|
|
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
|
|
<GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&isp_clock CLK_ISP_FIMC_LITE0>,
|
|
<&isp_clock CLK_ISP_FIMC_LITE1>,
|
|
<&isp_clock CLK_ISP_PPMUISPX>,
|
|
<&isp_clock CLK_ISP_PPMUISPMX>,
|
|
<&isp_clock CLK_ISP_FIMC_ISP>,
|
|
<&isp_clock CLK_ISP_FIMC_DRC>,
|
|
<&isp_clock CLK_ISP_FIMC_FD>,
|
|
<&isp_clock CLK_ISP_MCUISP>,
|
|
<&isp_clock CLK_ISP_GICISP>,
|
|
<&isp_clock CLK_ISP_MCUCTL_ISP>,
|
|
<&isp_clock CLK_ISP_PWM_ISP>,
|
|
<&isp_clock CLK_ISP_DIV_ISP0>,
|
|
<&isp_clock CLK_ISP_DIV_ISP1>,
|
|
<&isp_clock CLK_ISP_DIV_MCUISP0>,
|
|
<&isp_clock CLK_ISP_DIV_MCUISP1>,
|
|
<&clock CLK_MOUT_MPLL_USER_T>,
|
|
<&clock CLK_ACLK200>,
|
|
<&clock CLK_ACLK400_MCUISP>,
|
|
<&clock CLK_DIV_ACLK200>,
|
|
<&clock CLK_DIV_ACLK400_MCUISP>,
|
|
<&clock CLK_UART_ISP_SCLK>;
|
|
clock-names = "lite0", "lite1", "ppmuispx",
|
|
"ppmuispmx", "isp",
|
|
"drc", "fd", "mcuisp",
|
|
"gicisp", "mcuctl_isp", "pwm_isp",
|
|
"ispdiv0", "ispdiv1", "mcuispdiv0",
|
|
"mcuispdiv1", "mpll", "aclk200",
|
|
"aclk400mcuisp", "div_aclk200",
|
|
"div_aclk400mcuisp", "uart";
|
|
iommus = <&sysmmu_fimc_isp>, <&sysmmu_fimc_drc>,
|
|
<&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>;
|
|
iommu-names = "isp", "drc", "fd", "mcuctl";
|
|
power-domains = <&pd_isp>;
|
|
samsung,pmu-syscon = <&pmu_system_controller>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
i2c-isp@940000 {
|
|
compatible = "samsung,exynos4212-i2c-isp";
|
|
reg = <0x00940000 0x100>;
|
|
clocks = <&isp_clock CLK_ISP_I2C1_ISP>;
|
|
clock-names = "i2c_isp";
|
|
pinctrl-0 = <&fimc_is_i2c1>;
|
|
pinctrl-names = "default";
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
image-sensor@10 {
|
|
compatible = "samsung,s5k6a3";
|
|
reg = <0x10>;
|
|
svdda-supply = <&cam_io_reg>;
|
|
svddio-supply = <&ldo19_reg>;
|
|
afvdd-supply = <&ldo19_reg>;
|
|
clock-frequency = <24000000>;
|
|
/* CAM_B_CLKOUT */
|
|
clocks = <&camera 1>;
|
|
clock-names = "extclk";
|
|
gpios = <&gpm1 6 GPIO_ACTIVE_LOW>;
|
|
|
|
port {
|
|
endpoint {
|
|
remote-endpoint = <&csis1_ep>;
|
|
data-lanes = <1>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|