devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Kemnade <andreas@kemnade.info>
To: Roger Quadros <rogerq@kernel.org>
Cc: Conor Dooley <conor+dt@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	linux-kernel@vger.kernel.org, Rob Herring <robh@kernel.org>,
	khilman@baylibre.com, devicetree@vger.kernel.org,
	tony@atomide.com, aaro.koskinen@iki.fi,
	linux-omap@vger.kernel.org
Subject: Re: [PATCH 3/4] ARM: dts: omap: omap4-epson-embt2ws: add unknown gpio outputs
Date: Fri, 4 Oct 2024 13:33:11 +0200	[thread overview]
Message-ID: <20241004133311.116ee074@akair> (raw)
In-Reply-To: <7fc3cf75-bf48-4bcc-8c74-09fb89655a72@kernel.org>

Am Fri, 4 Oct 2024 10:53:57 +0300
schrieb Roger Quadros <rogerq@kernel.org>:

> On 01/10/2024 00:30, Andreas Kemnade wrote:
> > Set them to the state seen in a running system, initialized
> > by vendor u-boot or kernel. Add line names where they are defined
> > in the vendor kernel.
> > gpio15 resets something in the display, otherwise meaning of the
> > gpios is not known.
> > 
> > Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
> > ---
> >  .../boot/dts/ti/omap/omap4-epson-embt2ws.dts  | 84
> > +++++++++++++++++++ 1 file changed, 84 insertions(+)
> > 
> > diff --git a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts
> > b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts index
> > cc1b6080bf95..c8205ae89840 100644 ---
> > a/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts +++
> > b/arch/arm/boot/dts/ti/omap/omap4-epson-embt2ws.dts @@ -115,6
> > +115,65 @@ wl12xx_vmmc: wl12xx-vmmc { };
> >  };  
> >  > +&gpio1 {  
> > +	pinctrl-names = "default";
> > +	pinctrl-0 = <&gpio1_hog_pins &gpio1wk_hog_pins>;
> > +
> > +	lb-reset-hog {
> > +		gpio-hog;
> > +		gpios = <9 GPIO_ACTIVE_HIGH>;
> > +		output-low;
> > +		line-name = "lb_reset";
> > +	};  
> 
> Just curious, what does lb stand for.
> 
me too. Maybe b is the same as in cb 

static struct gpio bt2ws_lb_gpios[] = {
        {BLC_L_GPIO,   GPIOF_OUT_INIT_LOW,  "gpio_blc_l"   },
        {BLC_R_GPIO,   GPIOF_OUT_INIT_LOW,  "gpio_blc_r"   },
        {LB_RESET_GPIO,GPIOF_OUT_INIT_LOW,  "gpio_lb_reset"},
        {POWER_EN_GPIO,GPIOF_OUT_INIT_HIGH, "gpio_power_en"},
        {PANEL_POWER_EN_GPIO,GPIOF_OUT_INIT_LOW, "gpio_panel_power_en"},
};

That is what is in the vendor kernel and matches 

> > +
> > +	power-en-hog {
> > +		gpio-hog;
> > +		gpios = <10 GPIO_ACTIVE_HIGH>;
> > +		output-high;
> > +		line-name = "power_en";
> > +	};
> > +
> > +	panel-power-en-hog {
> > +		gpio-hog;
> > +		gpios = <14 GPIO_ACTIVE_HIGH>;
> > +		output-low;
> > +		line-name = "panel_power_en";
> > +	};  
> 
> Is panel always enabled? I didn't see a panel driver
> else it could be hooked to panel regulator?
> 
Panels are behind two dsi to dpi converters.
I have a driver. At the moment, I boot into vendor
v3.0 kernel, reprogram boot order, warm reboot into mainline u-boot +
kernel to get display working. I can read registers via dsi at least
after blanking the panel for the first time. Blanking/unblanking seems
to work.
With a low pulse on gpio15 I can reset something in the display which
the vendor kernel can recover from but not my mainline driver. Then no
communication with the display seem to work.

About gpio 10/14 I know only the name (from the possibly kernel sources
and matching /sys/kernel/debug/gpio). And that knowledge I want to
forward into the formal hardware description, the device tree.

$ grep -R PANEL_POWER_EN *
arch/arm/mach-omap2/board-bt2ws.c:
{PANEL_POWER_EN_GPIO,GPIOF_OUT_INIT_LOW, "gpio_panel_power_en"},
arch/arm/mach-omap2/board-bt2ts.c:
{PANEL_POWER_EN_GPIO,GPIOF_OUT_INIT_LOW, "gpio_panel_power_en"},
include/video/omap-panel-bt2.h:#define PANEL_POWER_EN_GPIO 14	// GPIO

But I did not get the supposed vendor kernel to fully boot. I have the verdict
that I do not have the exact sources of the kernel which is running.
I also did not notice any change in behaviour when toggling these gpios.
So either they are a leftover from another board revision or something
gets supplied by some parasitic ways.

I think the best is to explain the situation more in the comments.
What is a bit difficult is here is that there is something done in the m3
processors but apparently nothing vital to having display output (tried
with an initrd without any m3 firmware), probably
doing something camera-related, so the kernel sources do not give a full
picture of the hardware anyways.

BTW: do you know how to best trace gpio changes done by the vendor kernel
without recompiling it? I managed to write a module deviating the master_xfre
function for i2c to log things.

> > +
> > +	blc-r-hog {
> > +		gpio-hog;
> > +		gpios = <17 GPIO_ACTIVE_HIGH>;
> > +		output-low;
> > +		line-name = "blc_r";
> > +	};  
> 
> this should be modeled as a gpio regulator and paried to backlight
> left?
> 
Discussed in patch 2.

Regards,
Andreas

  reply	other threads:[~2024-10-04 11:33 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-30 21:30 [PATCH 0/4] ARM: dts: omap: omap4-epson-embt2ws: misc gpio definitions Andreas Kemnade
2024-09-30 21:30 ` [PATCH 1/4] ARM: dts: omap: omap4-epson-embt2ws: define GPIO regulators Andreas Kemnade
2024-10-04  7:24   ` Roger Quadros
2024-10-04  7:41     ` Andreas Kemnade
2024-10-04  7:55       ` Roger Quadros
2024-09-30 21:30 ` [PATCH 2/4] ARM: dts: omap: omap4-epson-embt2ws: wire up regulators Andreas Kemnade
2024-10-04  7:25   ` Roger Quadros
2024-10-04  7:38   ` Roger Quadros
2024-10-04  9:01     ` Andreas Kemnade
2024-10-04  9:45       ` Roger Quadros
2024-09-30 21:30 ` [PATCH 3/4] ARM: dts: omap: omap4-epson-embt2ws: add unknown gpio outputs Andreas Kemnade
2024-10-04  7:53   ` Roger Quadros
2024-10-04 11:33     ` Andreas Kemnade [this message]
2024-09-30 21:30 ` [PATCH 4/4] ARM: dts: omap: omap4-epson-embt2ws: add GPIO expander Andreas Kemnade
2024-10-02  3:52 ` [PATCH 0/4] ARM: dts: omap: omap4-epson-embt2ws: misc gpio definitions Rob Herring (Arm)

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=20241004133311.116ee074@akair \
    --to=andreas@kemnade.info \
    --cc=aaro.koskinen@iki.fi \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=khilman@baylibre.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=robh@kernel.org \
    --cc=rogerq@kernel.org \
    --cc=tony@atomide.com \
    /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 NNTP newsgroup(s).