Message ID | 20240819120735.1508789-2-treapking@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [RESEND,v2,1/2] arm64: dts: mt8183: add dpi node to mt8183 | expand |
On Mon, Aug 19, 2024 at 08:05:56PM +0800, Pin-yen Lin wrote: > From: Fabien Parent <fparent@baylibre.com> > > The MT8183 Pumpkin board has a micro-HDMI connector. HDMI support is > provided by an IT66121 DPI <-> HDMI bridge. > > This commit enables DPI and add the node for the IT66121 bridge. Make it imperative [1]: Enable the DPI and add the node for the IT66121 bridge. [1] https://www.kernel.org/doc/html/latest/process/submitting-patches.html#describe-your-changes > > Signed-off-by: Fabien Parent <fparent@baylibre.com> You should also add a Co-developed-by tag for yourself since you made (or will make) changes to this commit. > Signed-off-by: Pin-yen Lin <treapking@chromium.org> > > --- > > (no changes since v1) > > .../boot/dts/mediatek/mt8183-pumpkin.dts | 121 ++++++++++++++++++ > 1 file changed, 121 insertions(+) > > diff --git a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts > index 1aa668c3ccf9..ecc237355b56 100644 > --- a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts > +++ b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts [..] > @@ -120,6 +132,41 @@ &i2c6 { > pinctrl-0 = <&i2c6_pins>; > status = "okay"; > clock-frequency = <100000>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + it66121hdmitx: hdmitx@4c { > + compatible = "ite,it66121"; > + pinctrl-names = "default"; > + pinctrl-0 = <&ite_pins>; > + vcn33-supply = <&mt6358_vcn33_wifi_reg>; As pointed out by lkp this label doesn't exist: https://lore.kernel.org/all/202408200703.MYO1s3Ne-lkp@intel.com/ See 9a8014b1d4d2 ("arm64: dts: mediatek: mt6358: Merge ldo_vcn33_* regulators"). > + vcn18-supply = <&mt6358_vcn18_reg>; > + vrf12-supply = <&mt6358_vrf12_reg>; > + reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>; > + interrupt-parent = <&pio>; > + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; > + reg = <0x4c>; Please take a look at https://docs.kernel.org/devicetree/bindings/dts-coding-style.html for among other things, suggested ordering of properties in nodes. reg is commonly the second property. > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; Add a blank line here. > + it66121_in: endpoint { > + bus-width = <12>; > + remote-endpoint = <&dpi_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; Ditto. Reviewed-by: Nícolas F. R. A. Prado <nfraprado@collabora.com> Thanks, Nícolas
On 19/08/2024 14:05, Pin-yen Lin wrote: > From: Fabien Parent <fparent@baylibre.com> > > The MT8183 Pumpkin board has a micro-HDMI connector. HDMI support is > provided by an IT66121 DPI <-> HDMI bridge. > > This commit enables DPI and add the node for the IT66121 bridge. > > Signed-off-by: Fabien Parent <fparent@baylibre.com> > Signed-off-by: Pin-yen Lin <treapking@chromium.org> > Building DTB fais with: arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts:138.27-169.4: ERROR (phandle_references): /soc/i2c@11005000/hdmitx@4c: Reference to non-existent node or label "mt6358_vcn33_wifi_reg" Please check your code before submitting. Regards, Matthias > --- > > (no changes since v1) > > .../boot/dts/mediatek/mt8183-pumpkin.dts | 121 ++++++++++++++++++ > 1 file changed, 121 insertions(+) > > diff --git a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts > index 1aa668c3ccf9..ecc237355b56 100644 > --- a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts > +++ b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts > @@ -63,6 +63,18 @@ thermistor { > pulldown-ohm = <0>; > io-channels = <&auxadc 0>; > }; > + > + connector { > + compatible = "hdmi-connector"; > + label = "hdmi"; > + type = "d"; > + > + port { > + hdmi_connector_in: endpoint { > + remote-endpoint = <&hdmi_connector_out>; > + }; > + }; > + }; > }; > > &auxadc { > @@ -120,6 +132,41 @@ &i2c6 { > pinctrl-0 = <&i2c6_pins>; > status = "okay"; > clock-frequency = <100000>; > + #address-cells = <1>; > + #size-cells = <0>; > + > + it66121hdmitx: hdmitx@4c { > + compatible = "ite,it66121"; > + pinctrl-names = "default"; > + pinctrl-0 = <&ite_pins>; > + vcn33-supply = <&mt6358_vcn33_wifi_reg>; > + vcn18-supply = <&mt6358_vcn18_reg>; > + vrf12-supply = <&mt6358_vrf12_reg>; > + reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>; > + interrupt-parent = <&pio>; > + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; > + reg = <0x4c>; > + > + ports { > + #address-cells = <1>; > + #size-cells = <0>; > + > + port@0 { > + reg = <0>; > + it66121_in: endpoint { > + bus-width = <12>; > + remote-endpoint = <&dpi_out>; > + }; > + }; > + > + port@1 { > + reg = <1>; > + hdmi_connector_out: endpoint { > + remote-endpoint = <&hdmi_connector_in>; > + }; > + }; > + }; > + }; > }; > > &keyboard { > @@ -362,6 +409,67 @@ pins_clk { > input-enable; > }; > }; > + > + ite_pins: ite-pins { > + pins-irq { > + pinmux = <PINMUX_GPIO4__FUNC_GPIO4>; > + input-enable; > + bias-pull-up; > + }; > + > + pins-rst { > + pinmux = <PINMUX_GPIO160__FUNC_GPIO160>; > + output-high; > + }; > + }; > + > + dpi_func_pins: dpi-func-pins { > + pins-dpi { > + pinmux = <PINMUX_GPIO12__FUNC_I2S5_BCK>, > + <PINMUX_GPIO46__FUNC_I2S5_LRCK>, > + <PINMUX_GPIO47__FUNC_I2S5_DO>, > + <PINMUX_GPIO13__FUNC_DBPI_D0>, > + <PINMUX_GPIO14__FUNC_DBPI_D1>, > + <PINMUX_GPIO15__FUNC_DBPI_D2>, > + <PINMUX_GPIO16__FUNC_DBPI_D3>, > + <PINMUX_GPIO17__FUNC_DBPI_D4>, > + <PINMUX_GPIO18__FUNC_DBPI_D5>, > + <PINMUX_GPIO19__FUNC_DBPI_D6>, > + <PINMUX_GPIO20__FUNC_DBPI_D7>, > + <PINMUX_GPIO21__FUNC_DBPI_D8>, > + <PINMUX_GPIO22__FUNC_DBPI_D9>, > + <PINMUX_GPIO23__FUNC_DBPI_D10>, > + <PINMUX_GPIO24__FUNC_DBPI_D11>, > + <PINMUX_GPIO25__FUNC_DBPI_HSYNC>, > + <PINMUX_GPIO26__FUNC_DBPI_VSYNC>, > + <PINMUX_GPIO27__FUNC_DBPI_DE>, > + <PINMUX_GPIO28__FUNC_DBPI_CK>; > + }; > + }; > + > + dpi_idle_pins: dpi-idle-pins { > + pins-idle { > + pinmux = <PINMUX_GPIO12__FUNC_GPIO12>, > + <PINMUX_GPIO46__FUNC_GPIO46>, > + <PINMUX_GPIO47__FUNC_GPIO47>, > + <PINMUX_GPIO13__FUNC_GPIO13>, > + <PINMUX_GPIO14__FUNC_GPIO14>, > + <PINMUX_GPIO15__FUNC_GPIO15>, > + <PINMUX_GPIO16__FUNC_GPIO16>, > + <PINMUX_GPIO17__FUNC_GPIO17>, > + <PINMUX_GPIO18__FUNC_GPIO18>, > + <PINMUX_GPIO19__FUNC_GPIO19>, > + <PINMUX_GPIO20__FUNC_GPIO20>, > + <PINMUX_GPIO21__FUNC_GPIO21>, > + <PINMUX_GPIO22__FUNC_GPIO22>, > + <PINMUX_GPIO23__FUNC_GPIO23>, > + <PINMUX_GPIO24__FUNC_GPIO24>, > + <PINMUX_GPIO25__FUNC_GPIO25>, > + <PINMUX_GPIO26__FUNC_GPIO26>, > + <PINMUX_GPIO27__FUNC_GPIO27>, > + <PINMUX_GPIO28__FUNC_GPIO28>; > + }; > + }; > }; > > &pmic { > @@ -415,3 +523,16 @@ &scp { > &dsi0 { > status = "disabled"; > }; > + > +&dpi0 { > + pinctrl-names = "default", "sleep"; > + pinctrl-0 = <&dpi_func_pins>; > + pinctrl-1 = <&dpi_idle_pins>; > + status = "okay"; > + > + port { > + dpi_out: endpoint { > + remote-endpoint = <&it66121_in>; > + }; > + }; > +};
diff --git a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts index 1aa668c3ccf9..ecc237355b56 100644 --- a/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts +++ b/arch/arm64/boot/dts/mediatek/mt8183-pumpkin.dts @@ -63,6 +63,18 @@ thermistor { pulldown-ohm = <0>; io-channels = <&auxadc 0>; }; + + connector { + compatible = "hdmi-connector"; + label = "hdmi"; + type = "d"; + + port { + hdmi_connector_in: endpoint { + remote-endpoint = <&hdmi_connector_out>; + }; + }; + }; }; &auxadc { @@ -120,6 +132,41 @@ &i2c6 { pinctrl-0 = <&i2c6_pins>; status = "okay"; clock-frequency = <100000>; + #address-cells = <1>; + #size-cells = <0>; + + it66121hdmitx: hdmitx@4c { + compatible = "ite,it66121"; + pinctrl-names = "default"; + pinctrl-0 = <&ite_pins>; + vcn33-supply = <&mt6358_vcn33_wifi_reg>; + vcn18-supply = <&mt6358_vcn18_reg>; + vrf12-supply = <&mt6358_vrf12_reg>; + reset-gpios = <&pio 160 GPIO_ACTIVE_LOW>; + interrupt-parent = <&pio>; + interrupts = <4 IRQ_TYPE_LEVEL_LOW>; + reg = <0x4c>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + it66121_in: endpoint { + bus-width = <12>; + remote-endpoint = <&dpi_out>; + }; + }; + + port@1 { + reg = <1>; + hdmi_connector_out: endpoint { + remote-endpoint = <&hdmi_connector_in>; + }; + }; + }; + }; }; &keyboard { @@ -362,6 +409,67 @@ pins_clk { input-enable; }; }; + + ite_pins: ite-pins { + pins-irq { + pinmux = <PINMUX_GPIO4__FUNC_GPIO4>; + input-enable; + bias-pull-up; + }; + + pins-rst { + pinmux = <PINMUX_GPIO160__FUNC_GPIO160>; + output-high; + }; + }; + + dpi_func_pins: dpi-func-pins { + pins-dpi { + pinmux = <PINMUX_GPIO12__FUNC_I2S5_BCK>, + <PINMUX_GPIO46__FUNC_I2S5_LRCK>, + <PINMUX_GPIO47__FUNC_I2S5_DO>, + <PINMUX_GPIO13__FUNC_DBPI_D0>, + <PINMUX_GPIO14__FUNC_DBPI_D1>, + <PINMUX_GPIO15__FUNC_DBPI_D2>, + <PINMUX_GPIO16__FUNC_DBPI_D3>, + <PINMUX_GPIO17__FUNC_DBPI_D4>, + <PINMUX_GPIO18__FUNC_DBPI_D5>, + <PINMUX_GPIO19__FUNC_DBPI_D6>, + <PINMUX_GPIO20__FUNC_DBPI_D7>, + <PINMUX_GPIO21__FUNC_DBPI_D8>, + <PINMUX_GPIO22__FUNC_DBPI_D9>, + <PINMUX_GPIO23__FUNC_DBPI_D10>, + <PINMUX_GPIO24__FUNC_DBPI_D11>, + <PINMUX_GPIO25__FUNC_DBPI_HSYNC>, + <PINMUX_GPIO26__FUNC_DBPI_VSYNC>, + <PINMUX_GPIO27__FUNC_DBPI_DE>, + <PINMUX_GPIO28__FUNC_DBPI_CK>; + }; + }; + + dpi_idle_pins: dpi-idle-pins { + pins-idle { + pinmux = <PINMUX_GPIO12__FUNC_GPIO12>, + <PINMUX_GPIO46__FUNC_GPIO46>, + <PINMUX_GPIO47__FUNC_GPIO47>, + <PINMUX_GPIO13__FUNC_GPIO13>, + <PINMUX_GPIO14__FUNC_GPIO14>, + <PINMUX_GPIO15__FUNC_GPIO15>, + <PINMUX_GPIO16__FUNC_GPIO16>, + <PINMUX_GPIO17__FUNC_GPIO17>, + <PINMUX_GPIO18__FUNC_GPIO18>, + <PINMUX_GPIO19__FUNC_GPIO19>, + <PINMUX_GPIO20__FUNC_GPIO20>, + <PINMUX_GPIO21__FUNC_GPIO21>, + <PINMUX_GPIO22__FUNC_GPIO22>, + <PINMUX_GPIO23__FUNC_GPIO23>, + <PINMUX_GPIO24__FUNC_GPIO24>, + <PINMUX_GPIO25__FUNC_GPIO25>, + <PINMUX_GPIO26__FUNC_GPIO26>, + <PINMUX_GPIO27__FUNC_GPIO27>, + <PINMUX_GPIO28__FUNC_GPIO28>; + }; + }; }; &pmic { @@ -415,3 +523,16 @@ &scp { &dsi0 { status = "disabled"; }; + +&dpi0 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&dpi_func_pins>; + pinctrl-1 = <&dpi_idle_pins>; + status = "okay"; + + port { + dpi_out: endpoint { + remote-endpoint = <&it66121_in>; + }; + }; +};