mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-02 16:44:59 +00:00

Document the LDB bridge subnode and add the subnode into the example. For the subnode to work, the block control must scan its subnodes and bind drivers to them, do not misuse either simple-bus or simple-mfd here. Acked-by: Alexander Stein <alexander.stein@ew.tq-group.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: Liu Ying <victor.liu@nxp.com> Tested-by: Alexander Stein <alexander.stein@ew.tq-group.com> Signed-off-by: Marek Vasut <marex@denx.de> Signed-off-by: Shawn Guo <shawnguo@kernel.org>
170 lines
4.3 KiB
YAML
170 lines
4.3 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/soc/imx/fsl,imx8mp-media-blk-ctrl.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: NXP i.MX8MP Media Block Control
|
|
|
|
maintainers:
|
|
- Paul Elder <paul.elder@ideasonboard.com>
|
|
|
|
description:
|
|
The i.MX8MP Media Block Control (MEDIA BLK_CTRL) is a top-level peripheral
|
|
providing access to the NoC and ensuring proper power sequencing of the
|
|
peripherals within the MEDIAMIX domain.
|
|
|
|
properties:
|
|
compatible:
|
|
items:
|
|
- const: fsl,imx8mp-media-blk-ctrl
|
|
- const: syscon
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
'#address-cells':
|
|
const: 1
|
|
|
|
'#size-cells':
|
|
const: 1
|
|
|
|
'#power-domain-cells':
|
|
const: 1
|
|
|
|
power-domains:
|
|
maxItems: 10
|
|
|
|
power-domain-names:
|
|
items:
|
|
- const: bus
|
|
- const: mipi-dsi1
|
|
- const: mipi-csi1
|
|
- const: lcdif1
|
|
- const: isi
|
|
- const: mipi-csi2
|
|
- const: lcdif2
|
|
- const: isp
|
|
- const: dwe
|
|
- const: mipi-dsi2
|
|
|
|
clocks:
|
|
items:
|
|
- description: The APB clock
|
|
- description: The AXI clock
|
|
- description: The pixel clock for the first CSI2 receiver (aclk)
|
|
- description: The pixel clock for the second CSI2 receiver (aclk)
|
|
- description: The pixel clock for the first LCDIF (pix_clk)
|
|
- description: The pixel clock for the second LCDIF (pix_clk)
|
|
- description: The core clock for the ISP (clk)
|
|
- description: The MIPI-PHY reference clock used by DSI
|
|
|
|
clock-names:
|
|
items:
|
|
- const: apb
|
|
- const: axi
|
|
- const: cam1
|
|
- const: cam2
|
|
- const: disp1
|
|
- const: disp2
|
|
- const: isp
|
|
- const: phy
|
|
|
|
interconnects:
|
|
maxItems: 8
|
|
|
|
interconnect-names:
|
|
items:
|
|
- const: lcdif-rd
|
|
- const: lcdif-wr
|
|
- const: isi0
|
|
- const: isi1
|
|
- const: isi2
|
|
- const: isp0
|
|
- const: isp1
|
|
- const: dwe
|
|
|
|
bridge@5c:
|
|
type: object
|
|
$ref: /schemas/display/bridge/fsl,ldb.yaml#
|
|
unevaluatedProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- '#address-cells'
|
|
- '#size-cells'
|
|
- '#power-domain-cells'
|
|
- power-domains
|
|
- power-domain-names
|
|
- clocks
|
|
- clock-names
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/imx8mp-clock.h>
|
|
#include <dt-bindings/power/imx8mp-power.h>
|
|
|
|
blk-ctrl@32ec0000 {
|
|
compatible = "fsl,imx8mp-media-blk-ctrl", "syscon";
|
|
reg = <0x32ec0000 0x138>;
|
|
power-domains = <&mediamix_pd>, <&mipi_phy1_pd>, <&mipi_phy1_pd>,
|
|
<&mediamix_pd>, <&mediamix_pd>, <&mipi_phy2_pd>,
|
|
<&mediamix_pd>, <&ispdwp_pd>, <&ispdwp_pd>,
|
|
<&mipi_phy2_pd>;
|
|
power-domain-names = "bus", "mipi-dsi1", "mipi-csi1", "lcdif1", "isi",
|
|
"mipi-csi2", "lcdif2", "isp", "dwe", "mipi-dsi2";
|
|
clocks = <&clk IMX8MP_CLK_MEDIA_APB_ROOT>,
|
|
<&clk IMX8MP_CLK_MEDIA_AXI_ROOT>,
|
|
<&clk IMX8MP_CLK_MEDIA_CAM1_PIX_ROOT>,
|
|
<&clk IMX8MP_CLK_MEDIA_CAM2_PIX_ROOT>,
|
|
<&clk IMX8MP_CLK_MEDIA_DISP1_PIX_ROOT>,
|
|
<&clk IMX8MP_CLK_MEDIA_DISP2_PIX_ROOT>,
|
|
<&clk IMX8MP_CLK_MEDIA_ISP_ROOT>,
|
|
<&clk IMX8MP_CLK_MEDIA_MIPI_PHY1_REF_ROOT>;
|
|
clock-names = "apb", "axi", "cam1", "cam2", "disp1", "disp2",
|
|
"isp", "phy";
|
|
#power-domain-cells = <1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
bridge@5c {
|
|
compatible = "fsl,imx8mp-ldb";
|
|
reg = <0x5c 0x4>, <0x128 0x4>;
|
|
reg-names = "ldb", "lvds";
|
|
clocks = <&clk IMX8MP_CLK_MEDIA_LDB>;
|
|
clock-names = "ldb";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
|
|
ldb_from_lcdif2: endpoint {
|
|
remote-endpoint = <&lcdif2_to_ldb>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
|
|
ldb_lvds_ch0: endpoint {
|
|
remote-endpoint = <&ldb_to_lvdsx4panel>;
|
|
};
|
|
};
|
|
|
|
port@2 {
|
|
reg = <2>;
|
|
|
|
ldb_lvds_ch1: endpoint {
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
...
|