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=-11.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED 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 78B45C4338F for ; Mon, 26 Jul 2021 14:06:40 +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 C3880604DB for ; Mon, 26 Jul 2021 14:06:39 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org C3880604DB Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org 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 17C5883352; Mon, 26 Jul 2021 16:06:37 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org 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=chromium.org header.i=@chromium.org header.b="bW0o6J+7"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 0A49C8334F; Mon, 26 Jul 2021 16:06:34 +0200 (CEST) Received: from mail-wm1-x334.google.com (mail-wm1-x334.google.com [IPv6:2a00:1450:4864:20::334]) (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 14C828333E for ; Mon, 26 Jul 2021 16:06:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sjg@google.com Received: by mail-wm1-x334.google.com with SMTP id m38-20020a05600c3b26b02902161fccabf1so8278185wms.2 for ; Mon, 26 Jul 2021 07:06:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=sSHGA0fDNjHhURIY0Kq762iIWRwd2ySLT5n0eGMx3D8=; b=bW0o6J+7LB4OiCUtUsCBEqXFbFu1DPGgYNvlPvnNPZS/NFXdfAd39MrXDu+mComcFN EmOY/3X4LlUDx9CN8CPPGTm5SZIZk1Uk3VuVJPrUkyjzgfswQStnBWxOkKuPS3zIPpdl S0mM0+QT8jsKTYvfwb0QPMvX8GL9cwwjJxVcc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=sSHGA0fDNjHhURIY0Kq762iIWRwd2ySLT5n0eGMx3D8=; b=eonmOYvtz8XjWJlJw7d6G0vvNxb7+S9ACc05NL0zAFEVGfxm6sJnuCQMrK/fnyFXsO fpHWjFUDS0kjDyDveibbKSFycwm5N7rvGPE6eJCvi5LCDl8EexlYzIXXK0wpoyl+Z2me qlkIKboWNPfy6OZUqFqlhqiVftmhHbEQjdRwKKvTPRuUzOnSsIZ+UAEPM5CbwbDrZt5z oWw/veiBqPdrlMk20tJrc7M7VDucn652YU/opNlV36Fvl8JRRub+HqyVHFyXD6I4ttVr 9/vZr1Xa/PYXirGg55gWVavJcrbWyshMoougYXDmI+TaNj83G5pJYJczPJPlwYGTGRdk 4Wgg== X-Gm-Message-State: AOAM532i8mj4b7zBGGEXsG1dA8wJ7rcTtv5R1l5gmeSLZnt61ZE7v33F vJCog91dFP2QAmC+10c0i9UIwaXDctafYnxHSGKePg== X-Google-Smtp-Source: ABdhPJy13SazU48oq+KWQrpmuhdZQDPtWyNYOtC+RZlX60AiYObf9BDjcV0OlgoIxN5vtTfqYj8wXmGMVpR7rSNIWpQ= X-Received: by 2002:a1c:7515:: with SMTP id o21mr27117588wmc.65.1627308389343; Mon, 26 Jul 2021 07:06:29 -0700 (PDT) MIME-Version: 1.0 References: <20210725211033.GH9379@bill-the-cat> In-Reply-To: <20210725211033.GH9379@bill-the-cat> From: Simon Glass Date: Mon, 26 Jul 2021 08:06:17 -0600 Message-ID: Subject: Re: Debugging dtoc? To: Tom Rini Cc: U-Boot Mailing List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 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 fine just > enabling the option, except on am335x_evm itself, which is the > kitchen-sink config and overflows memory. I've gone with switching to > SPL_OF_PLATDATA there as am335x in general has all of the U_BOOT_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-ev= m-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_bo= neblack_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),128k(NAND.SP= L.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-s= pl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),= 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 am335x-evmsk a= m335x-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/am335x_evm_sp= iboot_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 am335x-evmsk a= m335x-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_platdata.py= ", line 1223, in run_steps > outfile.method(plat) > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_platdata.py= ", line 1081, in generate_plat > self.output_node_plat(node) > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_platdata.py= ", line 1023, in output_node_plat > self._output_values(node) > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_platdata.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_platdata.py= ", line 798, in _output_prop > self._output_list(node, prop) > File "/home/trini/work/u-boot/u-boot/tools/dtoc/../dtoc/dtb_platdata.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_platdata.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_util.py", l= ine 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 its 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. Regards, Simon