mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-18 06:15:12 +00:00
c1c7b394d8
The "40nm" MIPI DSI controller found in the A100 and D1 SoCs has the same register layout as previous SoC integrations. However, its module clock now comes from the TCON, which means it no longer runs at a fixed rate, so this needs to be distinguished in the driver. The controller also now uses pins on Port D instead of dedicated pins, so it drops the separate power domain. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Signed-off-by: Samuel Holland <samuel@sholland.org> Link: https://lore.kernel.org/r/20221107053552.2330-3-samuel@sholland.org Signed-off-by: Maxime Ripard <maxime@cerno.tech>
137 lines
2.7 KiB
YAML
137 lines
2.7 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/display/allwinner,sun6i-a31-mipi-dsi.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Allwinner A31 MIPI-DSI Controller
|
|
|
|
maintainers:
|
|
- Chen-Yu Tsai <wens@csie.org>
|
|
- Maxime Ripard <mripard@kernel.org>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- enum:
|
|
- allwinner,sun6i-a31-mipi-dsi
|
|
- allwinner,sun50i-a64-mipi-dsi
|
|
- allwinner,sun50i-a100-mipi-dsi
|
|
- items:
|
|
- const: allwinner,sun20i-d1-mipi-dsi
|
|
- const: allwinner,sun50i-a100-mipi-dsi
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
items:
|
|
- description: Bus Clock
|
|
- description: Module Clock
|
|
|
|
clock-names:
|
|
items:
|
|
- const: bus
|
|
- const: mod
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
vcc-dsi-supply:
|
|
description: VCC-DSI power supply of the DSI encoder
|
|
|
|
phys:
|
|
maxItems: 1
|
|
|
|
phy-names:
|
|
const: dphy
|
|
|
|
port:
|
|
$ref: /schemas/graph.yaml#/properties/port
|
|
description:
|
|
The port should be the input endpoint, usually coming from the
|
|
associated TCON.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
- phys
|
|
- phy-names
|
|
- resets
|
|
- port
|
|
|
|
allOf:
|
|
- $ref: dsi-controller.yaml#
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- allwinner,sun6i-a31-mipi-dsi
|
|
- allwinner,sun50i-a100-mipi-dsi
|
|
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
|
|
required:
|
|
- clock-names
|
|
|
|
else:
|
|
properties:
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- allwinner,sun6i-a31-mipi-dsi
|
|
- allwinner,sun50i-a64-mipi-dsi
|
|
|
|
then:
|
|
required:
|
|
- vcc-dsi-supply
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
dsi0: dsi@1ca0000 {
|
|
compatible = "allwinner,sun6i-a31-mipi-dsi";
|
|
reg = <0x01ca0000 0x1000>;
|
|
interrupts = <0 89 4>;
|
|
clocks = <&ccu 23>, <&ccu 96>;
|
|
clock-names = "bus", "mod";
|
|
resets = <&ccu 4>;
|
|
phys = <&dphy0>;
|
|
phy-names = "dphy";
|
|
vcc-dsi-supply = <®_dcdc1>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
panel@0 {
|
|
compatible = "bananapi,lhr050h41", "ilitek,ili9881c";
|
|
reg = <0>;
|
|
power-supply = <®_display>;
|
|
reset-gpios = <&r_pio 0 5 1>; /* PL05 */
|
|
backlight = <&pwm_bl>;
|
|
};
|
|
|
|
port {
|
|
dsi0_in_tcon0: endpoint {
|
|
remote-endpoint = <&tcon0_out_dsi0>;
|
|
};
|
|
};
|
|
};
|
|
|
|
...
|