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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 9D09AC433F5 for ; Fri, 25 Feb 2022 05:15:08 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6DA1183C79; Fri, 25 Feb 2022 06:15:06 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Zuh207q/"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7ADD383C79; Fri, 25 Feb 2022 06:15:03 +0100 (CET) Received: from mail-qt1-x836.google.com (mail-qt1-x836.google.com [IPv6:2607:f8b0:4864:20::836]) (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 503A283CA6 for ; Fri, 25 Feb 2022 06:14:59 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qt1-x836.google.com with SMTP id 11so1544000qtt.9 for ; Thu, 24 Feb 2022 21:14:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=I26DVJSerPDzaLHn2UzQhZHTujqdBx6ugF6RXpm5eKU=; b=Zuh207q/v2wnYeYmXuTI3LBwjcYgycMpLKvqOK/24nwNK4uS5HZICkJECWrUt1WqUE QFxcjq5GLzmaY3ROL+7N/OihYvqZbl5zG/Tq3MZI4EHMbB14kt6ItZJ+DHGCXmwLH9AC v9JEltNF7I76MtWv+wt/KFy3g9dzF12Iz6pw3QpQMRfN0K0TF5MKRwapwxGC54DbN8YP YrQO4DGOtmvZWtTtM+s7owhFIdHhtJ1VUNcl4lQIcwxNm8AmBq0IlGfh/4QmJRv3XcOR xwT1rVp69vj91QrH9wCgrKQivpSoxIHCUqir3WXyZfwzD1ziujKSheeeFk2P1ZkSXIkl cMAw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=I26DVJSerPDzaLHn2UzQhZHTujqdBx6ugF6RXpm5eKU=; b=Z2ow9hsqaZDmZmtNCoXE1MDn8QBn+oKFUibribRatiB0Pz6uUVHdb38p/Y3jnn11O8 eEGdKVEKnYqEmeMmlId+QKCq/bPRt3OS+tRX3GelTo/FBCnRGR/z1uxtYUcKCY7/KXfi jS8ME6gLnA8eKmsPU4A4fYjq1XXIaU4Cev/s9I2SnI75BqJzD+79JPp30uLIJ2hRkPGp +5D2GJ0PSvVmNNA/wvt6U9hEF6vlYMum6Tdvxt4zMQdVd9N/7d64VRXeZp3R6IdC+Zjy 0emofyUlHgVnXD+w/vvpbMbXVXHbO7xsNdgH1wqGcySPoif5TshEvV39uyo9n3fCufvx xkDg== X-Gm-Message-State: AOAM533iAkfnZV7gfXHUH9QHw9g6TQVLWktcyrcCXEl5uWnYD+BQfV8z hEVmcKdfJSfwoWew3VfN3r4K3Hm9T3I= X-Google-Smtp-Source: ABdhPJwjiMda68lKyxoVRi6UCLCRiNcElRAKBM7xlFIxkDp4RR62XiiGjdFfTvG2O3pbd9flb0lAjA== X-Received: by 2002:a05:622a:1b8d:b0:2d1:38ca:6b1 with SMTP id bp13-20020a05622a1b8d00b002d138ca06b1mr5579556qtb.688.1645766097954; Thu, 24 Feb 2022 21:14:57 -0800 (PST) Received: from [192.168.1.201] (pool-108-18-137-133.washdc.fios.verizon.net. [108.18.137.133]) by smtp.googlemail.com with ESMTPSA id y17-20020a376411000000b006490deb56b2sm788798qkb.1.2022.02.24.21.14.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 24 Feb 2022 21:14:57 -0800 (PST) Subject: Re: [PATCH 3/7] k210: dts: fix fpioa node To: Niklas Cassel , Rick Chen , Leo Cc: "damien.lemoal@opensource.wdc.com" , "u-boot@lists.denx.de" References: <20220215161611.1563067-1-Niklas.Cassel@wdc.com> <20220215161611.1563067-4-Niklas.Cassel@wdc.com> From: Sean Anderson Message-ID: <83e88079-eda3-de58-5666-506f284e8061@gmail.com> Date: Fri, 25 Feb 2022 00:14:57 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.12.0 MIME-Version: 1.0 In-Reply-To: <20220215161611.1563067-4-Niklas.Cassel@wdc.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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.5 at phobos.denx.de X-Virus-Status: Clean > Re: [PATCH 3/7] k210: dts: fix fpioa node This is not really a fix so much as an alignment with what Linux does On 2/15/22 11:16 AM, Niklas Cassel wrote: > From: Damien Le Moal > > Linux kernel fpioa pinctrl driver expects the sysctl phandle and the > power bit offset of the fpioa device to be specified as a single > property "canaan,k210-sysctl-power". > Replace the "canaan,k210-sysctl" and "canaan,k210-power-offset" > properties with "canaan,k210-sysctl-power" to satisfy the Linux kernel > requirements. This new property is parsed using the existing function > dev_read_phandle_with_args(). > > Signed-off-by: Damien Le Moal > Signed-off-by: Niklas Cassel > --- > arch/riscv/dts/k210.dtsi | 3 +-- > drivers/pinctrl/pinctrl-k210.c | 19 ++++++++++++++----- > 2 files changed, 15 insertions(+), 7 deletions(-) > > diff --git a/arch/riscv/dts/k210.dtsi b/arch/riscv/dts/k210.dtsi > index 5c88c8ea8e..cf5c2360fb 100644 > --- a/arch/riscv/dts/k210.dtsi > +++ b/arch/riscv/dts/k210.dtsi > @@ -378,8 +378,7 @@ > <&sysclk K210_CLK_APB0>; > clock-names = "ref", "pclk"; > resets = <&sysrst K210_RST_FPIOA>; > - canaan,k210-sysctl = <&sysctl>; > - canaan,k210-power-offset = ; > + canaan,k210-sysctl-power = <&sysctl K210_SYSCTL_POWER_SEL>; > pinctrl-0 = <&fpioa_jtag>; > pinctrl-names = "default"; > status = "disabled"; > diff --git a/drivers/pinctrl/pinctrl-k210.c b/drivers/pinctrl/pinctrl-k210.c > index bb5153c673..63084ae837 100644 > --- a/drivers/pinctrl/pinctrl-k210.c > +++ b/drivers/pinctrl/pinctrl-k210.c > @@ -679,6 +679,7 @@ static int k210_pc_probe(struct udevice *dev) > { > int ret, i, j; > struct k210_pc_priv *priv = dev_get_priv(dev); > + struct ofnode_phandle_args args; > > priv->fpioa = dev_read_addr_ptr(dev); > if (!priv->fpioa) > @@ -692,15 +693,23 @@ static int k210_pc_probe(struct udevice *dev) > if (ret && ret != -ENOSYS && ret != -ENOTSUPP) > goto err; > > - priv->sysctl = syscon_regmap_lookup_by_phandle(dev, "canaan,k210-sysctl"); > + ret = dev_read_phandle_with_args(dev, "canaan,k210-sysctl-power", > + NULL, 1, 0, &args); > + if (ret) > + goto err; > + > + if (args.args_count != 1) { > + ret = -EINVAL; > + goto err; > + } > + > + priv->sysctl = syscon_node_to_regmap(args.node); > if (IS_ERR(priv->sysctl)) { > - ret = -ENODEV; > + ret = PTR_ERR(priv->sysctl); > goto err; > } > > - ret = dev_read_u32(dev, "canaan,k210-power-offset", &priv->power_offset); > - if (ret) > - goto err; > + priv->power_offset = args.args[0]; > > debug("%s: fpioa = %p sysctl = %p power offset = %x\n", __func__, > priv->fpioa, (void *)priv->sysctl->ranges[0].start, > Reviewed-by: Sean Anderson