ARM Sunxi Platform Development
 help / color / mirror / Atom feed
From: "Clément Péron" <peron.clem@gmail.com>
To: Kamil Kasperski <ressetkk@gmail.com>
Cc: Andre Przywara <andre.przywara@arm.com>,
	u-boot@lists.denx.de,  linux-sunxi <linux-sunxi@lists.linux.dev>
Subject: Re: [PATCH] sunxi: h616: add initial support for T95 AXP313 TV Box
Date: Mon, 11 Mar 2024 21:10:45 +0100	[thread overview]
Message-ID: <CAJiuCcegz07RnkCz_jfG3H_E0Vd08ZC2=Z1nCH09gD4=yfC6Ng@mail.gmail.com> (raw)
In-Reply-To: <CACttifJXW-WJjRBzDYk-TssS6v3XZD=Bc736zcH4emXr46cSPA@mail.gmail.com>

Hi,

On Mon, 11 Mar 2024 at 11:38, Kamil Kasperski <ressetkk@gmail.com> wrote:
>
> Hello Andre,
> Thanks for your reply and thanks for pointing some stuff out.
>
> > What is "mbox"? Do you have any more information about this vendor?
>
> "MBOX" refers to the "Model" string from system properties.
> The problem is that it's quite hard to pin the correct vendor, since
> the OS is built based on Google Pixel 2.
> You can see that the fingerprint contains strings only for this phone:
> [ro.build.fingerprint]:
> [google/walley/walleye:10/QP1A.191105.004/eng.cmj.20220408.125005:userdebug/test-keys]
> Setting the device model as Vendor string seemed to be the most safe bet.
> If you have any other suggestions, please let me know.

Maybe a suggestion could be "YAGALA"

If you look on amazon, aliexpress you could find some vendors setting
the brand to this name.

Regards,

>
> > But please note that the devicetree needs to go through the Linux
> > mailing lists and repo first, and we automatically copy it from the
> > Linux tree once it has been merged there.
>
> Thanks for pointing that out. I'll contact Linux maintainers
> and will send updated patch.
>
> Best regards,
> Kamil
>
>
> niedz., 10 mar 2024 o 23:00 Andre Przywara <andre.przywara@arm.com> napisał(a):
> >
> > On Sat,  9 Mar 2024 19:24:26 +0000
> > Kamil Kasperski <ressetkk@gmail.com> wrote:
> >
> > Hi Kamil,
> >
> > many thanks for sending a patch, that looks mostly good from the
> > technical point of view, only some smaller comments.
> >
> > But please note that the devicetree needs to go through the Linux
> > mailing lists and repo first, and we automatically copy it from the
> > Linux tree once it has been merged there. This is to ensure proper
> > review and checks with the Linux tooling.
> >
> > So can you please send just the .dts file to the DT and sunxi
> > maintainers the respective lists, as reported by get_maintainer.pl?
> > Then we can take it from there.
> >
> > > T95 is a most commonly known for being a box with a pre-installed malware.
> > > It uses Allwinner H616 and comes with eMMC and DDR3 memory.
> > > This device comes with two versions - one with AXP305 PMIC and another with AXP313 PMIC.
> > > The AXP313 version comes with Secure Boot enabled and locked bootloader, so the u-boot has to be built with TOC0.
> > > DRAM settings are taken from Allwinner's boot0 for this box.
> >
> > Ah, thanks for figuring those out, that's very helpful.
> >
> > >
> > > Cc: Andre Przywara <andre.przywara@arm.com>
> > >
> > > Signed-off-by: Kamil Kasperski <ressetkk@gmail.com>
> > > ---
> > >  arch/arm/dts/Makefile                   |   3 +-
> > >  arch/arm/dts/sun50i-h616-t95-axp313.dts | 148 ++++++++++++++++++++++++
> > >  configs/t95_axp313_defconfig            |  27 +++++
> > >  3 files changed, 177 insertions(+), 1 deletion(-)
> > >  create mode 100644 arch/arm/dts/sun50i-h616-t95-axp313.dts
> > >  create mode 100644 configs/t95_axp313_defconfig
> > >
> > > diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
> > > index b102ffb5f6..144daf6c48 100644
> > > --- a/arch/arm/dts/Makefile
> > > +++ b/arch/arm/dts/Makefile
> > > @@ -842,7 +842,8 @@ dtb-$(CONFIG_MACH_SUN50I_H616) += \
> > >       sun50i-h618-orangepi-zero2w.dtb \
> > >       sun50i-h618-orangepi-zero3.dtb \
> > >       sun50i-h618-transpeed-8k618-t.dtb \
> > > -     sun50i-h616-x96-mate.dtb
> > > +     sun50i-h616-x96-mate.dtb \
> > > +     sun50i-h616-t95-axp313.dtb
> > >  dtb-$(CONFIG_MACH_SUN50I) += \
> > >       sun50i-a64-amarula-relic.dtb \
> > >       sun50i-a64-bananapi-m64.dtb \
> > > diff --git a/arch/arm/dts/sun50i-h616-t95-axp313.dts b/arch/arm/dts/sun50i-h616-t95-axp313.dts
> > > new file mode 100644
> > > index 0000000000..b006f363d5
> > > --- /dev/null
> > > +++ b/arch/arm/dts/sun50i-h616-t95-axp313.dts
> > > @@ -0,0 +1,148 @@
> > > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
> > > +/*
> > > + * Copyright (C) 2021 Arm Ltd.
> >
> > Please change this copyright you and this year.
> >
> > > + */
> > > +
> > > +/dts-v1/;
> > > +
> > > +#include "sun50i-h616.dtsi"
> > > +
> > > +#include <dt-bindings/gpio/gpio.h>
> > > +#include <dt-bindings/interrupt-controller/arm-gic.h>
> > > +
> > > +/ {
> > > +     model = "T95 (AXP313)";
> > > +     compatible = "mbox,t95-axp313", "allwinner,sun50i-h616";
> >
> > What is "mbox"? Do you have any more information about this vendor?
> > In any case a new vendor would need to be added to
> > Documentation/devicetree/bindings/vendor-prefixes.yaml, in a separate
> > patch. Also you need a patch to add this compatible combination to
> > Documentation/devicetree/bindings/arm/sunxi.yaml.
> >
> > Cheers,
> > Andre
> >
> > > +
> > > +     aliases {
> > > +             serial0 = &uart0;
> > > +     };
> > > +
> > > +     chosen {
> > > +             stdout-path = "serial0:115200n8";
> > > +     };
> > > +
> > > +     reg_vcc5v: vcc5v {
> > > +             /* board wide 5V supply directly from the DC input */
> > > +             compatible = "regulator-fixed";
> > > +             regulator-name = "vcc-5v";
> > > +             regulator-min-microvolt = <5000000>;
> > > +             regulator-max-microvolt = <5000000>;
> > > +             regulator-always-on;
> > > +     };
> > > +};
> > > +
> > > +&ehci0 {
> > > +     status = "okay";
> > > +};
> > > +
> > > +&ehci2 {
> > > +     status = "okay";
> > > +};
> > > +
> > > +&ir {
> > > +     status = "okay";
> > > +};
> > > +
> > > +&mmc0 {
> > > +     cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */
> > > +     vmmc-supply = <&reg_dldo1>;
> > > +     status = "okay";
> > > +};
> > > +
> > > +&mmc2 {
> > > +     vmmc-supply = <&reg_dldo1>;
> > > +     vqmmc-supply = <&reg_aldo1>;
> > > +     bus-width = <8>;
> > > +     non-removable;
> > > +     cap-mmc-hw-reset;
> > > +     mmc-ddr-1_8v;
> > > +     mmc-hs200-1_8v;
> > > +     status = "okay";
> > > +};
> > > +
> > > +&ohci0 {
> > > +     status = "okay";
> > > +};
> > > +
> > > +&ohci2 {
> > > +     status = "okay";
> > > +};
> > > +
> > > +&r_i2c {
> > > +     status = "okay";
> > > +
> > > +     axp313: pmic@36 {
> > > +             compatible = "x-powers,axp313a";
> > > +             reg = <0x36>;
> > > +             #interrupt-cells = <1>;
> > > +             interrupt-controller;
> > > +             interrupt-parent = <&pio>;
> > > +             interrupts = <2 9 IRQ_TYPE_LEVEL_LOW>;  /* PC9 */
> > > +
> > > +             vin1-supply = <&reg_vcc5v>;
> > > +             vin2-supply = <&reg_vcc5v>;
> > > +             vin3-supply = <&reg_vcc5v>;
> > > +
> > > +             regulators {
> > > +                     /* Supplies VCC-PLL, so needs to be always on. */
> > > +                     reg_aldo1: aldo1 {
> > > +                             regulator-always-on;
> > > +                             regulator-min-microvolt = <1800000>;
> > > +                             regulator-max-microvolt = <1800000>;
> > > +                             regulator-name = "vcc1v8";
> > > +                     };
> > > +
> > > +                     /* Supplies VCC-IO, so needs to be always on. */
> > > +                     reg_dldo1: dldo1 {
> > > +                             regulator-always-on;
> > > +                             regulator-min-microvolt = <3300000>;
> > > +                             regulator-max-microvolt = <3300000>;
> > > +                             regulator-name = "vcc3v3";
> > > +                     };
> > > +
> > > +                     reg_dcdc1: dcdc1 {
> > > +                             regulator-always-on;
> > > +                             regulator-min-microvolt = <810000>;
> > > +                             regulator-max-microvolt = <990000>;
> > > +                             regulator-name = "vdd-gpu-sys";
> > > +                     };
> > > +
> > > +                     reg_dcdc2: dcdc2 {
> > > +                             regulator-always-on;
> > > +                             regulator-min-microvolt = <810000>;
> > > +                             regulator-max-microvolt = <1100000>;
> > > +                             regulator-name = "vdd-cpu";
> > > +                     };
> > > +
> > > +                     reg_dcdc3: dcdc3 {
> > > +                             regulator-always-on;
> > > +                             regulator-min-microvolt = <1360000>;
> > > +                             regulator-max-microvolt = <1360000>;
> > > +                             regulator-name = "vdd-dram";
> > > +                     };
> > > +             };
> > > +     };
> > > +};
> > > +
> > > +&pio {
> > > +     vcc-pc-supply = <&reg_aldo1>;
> > > +     vcc-pg-supply = <&reg_dldo1>;
> > > +     vcc-ph-supply = <&reg_dldo1>;
> > > +     vcc-pi-supply = <&reg_dldo1>;
> > > +};
> > > +
> > > +&uart0 {
> > > +     pinctrl-names = "default";
> > > +     pinctrl-0 = <&uart0_ph_pins>;
> > > +     status = "okay";
> > > +};
> > > +
> > > +&usbotg {
> > > +     dr_mode = "host";       /* USB A type receptable */
> > > +     status = "okay";
> > > +};
> > > +
> > > +&usbphy {
> > > +     status = "okay";
> > > +};
> > > diff --git a/configs/t95_axp313_defconfig b/configs/t95_axp313_defconfig
> > > new file mode 100644
> > > index 0000000000..6542b5bc88
> > > --- /dev/null
> > > +++ b/configs/t95_axp313_defconfig
> > > @@ -0,0 +1,27 @@
> > > +CONFIG_ARM=y
> > > +CONFIG_ARCH_SUNXI=y
> > > +CONFIG_DEFAULT_DEVICE_TREE="sun50i-h616-t95-axp313"
> > > +CONFIG_SPL=y
> > > +CONFIG_MACH_SUN50I_H616=y
> > > +CONFIG_DRAM_CLK=648
> > > +CONFIG_DRAM_SUN50I_H616_ODT_EN=0x1
> > > +CONFIG_DRAM_SUN50I_H616_DX_ODT=0x03030303
> > > +CONFIG_DRAM_SUN50I_H616_DX_DRI=0x0e0e0e0e
> > > +CONFIG_DRAM_SUN50I_H616_CA_DRI=0x1c1c
> > > +CONFIG_DRAM_SUN50I_H616_TPR10=0x2f0006
> > > +CONFIG_DRAM_SUN50I_H616_TPR11=0xffffdddd
> > > +CONFIG_DRAM_SUN50I_H616_TPR12=0xfedf7657
> > > +CONFIG_SUNXI_DRAM_H616_DDR3_1333=y
> > > +CONFIG_R_I2C_ENABLE=y
> > > +CONFIG_SPL_I2C=y
> > > +CONFIG_SPL_SYS_I2C_LEGACY=y
> > > +CONFIG_SYS_I2C_MVTWSI=y
> > > +CONFIG_SYS_I2C_SLAVE=0x7f
> > > +CONFIG_SYS_I2C_SPEED=400000
> > > +CONFIG_SUPPORT_EMMC_BOOT=y
> > > +CONFIG_AXP313_POWER=y
> > > +CONFIG_AXP_DCDC3_VOLT=1360
> > > +CONFIG_USB_EHCI_HCD=y
> > > +CONFIG_USB_OHCI_HCD=y
> > > +CONFIG_SUN8I_EMAC=y
> > > +CONFIG_SPL_IMAGE_TYPE_SUNXI_TOC0=y
> >
>
>
> --
> Kamil Kasperski
>

      reply	other threads:[~2024-03-11 20:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20240309192425.40282-1-ressetkk@gmail.com>
2024-03-10 22:00 ` [PATCH] sunxi: h616: add initial support for T95 AXP313 TV Box Andre Przywara
2024-03-11 10:37   ` Kamil Kasperski
2024-03-11 20:10     ` Clément Péron [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJiuCcegz07RnkCz_jfG3H_E0Vd08ZC2=Z1nCH09gD4=yfC6Ng@mail.gmail.com' \
    --to=peron.clem@gmail.com \
    --cc=andre.przywara@arm.com \
    --cc=linux-sunxi@lists.linux.dev \
    --cc=ressetkk@gmail.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).