Re: [PATCH v3 2/2] arm64: dts: mediatek: Introduce MT8188 Geralt platform based Ciri

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Nov 24, 2024 at 5:01 PM Fei Shao <fshao@xxxxxxxxxxxx> wrote:
>
> Introduce MT8188-based Chromebook Ciri, also known commercially as
> Lenovo Chromebook Duet (11", 9).
>
> Ciri is a detachable device based on the Geralt design, where Geralt is
> the codename for the MT8188 platform. Ciri offers 8 SKUs to accommodate
> different combinations of second-source components, including:
> - audio codecs (RT5682S and ES8326)
> - speaker amps (TAS2563 and MAX98390)
> - MIPI-DSI panels (BOE nv110wum-l60 and IVO t109nw41)

Of note, a couple things are not working:

- Touchscreen: missing driver for HiMax SPI HID
- Trackpad on detachable base: missing driver support in CBAS and
    associated device tree node

A couple things below.

> Signed-off-by: Fei Shao <fshao@xxxxxxxxxxxx>
> ---
>
> Changes in v3:
> - drop scp_mem, scp_pins and SCP declaration per discussion in v2
> - drop unused (for now) dual-SCP reserved memory range
> - drop unused touchscreen pinctrl
> - drop unused HID-I2C touchscreen node in I2C-2
> - drop unused AP-SAR sensor node in I2C-3
> - drop trackpad node in I2C-4 (only work with downstream CBAS)
> - drop mmc1 (unused in public product)
> - drop eDP panel path (unused in public product)
> - declare DSI panel compatibles in individual board .dts files
> - declare CPU TDP target in -geralt.dtsi instead
> - move spi1 default and sleep pinctrl to -geralt.dtsi
> - leave memory@40000000 size empty (filled by bootloader)
> - consolidate audio codec/amplifier, DAI link declaration and
>   audio-routing property
> - stop sourcing `arm/cros-ec-sbs.dtsi` in -geralt.dtsi, because all that
>   does is to declare sbs-battery at address 0xb, which doesn't align
>   with the final design at 0xf. This saves us a /delete-node/.
> - minor format fix
>
> Changes in v2:
> - remove invalid or undocumented properties
>     e.g. mediatek,dai-link, maxim,dsm_param_name etc.
> - remove touchscreen as the driver is not yet accepted in upstream
> - update sound DAI link node name to match the binding
> - add missing pinctrls in audio codec nodes
>
>  arch/arm64/boot/dts/mediatek/Makefile         |    8 +
>  .../dts/mediatek/mt8188-geralt-ciri-sku0.dts  |   32 +
>  .../dts/mediatek/mt8188-geralt-ciri-sku1.dts  |   59 +
>  .../dts/mediatek/mt8188-geralt-ciri-sku2.dts  |   59 +
>  .../dts/mediatek/mt8188-geralt-ciri-sku3.dts  |   32 +
>  .../dts/mediatek/mt8188-geralt-ciri-sku4.dts  |   48 +
>  .../dts/mediatek/mt8188-geralt-ciri-sku5.dts  |   72 +
>  .../dts/mediatek/mt8188-geralt-ciri-sku6.dts  |   72 +
>  .../dts/mediatek/mt8188-geralt-ciri-sku7.dts  |   48 +
>  .../boot/dts/mediatek/mt8188-geralt-ciri.dtsi |  316 +++++
>  .../boot/dts/mediatek/mt8188-geralt.dtsi      | 1156 +++++++++++++++++
>  11 files changed, 1902 insertions(+)
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku0.dts
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku1.dts
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku2.dts
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku3.dts
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku4.dts
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku5.dts
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku6.dts
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri-sku7.dts
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-geralt-ciri.dtsi
>  create mode 100644 arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi

[...]

> diff --git a/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
> new file mode 100644
> index 000000000000..b6abecbcfa81
> --- /dev/null
> +++ b/arch/arm64/boot/dts/mediatek/mt8188-geralt.dtsi
> @@ -0,0 +1,1156 @@

[...]

Looking at the schematic, the following two are actually a TPS65132S
on i2c3. It should be modeled as such. <&pio 3> is the enable GPIO
for both positive and negative regulators, while <&pio 4> goes to
the SYNC pin, which enables higher load on the negative side when
driven high. The latter is not supported by the driver or binding.

The TPS65132S has a different power sequence requirement compared
to the other TPS65132 variants.

> +       ppvar_mipi_disp_avdd: regulator-ppvar-mipi-disp-avdd {
> +               compatible = "regulator-fixed";
> +               regulator-name = "ppvar_mipi_disp_avdd";
> +               enable-active-high;
> +               gpio = <&pio 3 GPIO_ACTIVE_HIGH>;
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&mipi_disp_avdd_en>;
> +               vin-supply = <&pp5000_z1>;
> +       };
> +
> +       ppvar_mipi_disp_avee: regulator-ppvar-mipi-disp-avee {
> +               compatible = "regulator-fixed";
> +               regulator-name = "ppvar_mipi_disp_avee";
> +               regulator-enable-ramp-delay = <10000>;
> +               enable-active-high;
> +               gpio = <&pio 4 GPIO_ACTIVE_HIGH>;
> +               pinctrl-names = "default";
> +               pinctrl-0 = <&mipi_disp_avee_en>;
> +               vin-supply = <&pp5000_z1>;
> +       };
> +

[...]

> +&i2c2 {
> +       pinctrl-names = "default";
> +       pinctrl-0 = <&i2c2_pins>;
> +       clock-frequency = <400000>;
> +       status = "okay";
> +};

&i2c2 on Ciri is completely unused. Please re-disable it there.


ChenYu





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux