From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-12.3 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C429EC4338F for ; Fri, 30 Jul 2021 15:10:46 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C273860F0F for ; Fri, 30 Jul 2021 15:10:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org C273860F0F Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=konsulko.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A5A8782E05; Fri, 30 Jul 2021 17:10:42 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=konsulko.com header.i=@konsulko.com header.b="rWPGAkeE"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D596982E05; Fri, 30 Jul 2021 17:10:39 +0200 (CEST) Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com [IPv6:2607:f8b0:4864:20::730]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 9E0DB82C54 for ; Fri, 30 Jul 2021 17:10:35 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=konsulko.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=trini@konsulko.com Received: by mail-qk1-x730.google.com with SMTP id k7so9680914qki.11 for ; Fri, 30 Jul 2021 08:10:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=konsulko.com; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=nlQneA7HjM3w04tTHgrKQDi0sShYx8idYCj21LEWoTE=; b=rWPGAkeEQaw4VWQyqCJWy9foDPpk5BfqIGQGfPIkQ/Uw1kzmwar1Mn5JRpOV0WmnBT cySqEOg6a8IcHq+VpLPoJm00TmFxo2DDcRyTtigNNdSUUVDFc+me8F9g3E0Qaxp7jjHF CfTE2oyJuwuiNEO1LYLqpP4mBSrNRnTo9mAVU= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=nlQneA7HjM3w04tTHgrKQDi0sShYx8idYCj21LEWoTE=; b=o3OEEMg6Hc95t0Rk+LDvltz/8upsJxup88Jn+sAo0BA4XE0U/+JzhfWvL4oVdIBR6K IR4ayAdxj14MoxHmwBD/+Q5iXJV67dh31ljf57SmaS0YdoiQ4s0412ajIMEAvDKP3MB5 ys5eNf6akOkZGzJ/tp4+NCvR4KXtJHgCOhzuXJfHqV/xfIZhHttdyOS9rcSOeVM3QcUl Pk7yw9RLPr+UZsYl3uQmUoCICmFckS/Y0WsldCKbB3zjzMeKQA98+5FZan4H8Kgxyfql WaNUE4hAtcOPZTlYqWrD8rEqMQmVn2uuoNBsHGS0+OVETaDS/JRuHm0o+0uuF+eL4PhO g7ig== X-Gm-Message-State: AOAM5323vWAG7JhFfm8FQYviVRnfu/JIzP/15GB8tk1+eQ17QlRft979 zlMCOqFI6IIugjzlFqYO4W5JuQ== X-Google-Smtp-Source: ABdhPJzqtv3+QjhBOl4uBlYa6VlrPrS6wvNWJ5zHIZm2ZvP3W+QBI9qQYM3YK6YGX1BUEWcgtiyy1g== X-Received: by 2002:ae9:e109:: with SMTP id g9mr2844487qkm.95.1627657834221; Fri, 30 Jul 2021 08:10:34 -0700 (PDT) Received: from bill-the-cat (2603-6081-7b01-cbda-94ed-10de-2168-2ec4.res6.spectrum.com. [2603:6081:7b01:cbda:94ed:10de:2168:2ec4]) by smtp.gmail.com with ESMTPSA id y67sm1057180qkd.58.2021.07.30.08.10.33 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Fri, 30 Jul 2021 08:10:33 -0700 (PDT) Date: Fri, 30 Jul 2021 11:10:31 -0400 From: Tom Rini To: Simon Glass Cc: U-Boot Mailing List Subject: Re: Debugging dtoc? Message-ID: <20210730151031.GC9379@bill-the-cat> References: <20210725211033.GH9379@bill-the-cat> <20210729132209.GN9379@bill-the-cat> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="JUbEFkz87vQcUeYo" Content-Disposition: inline In-Reply-To: X-Clacks-Overhead: GNU Terry Pratchett User-Agent: Mutt/1.9.4 (2018-02-28) X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean --JUbEFkz87vQcUeYo Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Jul 30, 2021 at 08:44:29AM -0600, Simon Glass wrote: > Hi Tom, >=20 > On Thu, 29 Jul 2021 at 07:22, Tom Rini wrote: > > > > On Wed, Jul 28, 2021 at 07:27:08PM -0600, Simon Glass wrote: > > > Hi Tom, > > > > > > On Wed, 28 Jul 2021 at 17:28, Simon Glass wrote: > > > > > > > > Hi again, > > > > > > > > On Mon, 26 Jul 2021 at 08:06, Simon Glass wrote: > > > > > > > > > > Hi Tom, > > > > > > > > > > On Sun, 25 Jul 2021 at 15:10, Tom Rini wrote: > > > > > > > > > > > > So, I'm trying to fix the problem on am335x_evm (and some family > > > > > > configs) with needing SPL_OF_CONTROL enabled. This is mostly f= ine just > > > > > > enabling the option, except on am335x_evm itself, which is the > > > > > > kitchen-sink config and overflows memory. I've gone with switc= hing to > > > > > > SPL_OF_PLATDATA there as am335x in general has all of the U_BOO= T_DRVINFO > > > > > > entries it needs I believe. But, with the following patch: > > > > > > > > > > > > diff --git a/arch/arm/dts/am335x-evm-u-boot.dtsi b/arch/arm/dts= /am335x-evm-u-boot.dtsi > > > > > > index 4cf5f9928d58..514f682cac99 100644 > > > > > > --- a/arch/arm/dts/am335x-evm-u-boot.dtsi > > > > > > +++ b/arch/arm/dts/am335x-evm-u-boot.dtsi > > > > > > @@ -8,6 +8,7 @@ > > > > > > &l4_per { > > > > > > > > > > > > segment@300000 { > > > > > > + u-boot,dm-pre-reloc; > > > > > > > > > > > > target-module@e000 { > > > > > > u-boot,dm-pre-reloc; > > > > > > diff --git a/configs/am335x_boneblack_vboot_defconfig b/configs= /am335x_boneblack_vboot_defconfig > > > > > > index a0baeec79edd..ffeefd1a0087 100644 > > > > > > --- a/configs/am335x_boneblack_vboot_defconfig > > > > > > +++ b/configs/am335x_boneblack_vboot_defconfig > > > > > > @@ -31,6 +31,7 @@ CONFIG_CMD_SPL=3Dy > > > > > > # CONFIG_CMD_SETEXPR is not set > > > > > > CONFIG_BOOTP_DNS2=3Dy > > > > > > CONFIG_OF_CONTROL=3Dy > > > > > > +CONFIG_SPL_OF_CONTROL=3Dy > > > > > > CONFIG_ENV_OVERWRITE=3Dy > > > > > > CONFIG_ENV_IS_IN_MMC=3Dy > > > > > > CONFIG_SYS_REDUNDAND_ENVIRONMENT=3Dy > > > > > > diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_= defconfig > > > > > > index a33efff42a74..f35b2a02f56b 100644 > > > > > > --- a/configs/am335x_evm_defconfig > > > > > > +++ b/configs/am335x_evm_defconfig > > > > > > @@ -37,13 +37,16 @@ CONFIG_MTDIDS_DEFAULT=3D"nand0=3Dnand.0" > > > > > > CONFIG_MTDPARTS_DEFAULT=3D"mtdparts=3Dnand.0:128k(NAND.SPL),12= 8k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAN= D.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env= =2Ebackup1),8m(NAND.kernel),-(NAND.file-system)" > > > > > > # CONFIG_SPL_EFI_PARTITION is not set > > > > > > CONFIG_OF_CONTROL=3Dy > > > > > > +CONFIG_SPL_OF_CONTROL=3Dy > > > > > > CONFIG_OF_LIST=3D"am335x-evm am335x-bone am335x-boneblack am33= 5x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle" > > > > > > +CONFIG_SPL_OF_PLATDATA=3Dy > > > > > > CONFIG_ENV_OVERWRITE=3Dy > > > > > > CONFIG_SYS_RELOC_GD_ENV_ADDR=3Dy > > > > > > CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG=3Dy > > > > > > CONFIG_SPL_ENV_IS_NOWHERE=3Dy > > > > > > CONFIG_VERSION_VARIABLE=3Dy > > > > > > CONFIG_BOOTP_SEND_HOSTNAME=3Dy > > > > > > +# CONFIG_SPL_SIMPLE_BUS is not set > > > > > > CONFIG_BOOTCOUNT_LIMIT=3Dy > > > > > > CONFIG_CLK=3Dy > > > > > > CONFIG_CLK_CDCE9XX=3Dy > > > > > > diff --git a/configs/am335x_evm_spiboot_defconfig b/configs/am3= 35x_evm_spiboot_defconfig > > > > > > index 8f0c330674a9..4a2a56a9af9e 100644 > > > > > > --- a/configs/am335x_evm_spiboot_defconfig > > > > > > +++ b/configs/am335x_evm_spiboot_defconfig > > > > > > @@ -32,6 +32,7 @@ CONFIG_BOOTP_DNS2=3Dy > > > > > > CONFIG_CMD_MTDPARTS=3Dy > > > > > > # CONFIG_SPL_EFI_PARTITION is not set > > > > > > CONFIG_OF_CONTROL=3Dy > > > > > > +CONFIG_SPL_OF_CONTROL=3Dy > > > > > > CONFIG_OF_LIST=3D"am335x-evm am335x-bone am335x-boneblack am33= 5x-evmsk am335x-bonegreen am335x-icev2 am335x-pocketbeagle" > > > > > > CONFIG_ENV_OVERWRITE=3Dy > > > > > > # CONFIG_ENV_IS_IN_FAT is not set > > > > > > > > > > > > I get the following failure and I don't see how to debug this: > > > > > > DTOC spl/dts/dt-plat.c > > > > > > Traceback (most recent call last): > > > > > > File "./tools/dtoc/dtoc", line 115, in > > > > > > args.phase, instantiate=3Dargs.instantiate) > > > > > > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_p= latdata.py", line 1223, in run_steps > > > > > > outfile.method(plat) > > > > > > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_p= latdata.py", line 1081, in generate_plat > > > > > > self.output_node_plat(node) > > > > > > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_p= latdata.py", line 1023, in output_node_plat > > > > > > self._output_values(node) > > > > > > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_p= latdata.py", line 812, in _output_values > > > > > > self._output_prop(node, node.props[pname]) > > > > > > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_p= latdata.py", line 798, in _output_prop > > > > > > self._output_list(node, prop) > > > > > > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_p= latdata.py", line 628, in _output_list > > > > > > vals.append(get_value(prop.type, val)) > > > > > > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_p= latdata.py", line 126, in get_value > > > > > > val =3D '%#x' % fdt_util.fdt32_to_cpu(value) > > > > > > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/fdt_u= til.py", line 28, in fdt32_to_cpu > > > > > > return struct.unpack('>I', val)[0] > > > > > > TypeError: a bytes-like object is required, not 'bool' > > > > > > scripts/Makefile.spl:352: recipe for target 'spl/dts/dt-plat.c'= failed > > > > > > make[1]: *** [spl/dts/dt-plat.c] Error 1 > > > > > > make[1]: *** Deleting file 'spl/dts/dt-plat.c' > > > > > > Makefile:1999: recipe for target 'spl/u-boot-spl' failed > > > > > > make: *** [spl/u-boot-spl] Error 2 > > > > > > > > > > That seems like a bug, where perhaps it is seeing a property with= no > > > > > value so it thinks it is a bool, but then somehow tries to gets i= ts > > > > > int value. > > > > > > > > > > I added a print to _output_list() > > > > > > > > > > else: > > > > > print('node', node.path, prop.name) > > > > > for val in prop.value: > > > > > vals.append(get_value(prop.type, val)) > > > > > > > > > > and see that it is the 'ranges' property. Definitely seems like a= bug > > > > > but I'll have to dig into it I think. The Prop() class selects a = bool > > > > > type when the value is empty, but somehow that isn't happening. > > > > > > > > This is actually a little tricky, but I'm looking at it. > > > > > > OK I think I have figured this out. I sent a series. > > > > That gets everything building, thanks! It also shows that some parts of > > the kitchen-sink config there depend on OF_CONTROL features, really. > > What I'm going to prove out next (but will require a little bit of time > > due to having to set up lab stuff and dig out notes) is that for this > > case, we can just go with however ROM configured the PHY. We were also > > still over SRAM space, with PLATDATA enabled too. >=20 > OK good. I think more users would help reduce the number of rough edges . >=20 > Can you please point me to the tree with before/after? I would like to > look at SRAM space just in case I can see something. With SPL_OF_CONTROL, we're 4900 bytes over (and it's just adding SPL_OF_CONTROL to the current config). PLATDATA isn't an option since both omap_hsmmc.c and drivers/net/ti/cpsw.c need gpio by name/etc functionality. The mmc case could be kludged (assume card is writable if needed) but cpsw is harder at first glance. --=20 Tom --JUbEFkz87vQcUeYo Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQGzBAABCgAdFiEEGjx/cOCPqxcHgJu/FHw5/5Y0tywFAmEEFlwACgkQFHw5/5Y0 tywF9gwAq9BdF1cAiSFHXbaAiOwCiP3CNeQb2FUCKsukIHyODRk4KccARYHJrP/4 tycOzAupE5v43qdNC/jleuLqUXwsevtWWGJkbJ0aAfCOxi19RJF+rRm3JpATtiOv fhHRArXwYeJwoOMl4Xm14Nch+qFtrT6t/8wXUTfVIyqGwA4QqaRj1p+EVHCzvUXK iEANZ3Pfwg4JIwO8zgwZurlomZRePVY+PeVQ8o3Zknmk+6lswWcRzZt2YCYEYt6K +iiDwfni1ZeGdXLS/JhdUsJYyGqfmbjuPD+GHQzIFmQswVOODkhd6yUysoNeUz/O ZwHcp/UVu6OVI3pNxs0aIlrRu5lhrVTNJE3sVMzm5dDnRr8wwMleCsa/hsXA2rrU BUIvCnaXrzwJbJujSvbPaw5cu/yJeLmk39swwiZtvLVvfN5m5jloNO3M4n3+ttf5 2ZeRZxRBHTzOnwasRnnfE48D9+lB8cb6pDzTCpqi1rRv7H8jn6QJ9lcQiy4A0aU1 WtCgavAE =YcIk -----END PGP SIGNATURE----- --JUbEFkz87vQcUeYo--