public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Andre Przywara <andre.przywara@arm.com>
To: Sam Edwards <cfsworks@gmail.com>
Cc: u-boot@lists.denx.de
Subject: Re: [RFC PATCH 00/17] sunxi: rework pinctrl and add T113s support
Date: Mon, 12 Jun 2023 01:20:56 +0100	[thread overview]
Message-ID: <20230612012056.65883683@slackpad.lan> (raw)
In-Reply-To: <04c52801-a6d0-033b-c7f4-613e0b789d96@gmail.com>

On Fri, 9 Jun 2023 16:16:43 -0600
Sam Edwards <cfsworks@gmail.com> wrote:

Hi Sam,

> On 12/5/22 17:45, Andre Przywara wrote:
> > Please let me know if you have any opinions!  
> 
> I believe I promised you last month I'd let you know once I had a build 
> I'm happy with, and I'm pleased to say that I think I've reached that 
> point. I'm running quite rapidly out of sharp edges to sand down, too.

Thanks for the update and the list! Can you confirm where you
still needed code changes compared to say my github branch plus the
changes we already discussed? Trying some guesses below, please confirm
or deny:

> I have a build of U-Boot for my target, complete with:
> - UART3 initialized correctly

this is problematic because of the other pinmux used on your board,
which cannot easily be encoded alongside the existing UART3 pinmux?

> - DRAM coming up correctly
> - SPL sets configured boot clock correctly

This should work as per github?

> - SPI-NAND support (SPL and U-Boot proper)

This is with Icenow's series? Any D1 specific changes needed there?

> - MMC support (SPL and U-Boot proper)
> - SPL boot from FEL

again worked already in github?

> - USB gadget support

So with the fixed SUNXI_SRAMC_BASE you said it worked? What about the
USB PHY? That needs at least wiring in the compatible string? If you
have such a patch, can you please rebase it on top of my v2 USB PHY
series and post that?

> - Ethernet MAC+PHY support

Anything surprising here? Is that using an already supported external
PHY?

> - I²C support *
> - GPIO support (LEDs, buttons, misc. board management)

again should work out of the box, minus your board specific
configuration?

> - `reset` working (requries CONFIG_SYSRESET unset, WDT key)

Isn't "CONFIG_SYSRESET unset" a hack? I dimly remember we had this for
some other SoC initially, but later got rid of it?
For the WDT key: it seems like Linux got a nice patch to integrate this
neatly into the driver without quirking this too much, do you have
something ready for U-Boot as well? Would love to see it on the list
then ;-)

> - PSCI, nonsec

ah yeah, owe you some reviews on this one ...

> - Able to boot Linux ;)
> 
> * Requires nonzero `MVTWSI_CONTROL_CLEAR_IFLG` for NCAT2, and a patch to 
> the pinctrl driver to configure the proper mux function for my necessary 
> pins.

Are those pinmuxes straight forward to add to the pinctrl driver? Or
are there conflicts similar to UART3?
 
> I figured I'd share this list as a sort of checklist for your own work, 
> too. The remainder of my efforts now will probably be focused on 
> mainlining this stuff (let me know how else I can be of help), and then 
> I'm afraid I'll have to disappear back downstream to the Turing Pi 2 
> development effort, but maybe our paths will cross again in the kernel 
> lists. :)

Yeah, as you may know, the DT has to go through the kernel list. DT
patches can be tedious to upstream, there is now much attention to
every detail. Running checkpatch and dtbs_check should reveal most
issues beforehand, though.

Cheers,
Andre


> 
> Thank you greatly,
> Sam
> 
> P.S. I figure the reason there aren't I²C function defs in the d1 
> pinctrl table already is because Allwinner tends to kick around the I²C 
> mux values a lot and we would need a per-pin lookup table that would eat 
> up too much valuable image space?
> 
> In an entirely JUST FOR FUN exercise to give myself a break from staring 
> at datasheets/patches and do a "pure CS" coding challenge for a change, 
> I came up with a terse encoding scheme for this table. Here is the size 
> (in bits) for a selection of D1's functions (pin assignments harvested 
> from Linux):
> 
>   'emac': 50,
>   'i2c0': 101,
>   'i2c1': 64,
>   'i2c2': 109,
>   'i2c3': 91,
>   'mmc0': 23,
>   'mmc1': 23,
>   'mmc2': 20,
>   'spi0': 41,
>   'spi1': 48,
>   'uart0': 78,
>   'uart1': 87,
>   'uart2': 88,
>   'uart3': 102,
>   'uart4': 68,
>   'uart5': 66,
> 
> ...and yes, it also identifies invalid pin assignments! I'd be willing 
> to contribute something like this if there's big interest, but I figure 
> needing to compress this at build-time might be a bit too complicated 
> for the U-Boot project's liking.


  reply	other threads:[~2023-06-12 20:11 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-06  0:45 [RFC PATCH 00/17] sunxi: rework pinctrl and add T113s support Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 01/17] sunxi: remove CONFIG_SATAPWR Andre Przywara
2022-12-14  8:37   ` Samuel Holland
2022-12-14 14:25     ` Andre Przywara
2022-12-14 23:40       ` Samuel Holland
2022-12-06  0:45 ` [RFC PATCH 02/17] sunxi: remove CONFIG_MACPWR Andre Przywara
2022-12-14  9:09   ` Samuel Holland
2022-12-14 14:23     ` Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 03/17] pinctrl: sunxi: remove struct sunxi_gpio Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 04/17] pinctrl: sunxi: add GPIO in/out wrappers Andre Przywara
2022-12-15  5:59   ` Samuel Holland
2022-12-06  0:45 ` [RFC PATCH 05/17] pinctrl: sunxi: move pinctrl code and remove GPIO_EXTRA_HEADER Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 06/17] pinctrl: sunxi: move PIO_BASE into sunxi_gpio.h Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 07/17] pinctrl: sunxi: add new D1 pinctrl support Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 08/17] sunxi: introduce NCAT2 generation model Andre Przywara
2022-12-06  5:38   ` Icenowy Zheng
2023-05-16  2:32   ` Sam Edwards
2023-05-16 21:08     ` Andre Przywara
2023-05-16 23:53       ` Sam Edwards
2023-05-17  0:43         ` Andre Przywara
2023-05-17  8:56           ` Andre Przywara
2023-05-17 14:04             ` Maxim Kiselev
2023-05-25 18:25               ` Maksim Kiselev
2023-05-26 11:05                 ` Andre Przywara
2023-06-03 18:03   ` Sam Edwards
2022-12-06  0:45 ` [RFC PATCH 09/17] pinctrl: sunxi: add Allwinner D1 pinctrl description Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 10/17] clk: sunxi: Add support for the D1 CCU Andre Przywara
2023-05-22  3:57   ` Sam Edwards
2023-05-24  0:58     ` Andre Przywara
2023-05-26  0:34   ` Sam Edwards
2023-05-26 10:50     ` Andre Przywara
2023-05-26 19:27       ` Maksim Kiselev
2023-05-26 20:22         ` Sam Edwards
2023-05-26 22:07           ` Andre Przywara
2023-05-27  2:15             ` Sam Edwards
2023-05-30  0:58               ` Sam Edwards
2023-05-31 15:19                 ` Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 11/17] sunxi: clock: D1/R528: Enable PLL LDO during PLL1 setup Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 12/17] sunxi: clock: support D1/R528 PLL6 clock Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 13/17] sunxi: add early Allwinner R528/T113 SoC support Andre Przywara
2023-05-16  2:52   ` Sam Edwards
2023-05-16 22:01     ` Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 14/17] sunxi: refactor serial base addresses to avoid asm/arch/cpu.h Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 15/17] riscv: dts: allwinner: Add the D1/D1s SoC devicetree Andre Przywara
2022-12-06  0:45 ` [RFC PATCH 16/17] arm: sunxi: add Allwinner T113s devicetree stub Andre Przywara
2022-12-06  5:55   ` Icenowy Zheng
2023-01-03 17:38     ` Andre Przywara
2023-01-04  5:49       ` Icenowy Zheng
2022-12-06  0:45 ` [RFC PATCH 17/17] sunxi: add preliminary MangoPi MQ-R board support Andre Przywara
2023-06-09 22:16 ` [RFC PATCH 00/17] sunxi: rework pinctrl and add T113s support Sam Edwards
2023-06-12  0:20   ` Andre Przywara [this message]
2023-06-12 21:18     ` Sam Edwards
2023-06-15  0:07       ` Andre Przywara
2023-06-18 19:01         ` Sam Edwards
2023-06-20 12:42           ` Andre Przywara
2023-06-20 22:11             ` Sam Edwards
2023-06-21 10:55               ` Andre Przywara
2023-06-21 20:22                 ` Sam Edwards
2023-06-16 15:59       ` Andre Przywara
2023-06-16 16:27         ` Maxim Kiselev
2023-06-16 16:36           ` Andre Przywara
2023-06-17  8:26             ` Maxim Kiselev

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=20230612012056.65883683@slackpad.lan \
    --to=andre.przywara@arm.com \
    --cc=cfsworks@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