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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D2598C7619A for ; Wed, 12 Apr 2023 17:06:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229968AbjDLRGl (ORCPT ); Wed, 12 Apr 2023 13:06:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44460 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229765AbjDLRGj (ORCPT ); Wed, 12 Apr 2023 13:06:39 -0400 Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2A38F30DE for ; Wed, 12 Apr 2023 10:06:28 -0700 (PDT) Received: by mail-lf1-x130.google.com with SMTP id z8so17422476lfb.12 for ; Wed, 12 Apr 2023 10:06:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1681319186; x=1683911186; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=YMWU8Odwaeq/SVRM7bWqxudWTUga4vVKtqmtQDwWNBI=; b=lePux3/Euo0n5p7HK3txuaSevsS1qwKPm+gky8y0kDybxkRMBAf/dWz0iw2YxuKSOL VWaKlLwM2iw93KWc5LaSEcMWEoVqyYBN+1EBj9+cL9q9D82CAZujCViEG9Uh+8lrkwWj u/dyXL18ES6oSzaQUrH3nYWDPH+tRZvpQihdQ9+kYNCeaTx5y+FG8hbsFH3kuEGtSggf PJ+5nnsPxcSvL9RBemjWp0inmqZlJ4lVyrPZbxjfky7Mcmtp08/KaxZJYXweXSNv6Ov7 W/2fMjGN5OikTOwJKsAQLSi+02qzwbgpMfHJFE/hWFR2C/G9nk8RX4OI/qyfCgz2ly2z /w0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681319186; x=1683911186; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=YMWU8Odwaeq/SVRM7bWqxudWTUga4vVKtqmtQDwWNBI=; b=KiLNVl0JECY7dKVoTAEvgi9l+Yvn/EcIp71QIQUkUB3zF2/TwQN0p3u0W3N99Ah1Fg ac8Z6laR86ymEtVa9FDGi+zyIN6uoW//Pd5Qwi3CuAhCbX5sziWyCQWfvs0bSpgNQnxa fyFzeSgXAM3n74envLEpxpeMiqM88jkr1eSby6zHiepU+QtCj6mWhZ53y4uHDe/VKzMM KQ/yN2L121m6cFK69Xucm6ehQRCkM8MzJO4C5g78hnRt6KuaCEHH7oRtX/CfC1hup/5W DeZOdDd76WtFrasNzTXi0FM9S1rJs8yDZ0jUjmJjviSbQc1VrmBmMaFQ5t2qudy/L5g/ OxrQ== X-Gm-Message-State: AAQBX9cxGaZAOOPd04m8J4E/1S2FqUFi0hb+vilTP7WQ4rbmwj4tqt/F S9P3bZaXSVFrvPcY/ye5bI0zMg== X-Google-Smtp-Source: AKy350bI4jPRNH/NAaU1a5TiN5ekPVZ5GXEu4ZAzGBUdq56HE44Rd4Ez9wd2aJGqc2KCFWuy+Cn2Wg== X-Received: by 2002:ac2:53b3:0:b0:4ec:9310:ad4e with SMTP id j19-20020ac253b3000000b004ec9310ad4emr768774lfh.33.1681319186301; Wed, 12 Apr 2023 10:06:26 -0700 (PDT) Received: from [192.168.1.101] (abxj23.neoplus.adsl.tpnet.pl. [83.9.3.23]) by smtp.gmail.com with ESMTPSA id q14-20020ac25a0e000000b004db48ae69cbsm3095120lfn.206.2023.04.12.10.06.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 12 Apr 2023 10:06:25 -0700 (PDT) Message-ID: Date: Wed, 12 Apr 2023 19:06:24 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH v2 1/2] dt-bindings: interrupt-controller: mpm: Pass MSG RAM slice through phandle Content-Language: en-US To: Krzysztof Kozlowski , Stephan Gerhold Cc: Rob Herring , Thomas Gleixner , Andy Gross , linux-kernel@vger.kernel.org, Shawn Guo , Marijn Suijten , Krzysztof Kozlowski , Bjorn Andersson , Marc Zyngier , linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org References: <20230328-topic-msgram_mpm-v2-0-e24a48e57f0d@linaro.org> <20230328-topic-msgram_mpm-v2-1-e24a48e57f0d@linaro.org> <168069726278.2356075.14351594478003012447.robh@kernel.org> <20230405134727.GA2461305-robh@kernel.org> <1e6e2590-ac78-400b-35ce-321d5e52f385@linaro.org> <9df12111-ec84-c4f7-fbcb-bccaef91b048@linaro.org> <3ce9b5ec-8b02-537a-c663-c849e80cab66@linaro.org> <198523f5-d06f-15cd-af6c-f391c02bcaa9@linaro.org> <1f8fc036-380b-0a42-bb29-a3e275ed6a33@linaro.org> <2e648a97-083e-8ee2-1695-4af299bb222a@linaro.org> <15f48b06-a6be-1295-5deb-d3594bce6699@linaro.org> From: Konrad Dybcio In-Reply-To: <15f48b06-a6be-1295-5deb-d3594bce6699@linaro.org> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org On 12.04.2023 18:53, Krzysztof Kozlowski wrote: > On 12/04/2023 14:09, Konrad Dybcio wrote: >> >> >> On 12.04.2023 13:55, Krzysztof Kozlowski wrote: >>> On 12/04/2023 13:47, Konrad Dybcio wrote: >>>>> For unrelated reasons I actually have some patches for this, that switch >>>>> the /smd top-level node to a "remoteproc-like" node dedicated to the >>>>> RPM, similar to how WCNSS/ADSP/Modem/etc are represented. I need this to >>>>> add additional (optional) properties like "resets" and "iommus" for the >>>>> RPM, but it would allow adding arbitrary subnodes as well: >>>>> >>>>> https://github.com/msm8916-mainline/linux/commit/35231ac28703805daa8220f1233847c7df34589e >>>>> >>>>> I could finish those up and post them if that would help... >>>> Krzysztof, what do you think? >>> >>> I don't know what is there in MSM8916 and how it should be represented. >> Similarly to other Qualcomm SoCs, MSM8916 has a RPM (Cortex-M3) core, >> which communicates over the SMD protocol (or G-LINK on >=8996). >> >> The Qualcomm firmware loads the RPM fw blob and sets it up early in >> the boot process, but msm8916-mainline folks managed to get TF-A >> going and due to it being less.. invasive.. than the Qualcomm TZ, >> RPM needs a bit more handling to be accessible. >> >> The M3 core is wired up through the CNoC bus and we communicate >> with it through the MSG RAM and the "APCS mailbox". > > Thanks, that's actually good description. Yet I still do not know what > is exactly the problem and the question. Linking some out of tree > commits does not give me the answer, at least I cannot get that answer > form the link. > > For example what I don't understand is: why additional resources (like > resets) can be provided only in new binding, but not in the old. The old binding dictates that the rpm node (which in turn holds all "devices" that only interface with RPM, like RPMCC) is a child of smd{}, which does not make sense logically, as SMD is a protocol (e.g. we don't place devices connected over i2c under /i2c{}). The rpm node lacks a compatible, as it's representing an "smd channel", so there's no driver so there's no way to assert resets etc. On newer SoCs that still implement SMD RPM (like 8996), we do actually have a driver and a parent node which it binds to (rpm-glink). AFAIU: In both cases, the "final" drivers (rpmcc, rpmpd..) are bound after hitting a SMD/GLINK callback that tells Linux we're ready to rock. That's an issue for Stephan, as these callbacks won't ever happen if the RPM core is not initialized (and TF-A doesn't do that). Konrad > > Best regards, > Krzysztof >