Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
109 changes: 109 additions & 0 deletions Documentation/devicetree/bindings/display/bridge/lontium,lt8712sx.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/bridge/lontium,lt8712sx.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Lontium LT8712SX/LT8713SX eDP to HDMI Bridge

maintainers:
- Chen Jiali <chenjiali@radxa.com>

properties:
compatible:
enum:
- lontium,lt8712sx
- lontium,lt8713sx

reg:
maxItems: 1

cec-port-names:
$ref: /schemas/types.yaml#/definitions/string-array
description:
HDMI connector port names used to create named CEC notifiers for boards
that route multiple HDMI CEC lines to GPIO CEC adapters.
minItems: 1
maxItems: 2
uniqueItems: true

enable-gpios:
maxItems: 1

power-gpios:
maxItems: 1

pinctrl-0: true

pinctrl-names:
items:
- const: default

reset-gpios:
maxItems: 1

vdd-supply:
description: Power supply for the bridge.

ports:
$ref: /schemas/graph.yaml#/properties/ports

properties:
port@0:
$ref: /schemas/graph.yaml#/properties/port
description: eDP input port.

port@1:
$ref: /schemas/graph.yaml#/properties/port
description: HDMI output port.

required:
- port@0
- port@1

required:
- compatible
- reg
- ports

additionalProperties: false

examples:
- |
#include <dt-bindings/gpio/gpio.h>

i2c {
#address-cells = <1>;
#size-cells = <0>;

hdmi-bridge@4f {
compatible = "lontium,lt8712sx";
reg = <0x4f>;
cec-port-names = "HDMI0", "HDMI1";
vdd-supply = <&vcc_3v3>;
reset-gpios = <&gpio 1 GPIO_ACTIVE_LOW>;

ports {
#address-cells = <1>;
#size-cells = <0>;

port@0 {
reg = <0>;

bridge_in: endpoint {
remote-endpoint = <&edp_out>;
};
};

port@1 {
reg = <1>;

bridge_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
};
};

...
14 changes: 14 additions & 0 deletions Documentation/devicetree/bindings/media/cec/cec-gpio.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,13 @@ properties:
GPIO that the 5V line is connected to. Used for debugging changes on the
5V line.

port-name:
$ref: /schemas/types.yaml#/definitions/string
description:
HDMI connector port name used with hdmi-phandle to match this GPIO CEC
adapter to a named HDMI controller notifier when that controller exposes
multiple CEC-capable connectors.

required:
- compatible
- cec-gpios
Expand All @@ -60,6 +67,13 @@ allOf:
properties:
hdmi-phandle: false

- if:
required:
- port-name
then:
required:
- hdmi-phandle

unevaluatedProperties: false

examples:
Expand Down
88 changes: 14 additions & 74 deletions arch/arm64/boot/dts/qcom/qcs6490-radxa-cm-q64-rpi-cm5-io.dts
Original file line number Diff line number Diff line change
Expand Up @@ -11,81 +11,22 @@
model = "Radxa CM-Q64 Raspberry Pi Compute Module 5 IO Board";
compatible = "radxa,cm-q64-rpi-cm5-io", "radxa,cm-q64", "qcom,qcm6490";

fan_pwm: fan-pwm {
compatible = "pwm-gpio";
gpios = <&tlmm 106 GPIO_ACTIVE_HIGH>;
pinctrl-0 = <&fan_pwm_cpu>;
m2_3v3: regulator-m2-3v3 {
compatible = "regulator-fixed";
regulator-name = "m2_3v3";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
pinctrl-names = "default";
#pwm-cells = <3>;
};

pwm_fan: pwm-fan {
pinctrl-0 = <&fan_tacho>;
pinctrl-names = "default";
compatible = "pwm-fan";
pwms = <&fan_pwm 0 20000 0>;
fan-supply = <&vcc_3v3>;
interrupt-parent = <&pm8350c_gpios>;
interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
#cooling-cells = <2>;
cooling-levels = <0 120 150 180 210 240 255>;
};
};

&pm8350c_gpios {
gpio-line-names = "", /* 1 */
"",
"",
"",
"FAN_TACHO_IN",
"",
"LCD_BLEN",
"LCD_BLPWM",
"";

fan_tacho: fan-tacho-state {
pins = "gpio5";
function = PMIC_GPIO_FUNC_NORMAL;
bias-disable;
power-source = <1>;
pinctrl-0 = <&pcieb_pwr_en>;
gpio = <&tlmm 10 GPIO_ACTIVE_HIGH>;
enable-active-high;
vin-supply = <&vdd_5v_dcin>;
};
};


&thermal_zones {
cpuss0-thermal {
trips {
cpuss0_active: trip-point2 {
temperature = <60000>;
hysteresis = <2000>;
type = "active";
};
};

cooling-maps {
map2 {
trip = <&cpuss0_active>;
cooling-device = <&pwm_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};

cpuss1-thermal {
trips {
cpuss1_active: trip-point2 {
temperature = <60000>;
hysteresis = <2000>;
type = "active";
};
};

cooling-maps {
map2 {
trip = <&cpuss1_active>;
cooling-device = <&pwm_fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
};
};
};
&pcie1 {
vddpe-3v3-supply = <&m2_3v3>;
vdda-supply = <&vreg_l6b_1p2>;
};

&tlmm {
Expand Down Expand Up @@ -183,10 +124,9 @@
/* GPIO_172 ~ GPIO_174 */
"", "", "";

fan_pwm_cpu: fan-ctr-pwm-state {
pins = "gpio106";
pcieb_pwr_en: pinctrl-pcie1-pwr-en {
pins = "gpio10";
function = "gpio";
bias-disable;
drive-strength = <16>;
};
};
Loading