From patchwork Thu Feb 27 09:45:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rui Miguel Silva X-Patchwork-Id: 868949 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:1561:b0:38f:210b:807b with SMTP id 1csp177207wrz; Thu, 27 Feb 2025 01:49:35 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCV/p14j+BnBvYIAbjDryUYZTnxBHItyGZZ6w0LooyX5c7RgpMqpakt9xkk7j+MLXyojeuCJ0g==@linaro.org X-Google-Smtp-Source: AGHT+IEB7wOO1LgUKK8WDPXl6Fktw6TyfkHhnCUspPwQdUHjvv+jsLRgyKacL2AS6ZTQcig+LPtm X-Received: by 2002:a5d:47a3:0:b0:38d:b610:190b with SMTP id ffacd0b85a97d-390cc63cc18mr9450847f8f.46.1740649775419; Thu, 27 Feb 2025 01:49:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1740649775; cv=none; d=google.com; s=arc-20240605; b=RHM1SDCighhsxlVyZmG7VfDqVc1s4f3Ut3nobmnn2v0/B7+XI8LfiYc6OMjez8GAfa Y4Vi9P2dHmgs404Lx9E79Qb/bkXY1zMTD4pTfSeupt2dH8jlYEvHNmXaEAn6A+Zucl3H Y9y/fdQzka7U+adBQrzVSPWOJk1ayiweK0C15RjC28+upIk0byY6rgOrF9pRMiBuyFeb /pOYH06R5Qp7TtsX+qybAmtCvu5p/3/Uc2SoiaX9CRCU3c5Oa7UzP5I09uwXuWzkv4FR hAmKMD4eVchoFZrWeHT2TgEp33rYA9ynzmhT4ZGttgjMa2uGPMO479cucxS1ofWhjQ32 dqFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=49zcPuWwPT56Y9L/CSgdz6/4Ux7kB4moIUS6LUa/Hos=; fh=p4BTQfITgIIlXDRB9w5Vg5iS77L2v8z475niYFLoo3o=; b=NNjmDgSnV2MVf9F//XUJBzcrTBDrIT9k2hz+fDH7SEswHZtPO3O2K10ffFpxgYbbyD B6vyvpTH9z9aoTMwQnreq+fzxsIQbLtZchf/lrvXTKpwwwYujUZ+l/9vcyT+dGSbJipw 2tGKnBA3pMjpOQKcSstCG33YTT9JJwCM4Q3AVRVldP0QuQfJszDdF4OW51/sNnt99/xg oBdGyPveFCaSPqWKr3NNXFiEXyr0WiceXYIfpRKLGrKdkwYcEQ+T9wzw1yAdNU3FhIao LFBKByl19y/BuUuFNXcJPIfjQoo9pKilDVgoXwEFNkhCSXtavO29L/c13lP8BYLjeP/S 7Nyw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Y5wdf+9B; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id ffacd0b85a97d-390e4858ae7si737593f8f.897.2025.02.27.01.49.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 01:49:35 -0800 (PST) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Y5wdf+9B; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 83E778083E; Thu, 27 Feb 2025 10:49:29 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org 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=linaro.org header.i=@linaro.org header.b="Y5wdf+9B"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 924ED81109; Thu, 27 Feb 2025 10:49:28 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) (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 9AD1F807FB for ; Thu, 27 Feb 2025 10:49:26 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rui.silva@linaro.org Received: by mail-wr1-x42e.google.com with SMTP id ffacd0b85a97d-38a25d4b9d4so365766f8f.0 for ; Thu, 27 Feb 2025 01:49:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740649766; x=1741254566; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=49zcPuWwPT56Y9L/CSgdz6/4Ux7kB4moIUS6LUa/Hos=; b=Y5wdf+9BPm6tn7oPS/QkwFt6daoaGrgJjhzOhk+cuNNz5Fj5UIoknCqTXQzopCOA4o 8/aikpWGbzRSUA56VqxHImShilH1bxgIca8BqURCOSJZhIj41MOmjjJwmrjQsW4W+4fk 1X6c5iOGqYxWedSOWUQBolTj277uIfdnTFXduZLaSgRlvQPzacaBXkzPn5hBV4I3ZnUf F1h7p+k9MTC2Gxu/V9MENbIZ+zVCWKt565qDIV3wsTtZZH5E4tonRAtNNsFdy2/wAp44 nVFiYr/ukBjmk1qMla9zzYynwuJmIh3Rv0t60c0WY4Kjyd8hxqVcNk7RAeucvzFh9gfI 1B3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740649766; x=1741254566; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=49zcPuWwPT56Y9L/CSgdz6/4Ux7kB4moIUS6LUa/Hos=; b=WCoxsUnz4/+JzFqtaWNqBCSSMJQcRXgnTmJcX+YC00kbZFhlinLMuU9Ci9WQzzLV44 qg0kR7F/ejG+yXXR9JTlU6Xe5hXY6yVbN4dbUCkJbj+VPPH8Vbs0DfButqYwpqWWdXAz 1mtb5inRg2z8Gc7GAMd2deRJ6SZmxGDTXfb1gz4Q2QqdN0ha+18AdW6GXjaJWYAVP3v8 QqdhqegQlD3c5Mw0stczD5jIPrlDnvdA0RwJrBW9Om5okpwYHGJBUzM/KwlD1hpVwlcB jUqUSwHQ5fWAxxv7a0QgAGedasInsgXQeKPW3Z87zBflQ50wTm79NCIyvE8MjcR9CcTh gUCA== X-Forwarded-Encrypted: i=1; AJvYcCVYhI9Cg44MAXlu8w/kbnkXGZT44WaKzGCVqsuvmLkDbaJRaeBWMxsbzeCsewc5aPqU5k5j1zw=@lists.denx.de X-Gm-Message-State: AOJu0YxG2HutTvjj1EVFzEoYMAS6aWPVKuNmeKS0EkZRbILIo6TmGwqC T5DX3Q1iuyLhBDezYNhh0tDA+IknS4hMmTheHhnb6eYQrZOT/9OluhEH5AGAcnY= X-Gm-Gg: ASbGncvErjIJV1qew03uxPx3cqsitIAqa6w313bXQfVrKqvzZpWNb8FojNovXJWYmlE 8UepHaWZzb4Y5lZaZxVZlNRYpiFtX9MuMmHXFHq6mAlIlenrBBUJywpA2mPj4XbbgphFHB0Rj1b 49LcfiU8/6qzZXjyzCG13I6VDYXaPBPIvdtCNCrQORiWJ+xKseBLPOtIWCY3QNsJGfFCEarny3Y sT9glwEb82K4Izp++tHIX+gB9jtvLVThYEosOwhuLNuyaUvbTRgVOyOWUOApbqQaTCyTYjaMmEO eK4LMGX6xsu5OpG4YUM/xgWtfoQUeDf7v8azyvEPY7ww+f4IEOtAhLXY4IzhcBY= X-Received: by 2002:a5d:64ae:0:b0:38d:e420:3984 with SMTP id ffacd0b85a97d-390cc6324a0mr9919030f8f.39.1740649766075; Thu, 27 Feb 2025 01:49:26 -0800 (PST) Received: from arch-thunder.local (a109-49-32-45.cpe.netcabo.pt. [109.49.32.45]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-390e47a6a4asm1506162f8f.34.2025.02.27.01.49.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 01:49:25 -0800 (PST) From: Rui Miguel Silva To: Neil Armstrong , Caleb Connolly , Jaehoon Chung Cc: u-boot-qcom@groups.io, u-boot@lists.denx.de, Tom Rini , Rui Miguel Silva Subject: [PATCH 1/2] mach-snapdragon: of_fixup: fix property length at writing Date: Thu, 27 Feb 2025 09:45:49 +0000 Message-ID: <20250227094911.497219-2-rui.silva@linaro.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250227094911.497219-1-rui.silva@linaro.org> References: <20250227094911.497219-1-rui.silva@linaro.org> MIME-Version: 1.0 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.8 at phobos.denx.de X-Virus-Status: Clean The length of a property includes '\0' in a string type one, so the length passed by needs to have that in account, if not, when getting the property value it will fail because it has the wrong size. Signed-off-by: Rui Miguel Silva Reviewed-by: Neil Armstrong --- arch/arm/mach-snapdragon/of_fixup.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-snapdragon/of_fixup.c b/arch/arm/mach-snapdragon/of_fixup.c index 55368dd43b66..ea956a4791d0 100644 --- a/arch/arm/mach-snapdragon/of_fixup.c +++ b/arch/arm/mach-snapdragon/of_fixup.c @@ -86,13 +86,13 @@ static int fixup_qcom_dwc3(struct device_node *glue_np) } /* Overwrite "phy-names" to only contain a single entry */ - ret = of_write_prop(dwc3, "phy-names", strlen("usb2-phy"), "usb2-phy"); + ret = of_write_prop(dwc3, "phy-names", strlen("usb2-phy") + 1, "usb2-phy"); if (ret) { log_err("Failed to overwrite 'phy-names' property: %d\n", ret); return ret; } - ret = of_write_prop(dwc3, "maximum-speed", strlen("high-speed"), "high-speed"); + ret = of_write_prop(dwc3, "maximum-speed", strlen("high-speed") + 1, "high-speed"); if (ret) { log_err("Failed to set 'maximum-speed' property: %d\n", ret); return ret; From patchwork Thu Feb 27 09:45:50 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rui Miguel Silva X-Patchwork-Id: 868950 Delivered-To: patch@linaro.org Received: by 2002:a05:6000:1561:b0:38f:210b:807b with SMTP id 1csp177244wrz; Thu, 27 Feb 2025 01:49:42 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCXAgftcDzsHPRD6K/rsiFK6Lzmya6rxDKXgeFDrZdeV+/jIPyBK0fahdQdwKMy8Voa8BG/D2Q==@linaro.org X-Google-Smtp-Source: AGHT+IHAuaVWjbeNtKqULE196yYrM//gCvdzZ2JCEvWcSTygEqiOAUr4/n6OnJX8hGvyQoK0Hm00 X-Received: by 2002:a05:6000:1fae:b0:38d:cbc2:29f6 with SMTP id ffacd0b85a97d-38f6e947434mr19376470f8f.17.1740649782529; Thu, 27 Feb 2025 01:49:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1740649782; cv=none; d=google.com; s=arc-20240605; b=h/g0rYQQeqMf74MNRPLgAmjv50VL41Kqwl1bphSHc6uDX58ErRVxgjsaF2ahjdLWFZ ZQndLpbV835j7V9BqRBTy/ptqcjZF49bOS/bPp75Idf9TudBoC1LzWAAsyUrGmKgdgET HkpAXWg9U5/EuvVfhIulPeIGkjqE8aogy/bTsfauFLjvfAlZB2iGE2JaQiH7CFOd17F4 mZRUc4oCp4S/auB3KuXVo9k0ccWgzJvaM54C7MTtIUKcIL2DbDybA3uVE0K4On864dlF E469BY3H/vcrC7MulF5jRXHBhm0ATZ7DOf8DLSN7iunleQOwYkp1FIYrvwr/xbJBYrYi EDUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=ItIVN/+KCDXhAvBXHfGKjc5Nx01t07WxpKIMElmE6lE=; fh=L4aHpqhSZmrrncxWUXs2AxmsN/1PwyGU4nUjDfqHei8=; b=TrfI/OIJs5cPkWltQmqxynI+uCInQB8AJac/7AAv/TceIr22yNXzOj8jZ33n2AnY2b hKYrrdm7ePIRdL9G5GYcdnTH3gVCNYD/uV4VHa8+mNYhLH+XERMCeMDyn3UAsj4sSmvp 9TtddVHdJ4bO1notmp064nOCZlilq9nt27NQhAXRn6ja8Orenb4ntvooAEMfHTyCqrvd E/9SPlFsDGB/6NbTuKaNiHvgunE6EyD2bc4PsR3efwNdlhD90L+eufquazc/ACeyk4DQ 5O+lfFKDBYHZekoRLiTu6pZ/WG/wGzeNJAZg/p6VEKm8IygxM0g5vufbPNSdipnbSWVg ewCA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Oh+qoL1e; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from phobos.denx.de (phobos.denx.de. [2a01:238:438b:c500:173d:9f52:ddab:ee01]) by mx.google.com with ESMTPS id ffacd0b85a97d-390e4798425si732171f8f.134.2025.02.27.01.49.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 01:49:42 -0800 (PST) Received-SPF: pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=Oh+qoL1e; spf=pass (google.com: domain of u-boot-bounces@lists.denx.de designates 2a01:238:438b:c500:173d:9f52:ddab:ee01 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id D601C8118B; Thu, 27 Feb 2025 10:49:33 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org 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=linaro.org header.i=@linaro.org header.b="Oh+qoL1e"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BFDB7807FB; Thu, 27 Feb 2025 10:49:32 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) (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 952B480F12 for ; Thu, 27 Feb 2025 10:49:30 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=rui.silva@linaro.org Received: by mail-wr1-x430.google.com with SMTP id ffacd0b85a97d-390df0138beso368280f8f.0 for ; Thu, 27 Feb 2025 01:49:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1740649770; x=1741254570; darn=lists.denx.de; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=ItIVN/+KCDXhAvBXHfGKjc5Nx01t07WxpKIMElmE6lE=; b=Oh+qoL1ekClkJL06OdjzNaxljyRMWU+ty2ugncanascF4DqF1lInZelhHNPp1bJvsT k1OWTpWMFWxhMjdRAyyBLaXZShL3McpSIlpYZGMdlc8RBmEfDVPCT4nHJHDburJv4rYS BD3WozV6mKn8sejUnZgldP04UsfPX4w+fO1SXfz05EEbcdUiHFqkmJ/mw4tn+b37lopz Uy56Fq1B8G3FoqzS2/NXORc+yEcmmk9/ZQSCwKJIxoKzzAtbNlQvAjP6ibi1WmhpBPCh EGuxbRRHc4FWZU0jH/gSYptMgmS6DMSK9PWPwaL/9WjEv4Sr8rb3x+nVU4EOeBxtvn4i SXIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740649770; x=1741254570; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ItIVN/+KCDXhAvBXHfGKjc5Nx01t07WxpKIMElmE6lE=; b=FYLtmGOY+lT8ZuG3VVPEPBbWeevTsoRs2E3s+B23FasNrX0XVVm5VKI2JX6BoEPjK2 xKdujfHDdjzWMPsfcLQnrdwEUsbopZn1xdtzYPBz+K3wwZoqEgeV6CEjxUnqIEsgD9BC 5oWJS/l+NRWFGIghJlPlHSMZVfDfD6kttw2GqGjNZOVO8uqmSNRxboit4L4FV2+Ybcqw SWVkJWqtotkF3pe8pKgGAMkwo1GTVLnwfuw8DPo0z+kJrBGmmSAUiJiCFYGdxYT/tT4P TIeJSXBbE57eb5AKRGYUaF4S8T6xH8HP4cs9qTKRpLFtG/vDzqBDkHrk+pfhDR0xlpOt QiiQ== X-Forwarded-Encrypted: i=1; AJvYcCWSUKHOV7SQ/n2NONjUsvQXhIgWaq6OMXG+xVeMveoN95UJVVwnKODiuWWSHy57eT09652xNd0=@lists.denx.de X-Gm-Message-State: AOJu0YxiVvetCxpkttmc6SmcafGkUFWUl+E1jaG7p1/mRqLNH6WczEYE UIKYzd4SMT7zrkF35M31k5sSYP87T9UhYsmElu9ARgxse/VCcifesYECR0sMGDI= X-Gm-Gg: ASbGncsppYZEwpZAtV/n1ULLvZyPRHyvrahpAHVpaj8kZ9px7UTKhXBbSRFhlqQCOyp SojkQukHwerbRgyQy2xVTPxGJ5fqdXkPCESuQsY4YGmNazwfTZH66R2FC2I7xEJWNjTfQN6c6uE iGzaBCLxnmcYjEd6vlA/0Kw3hA/yvmjzOBlYqCebEPrDuH3OHKDYAhkT707w2DhCiqspBSNolqZ YMbPBZJ9ig624QenKPpQBeyqabTKiDWZG4yclGkiYQZPcjhIbbt6OVjRksBl4FCduWAdjVOfv6v guAG+XmtZw928tgpRp8uzRzYX10eQGNxi0fwHjpCLonfJOrRzt5J9HNpbxkymqM= X-Received: by 2002:a05:6000:1a87:b0:390:dfe9:1866 with SMTP id ffacd0b85a97d-390dfe91c49mr2090002f8f.4.1740649770002; Thu, 27 Feb 2025 01:49:30 -0800 (PST) Received: from arch-thunder.local (a109-49-32-45.cpe.netcabo.pt. [109.49.32.45]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-390e47a6a4asm1506162f8f.34.2025.02.27.01.49.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 27 Feb 2025 01:49:29 -0800 (PST) From: Rui Miguel Silva To: Neil Armstrong , Caleb Connolly , Jaehoon Chung Cc: u-boot-qcom@groups.io, u-boot@lists.denx.de, Tom Rini , Rui Miguel Silva Subject: [PATCH 2/2] power: regulator: add qcom-usb-vbus Date: Thu, 27 Feb 2025 09:45:50 +0000 Message-ID: <20250227094911.497219-3-rui.silva@linaro.org> X-Mailer: git-send-email 2.48.1 In-Reply-To: <20250227094911.497219-1-rui.silva@linaro.org> References: <20250227094911.497219-1-rui.silva@linaro.org> MIME-Version: 1.0 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.8 at phobos.denx.de X-Virus-Status: Clean Add regulator driver that allow some Qualcomm PMIC to feed VBUS output to peripherals that are connected. Signed-off-by: Rui Miguel Silva --- drivers/power/regulator/Kconfig | 7 ++ drivers/power/regulator/Makefile | 1 + .../power/regulator/qcom_usb_vbus_regulator.c | 111 ++++++++++++++++++ 3 files changed, 119 insertions(+) create mode 100644 drivers/power/regulator/qcom_usb_vbus_regulator.c diff --git a/drivers/power/regulator/Kconfig b/drivers/power/regulator/Kconfig index 958f337c7e73..558133e09bf8 100644 --- a/drivers/power/regulator/Kconfig +++ b/drivers/power/regulator/Kconfig @@ -224,6 +224,13 @@ config DM_REGULATOR_QCOM_RPMH implements get/set api for a limited set of regulators used by u-boot. +config DM_REGULATOR_QCOM_USB_VBUS + bool "Enable driver model for Qualcomm USB vbus regulator" + depends on DM_REGULATOR + ---help--- + Enable support for the Qualcomm USB Vbus regulator. The driver + implements get/set api for the regulator to be used by u-boot. + config SPL_DM_REGULATOR_GPIO bool "Enable Driver Model for GPIO REGULATOR in SPL" depends on DM_REGULATOR_GPIO && SPL_GPIO diff --git a/drivers/power/regulator/Makefile b/drivers/power/regulator/Makefile index ca6c89d13b5c..a4191b9302b1 100644 --- a/drivers/power/regulator/Makefile +++ b/drivers/power/regulator/Makefile @@ -22,6 +22,7 @@ obj-$(CONFIG_$(XPL_)DM_REGULATOR_COMMON) += regulator_common.o obj-$(CONFIG_$(XPL_)DM_REGULATOR_FIXED) += fixed.o obj-$(CONFIG_$(XPL_)DM_REGULATOR_GPIO) += gpio-regulator.o obj-$(CONFIG_DM_REGULATOR_QCOM_RPMH) += qcom-rpmh-regulator.o +obj-$(CONFIG_DM_REGULATOR_QCOM_USB_VBUS) += qcom_usb_vbus_regulator.o obj-$(CONFIG_$(PHASE_)REGULATOR_RK8XX) += rk8xx.o obj-$(CONFIG_DM_REGULATOR_S2MPS11) += s2mps11_regulator.o obj-$(CONFIG_REGULATOR_S5M8767) += s5m8767.o diff --git a/drivers/power/regulator/qcom_usb_vbus_regulator.c b/drivers/power/regulator/qcom_usb_vbus_regulator.c new file mode 100644 index 000000000000..2d58ef5e111e --- /dev/null +++ b/drivers/power/regulator/qcom_usb_vbus_regulator.c @@ -0,0 +1,111 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* + * Copyright (c) 2025, Linaro Limited + */ +#define pr_fmt(fmt) "qcom_usb_vbus: " fmt + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define CMD_OTG 0x50 +#define OTG_EN BIT(0) +// The 0 bit in this register's bit field is undocumented +#define OTG_CFG 0x56 +#define OTG_EN_SRC_CFG BIT(1) + +struct qcom_usb_vbus_priv { + phys_addr_t base; +}; + +static int qcom_usb_vbus_regulator_of_to_plat(struct udevice *dev) +{ + struct qcom_usb_vbus_priv *priv = dev_get_priv(dev); + + priv->base = dev_read_addr(dev); + if (priv->base == FDT_ADDR_T_NONE) + return -EINVAL; + + return 0; +} + +static int qcom_usb_vbus_regulator_get_enable(struct udevice *dev) +{ + struct qcom_usb_vbus_priv *priv = dev_get_priv(dev); + int otg_en_reg = priv->base + CMD_OTG; + int ret; + + ret = pmic_reg_read(dev->parent, otg_en_reg); + if (ret < 0) + log_err("failed to read usb vbus: %d\n", ret); + else + ret &= OTG_EN; + + return ret; +} + +static int qcom_usb_vbus_regulator_set_enable(struct udevice *dev, bool enable) +{ + struct qcom_usb_vbus_priv *priv = dev_get_priv(dev); + int otg_en_reg = priv->base + CMD_OTG; + int ret; + + if (enable) { + ret = pmic_clrsetbits(dev->parent, otg_en_reg, 0, OTG_EN); + if (ret < 0) { + log_err("error enabling: %d\n", ret); + return ret; + } + } else { + ret = pmic_clrsetbits(dev->parent, otg_en_reg, OTG_EN, 0); + if (ret < 0) { + log_err("error disabling: %d\n", ret); + return ret; + } + } + + return 0; +} + +static int qcom_usb_vbus_regulator_probe(struct udevice *dev) +{ + struct qcom_usb_vbus_priv *priv = dev_get_priv(dev); + int otg_cfg_reg = priv->base + OTG_CFG; + int ret; + + /* Disable HW logic for VBUS enable */ + ret = pmic_clrsetbits(dev->parent, otg_cfg_reg, OTG_EN_SRC_CFG, 0); + if (ret < 0) { + log_err("error setting EN_SRC_CFG: %d\n", ret); + return ret; + } + + return 0; +} + +static const struct dm_regulator_ops qcom_usb_vbus_regulator_ops = { + .get_enable = qcom_usb_vbus_regulator_get_enable, + .set_enable = qcom_usb_vbus_regulator_set_enable, +}; + +static const struct udevice_id qcom_usb_vbus_regulator_ids[] = { + { .compatible = "qcom,pm8150b-vbus-reg"}, + { }, +}; + +U_BOOT_DRIVER(qcom_usb_vbus_regulator) = { + .name = "qcom-usb-vbus-regulator", + .id = UCLASS_REGULATOR, + .of_match = qcom_usb_vbus_regulator_ids, + .of_to_plat = qcom_usb_vbus_regulator_of_to_plat, + .ops = &qcom_usb_vbus_regulator_ops, + .probe = qcom_usb_vbus_regulator_probe, + .priv_auto = sizeof(struct qcom_usb_vbus_priv), +};