* [PATCH 0/4] soc: qcom: socinfo: Add a bunch of older SoCs
@ 2023-01-04 11:53 Stephan Gerhold
2023-01-04 11:53 ` [PATCH 1/4] soc: qcom: socinfo: Fix soc_id order Stephan Gerhold
` (4 more replies)
0 siblings, 5 replies; 14+ messages in thread
From: Stephan Gerhold @ 2023-01-04 11:53 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Andy Gross, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel,
Stephan Gerhold
Sync the SoC IDs in qcom,ids.h with relevant entries from Qualcomm's LK
bootloader that is used for almost all older Qualcomm SoCs. This is
meant to reduce the effort for future SoC bring-up (to avoid having to
send a separate patch series for each new SoC) and will also benefit
other projects using the same dt-bindings, e.g. bootloaders where
adding support for all these SoCs is a bit easier than on Linux.
Stephan Gerhold (4):
soc: qcom: socinfo: Fix soc_id order
dt-bindings: arm: qcom,ids: Add QRD board ID
dt-bindings: arm: qcom,ids: Add a bunch of older SoCs
soc: qcom: socinfo: Add a bunch of older SoCs
drivers/soc/qcom/socinfo.c | 80 ++++++++++++++++++++++++++++--
include/dt-bindings/arm/qcom,ids.h | 75 ++++++++++++++++++++++++++++
2 files changed, 152 insertions(+), 3 deletions(-)
--
2.39.0
^ permalink raw reply [flat|nested] 14+ messages in thread* [PATCH 1/4] soc: qcom: socinfo: Fix soc_id order 2023-01-04 11:53 [PATCH 0/4] soc: qcom: socinfo: Add a bunch of older SoCs Stephan Gerhold @ 2023-01-04 11:53 ` Stephan Gerhold 2023-01-09 9:30 ` Krzysztof Kozlowski 2023-01-04 11:53 ` [PATCH 2/4] dt-bindings: arm: qcom,ids: Add QRD board ID Stephan Gerhold ` (3 subsequent siblings) 4 siblings, 1 reply; 14+ messages in thread From: Stephan Gerhold @ 2023-01-04 11:53 UTC (permalink / raw) To: Bjorn Andersson Cc: Andy Gross, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel, Stephan Gerhold The soc_id array is mostly ordered by the numeric "msm-id" defined in qcom,ids.h but some recent entries were added at the wrong place. While it does not make a functional difference it does make it harder to regenerate the entire array after adding a bunch of new IDs. Fixes: de320c07da3d ("soc: qcom: socinfo: Add MSM8956/76 SoC IDs to the soc_id table") Fixes: 147f6534b8ff ("soc: qcom: socinfo: Add SM8550 ID") Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- drivers/soc/qcom/socinfo.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c index 10efdbcfdf05..7258527816b0 100644 --- a/drivers/soc/qcom/socinfo.c +++ b/drivers/soc/qcom/socinfo.c @@ -257,8 +257,6 @@ static const struct soc_id soc_id[] = { { qcom_board_id(MSM8926) }, { qcom_board_id(MSM8326) }, { qcom_board_id(MSM8916) }, - { qcom_board_id(MSM8956) }, - { qcom_board_id(MSM8976) }, { qcom_board_id(MSM8994) }, { qcom_board_id_named(APQ8074PRO_AA, "APQ8074PRO-AA") }, { qcom_board_id_named(APQ8074PRO_AB, "APQ8074PRO-AB") }, @@ -290,6 +288,8 @@ static const struct soc_id soc_id[] = { { qcom_board_id(MSM8616) }, { qcom_board_id(MSM8992) }, { qcom_board_id(APQ8094) }, + { qcom_board_id(MSM8956) }, + { qcom_board_id(MSM8976) }, { qcom_board_id(MDM9607) }, { qcom_board_id(APQ8096) }, { qcom_board_id(MSM8998) }, @@ -348,7 +348,6 @@ static const struct soc_id soc_id[] = { { qcom_board_id(IPQ6005) }, { qcom_board_id(QRB5165) }, { qcom_board_id(SM8450) }, - { qcom_board_id(SM8550) }, { qcom_board_id(SM7225) }, { qcom_board_id(SA8295P) }, { qcom_board_id(SA8540P) }, @@ -359,6 +358,7 @@ static const struct soc_id soc_id[] = { { qcom_board_id(SC7280) }, { qcom_board_id(SC7180P) }, { qcom_board_id(SM6375) }, + { qcom_board_id(SM8550) }, { qcom_board_id(QRU1000) }, { qcom_board_id(QDU1000) }, { qcom_board_id(QDU1010) }, -- 2.39.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 1/4] soc: qcom: socinfo: Fix soc_id order 2023-01-04 11:53 ` [PATCH 1/4] soc: qcom: socinfo: Fix soc_id order Stephan Gerhold @ 2023-01-09 9:30 ` Krzysztof Kozlowski 0 siblings, 0 replies; 14+ messages in thread From: Krzysztof Kozlowski @ 2023-01-09 9:30 UTC (permalink / raw) To: Stephan Gerhold, Bjorn Andersson Cc: Andy Gross, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel On 04/01/2023 12:53, Stephan Gerhold wrote: > The soc_id array is mostly ordered by the numeric "msm-id" defined in > qcom,ids.h but some recent entries were added at the wrong place. > > While it does not make a functional difference it does make it harder > to regenerate the entire array after adding a bunch of new IDs. > > Fixes: de320c07da3d ("soc: qcom: socinfo: Add MSM8956/76 SoC IDs to the soc_id table") > Fixes: 147f6534b8ff ("soc: qcom: socinfo: Add SM8550 ID") > Signed-off-by: Stephan Gerhold <stephan@gerhold.net> > --- > drivers/soc/qcom/socinfo.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c > index 10efdbcfdf05..7258527816b0 100644 > --- a/drivers/soc/qcom/socinfo.c > +++ b/drivers/soc/qcom/socinfo.c > @@ -257,8 +257,6 @@ static const struct soc_id soc_id[] = { Can you in the same or new patch add a comment that list is ordered by numerical ID, not by model name? Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 2/4] dt-bindings: arm: qcom,ids: Add QRD board ID 2023-01-04 11:53 [PATCH 0/4] soc: qcom: socinfo: Add a bunch of older SoCs Stephan Gerhold 2023-01-04 11:53 ` [PATCH 1/4] soc: qcom: socinfo: Fix soc_id order Stephan Gerhold @ 2023-01-04 11:53 ` Stephan Gerhold 2023-01-08 21:36 ` Rob Herring 2023-01-04 11:53 ` [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs Stephan Gerhold ` (2 subsequent siblings) 4 siblings, 1 reply; 14+ messages in thread From: Stephan Gerhold @ 2023-01-04 11:53 UTC (permalink / raw) To: Bjorn Andersson Cc: Andy Gross, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel, Stephan Gerhold QRD (Qualcomm Reference Design) = 0xb = 11 is used on many devices that were originally derived from some reference design provided by Qualcomm. Examples of existing devices in Linux would be: - msm8916-longcheer-l8150/l8910, msm8916-wingtech-wt88047 - msm8953-xiaomi-daisy/tissot/vince - msm8998-fxtec-pro1 - sm4250-oneplus-billie2 Add it to qcom,ids.h so the qcom,board-id properties can be rewritten more clearly using the macros in a future patch set, i.e. qcom,board-id = <QCOM_BOARD_ID(QRD, 1, 0) 0> instead of qcom,board-id = <0x1000b 0x00> Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- include/dt-bindings/arm/qcom,ids.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/dt-bindings/arm/qcom,ids.h b/include/dt-bindings/arm/qcom,ids.h index f7aef3f310d7..18746bd3e595 100644 --- a/include/dt-bindings/arm/qcom,ids.h +++ b/include/dt-bindings/arm/qcom,ids.h @@ -165,6 +165,7 @@ #define QCOM_BOARD_ID_MTP 8 #define QCOM_BOARD_ID_DRAGONBOARD 10 +#define QCOM_BOARD_ID_QRD 11 #define QCOM_BOARD_ID_SBC 24 #endif /* _DT_BINDINGS_ARM_QCOM_IDS_H */ -- 2.39.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/4] dt-bindings: arm: qcom,ids: Add QRD board ID 2023-01-04 11:53 ` [PATCH 2/4] dt-bindings: arm: qcom,ids: Add QRD board ID Stephan Gerhold @ 2023-01-08 21:36 ` Rob Herring 0 siblings, 0 replies; 14+ messages in thread From: Rob Herring @ 2023-01-08 21:36 UTC (permalink / raw) To: Stephan Gerhold Cc: linux-arm-msm, Konrad Dybcio, ~postmarketos/upstreaming, Bjorn Andersson, Rob Herring, devicetree, Andy Gross, phone-devel, Krzysztof Kozlowski On Wed, 04 Jan 2023 12:53:46 +0100, Stephan Gerhold wrote: > QRD (Qualcomm Reference Design) = 0xb = 11 is used on many devices that > were originally derived from some reference design provided by Qualcomm. > > Examples of existing devices in Linux would be: > - msm8916-longcheer-l8150/l8910, msm8916-wingtech-wt88047 > - msm8953-xiaomi-daisy/tissot/vince > - msm8998-fxtec-pro1 > - sm4250-oneplus-billie2 > > Add it to qcom,ids.h so the qcom,board-id properties can be rewritten > more clearly using the macros in a future patch set, i.e. > > qcom,board-id = <QCOM_BOARD_ID(QRD, 1, 0) 0> instead of > qcom,board-id = <0x1000b 0x00> > > Signed-off-by: Stephan Gerhold <stephan@gerhold.net> > --- > include/dt-bindings/arm/qcom,ids.h | 1 + > 1 file changed, 1 insertion(+) > Acked-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs 2023-01-04 11:53 [PATCH 0/4] soc: qcom: socinfo: Add a bunch of older SoCs Stephan Gerhold 2023-01-04 11:53 ` [PATCH 1/4] soc: qcom: socinfo: Fix soc_id order Stephan Gerhold 2023-01-04 11:53 ` [PATCH 2/4] dt-bindings: arm: qcom,ids: Add QRD board ID Stephan Gerhold @ 2023-01-04 11:53 ` Stephan Gerhold 2023-01-08 21:40 ` Rob Herring 2023-01-04 11:53 ` [PATCH 4/4] soc: qcom: socinfo: " Stephan Gerhold 2023-01-18 23:55 ` [PATCH 0/4] " Bjorn Andersson 4 siblings, 1 reply; 14+ messages in thread From: Stephan Gerhold @ 2023-01-04 11:53 UTC (permalink / raw) To: Bjorn Andersson Cc: Andy Gross, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel, Stephan Gerhold Sync the SoC IDs in qcom,ids.h with relevant entries from Qualcomm's LK bootloader [1] that is used for almost all older Qualcomm SoCs. Several of these are already supported, e.g.: - MSM8960 -> APQ8060, MSM8260, ... - MSM8976 -> APQ8076 - MSM8956 -> APQ8056 Others are currently being worked on, e.g.: - MSM8909(W) -> APQ8009(W), MSM8905, MSM8209, ... - MSM8939 -> MSM8239, ... And even all remaining ones added are close enough to what is already supported so that future support is realistic (if someone steps up to do the work). Add all of them at once to avoid having to add them one by one in the future. This will also benefit other projects making use of the same dt-bindings, e.g. bootloaders where adding support for all these SoCs is a bit easier than on Linux. [1]: https://git.codelinaro.org/clo/la/kernel/lk/-/blob/9d563e4a1d38c5a662bf94215ffc828db57c9e19/platform/msm_shared/smem.h#L286 Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- include/dt-bindings/arm/qcom,ids.h | 74 ++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/include/dt-bindings/arm/qcom,ids.h b/include/dt-bindings/arm/qcom,ids.h index 18746bd3e595..22d7ba17804b 100644 --- a/include/dt-bindings/arm/qcom,ids.h +++ b/include/dt-bindings/arm/qcom,ids.h @@ -11,36 +11,62 @@ * The MSM chipset and hardware revision used by Qualcomm bootloaders, DTS for * older chipsets (qcom,msm-id) and in socinfo driver: */ +#define QCOM_ID_MSM8260 70 +#define QCOM_ID_MSM8660 71 +#define QCOM_ID_APQ8060 86 #define QCOM_ID_MSM8960 87 #define QCOM_ID_APQ8064 109 +#define QCOM_ID_MSM8930 116 +#define QCOM_ID_MSM8630 117 +#define QCOM_ID_MSM8230 118 +#define QCOM_ID_APQ8030 119 +#define QCOM_ID_MSM8627 120 +#define QCOM_ID_MSM8227 121 #define QCOM_ID_MSM8660A 122 #define QCOM_ID_MSM8260A 123 #define QCOM_ID_APQ8060A 124 #define QCOM_ID_MSM8974 126 +#define QCOM_ID_MSM8225 127 +#define QCOM_ID_MSM8625 129 #define QCOM_ID_MPQ8064 130 #define QCOM_ID_MSM8960AB 138 #define QCOM_ID_APQ8060AB 139 #define QCOM_ID_MSM8260AB 140 #define QCOM_ID_MSM8660AB 141 +#define QCOM_ID_MSM8930AA 142 +#define QCOM_ID_MSM8630AA 143 +#define QCOM_ID_MSM8230AA 144 #define QCOM_ID_MSM8626 145 #define QCOM_ID_MSM8610 147 #define QCOM_ID_APQ8064AB 153 +#define QCOM_ID_MSM8930AB 154 +#define QCOM_ID_MSM8630AB 155 +#define QCOM_ID_MSM8230AB 156 +#define QCOM_ID_APQ8030AB 157 #define QCOM_ID_MSM8226 158 #define QCOM_ID_MSM8526 159 +#define QCOM_ID_APQ8030AA 160 #define QCOM_ID_MSM8110 161 #define QCOM_ID_MSM8210 162 #define QCOM_ID_MSM8810 163 #define QCOM_ID_MSM8212 164 #define QCOM_ID_MSM8612 165 #define QCOM_ID_MSM8112 166 +#define QCOM_ID_MSM8125 167 #define QCOM_ID_MSM8225Q 168 #define QCOM_ID_MSM8625Q 169 #define QCOM_ID_MSM8125Q 170 #define QCOM_ID_APQ8064AA 172 #define QCOM_ID_APQ8084 178 +#define QCOM_ID_MSM8130 179 +#define QCOM_ID_MSM8130AA 180 +#define QCOM_ID_MSM8130AB 181 +#define QCOM_ID_MSM8627AA 182 +#define QCOM_ID_MSM8227AA 183 #define QCOM_ID_APQ8074 184 #define QCOM_ID_MSM8274 185 #define QCOM_ID_MSM8674 186 +#define QCOM_ID_MDM9635 187 #define QCOM_ID_MSM8974PRO_AC 194 #define QCOM_ID_MSM8126 198 #define QCOM_ID_APQ8026 199 @@ -68,34 +94,72 @@ #define QCOM_ID_MSM8510 225 #define QCOM_ID_MSM8512 226 #define QCOM_ID_MSM8936 233 +#define QCOM_ID_MDM9640 234 #define QCOM_ID_MSM8939 239 #define QCOM_ID_APQ8036 240 #define QCOM_ID_APQ8039 241 +#define QCOM_ID_MSM8236 242 +#define QCOM_ID_MSM8636 243 +#define QCOM_ID_MSM8909 245 #define QCOM_ID_MSM8996 246 #define QCOM_ID_APQ8016 247 #define QCOM_ID_MSM8216 248 #define QCOM_ID_MSM8116 249 #define QCOM_ID_MSM8616 250 #define QCOM_ID_MSM8992 251 +#define QCOM_ID_APQ8092 252 #define QCOM_ID_APQ8094 253 +#define QCOM_ID_MSM8209 258 +#define QCOM_ID_MSM8208 259 +#define QCOM_ID_MDM9209 260 +#define QCOM_ID_MDM9309 261 +#define QCOM_ID_MDM9609 262 +#define QCOM_ID_MSM8239 263 +#define QCOM_ID_MSM8952 264 +#define QCOM_ID_APQ8009 265 #define QCOM_ID_MSM8956 266 +#define QCOM_ID_MSM8929 268 +#define QCOM_ID_MSM8629 269 +#define QCOM_ID_MSM8229 270 +#define QCOM_ID_APQ8029 271 +#define QCOM_ID_APQ8056 274 +#define QCOM_ID_MSM8609 275 +#define QCOM_ID_APQ8076 277 #define QCOM_ID_MSM8976 278 +#define QCOM_ID_MDM9650 279 +#define QCOM_ID_MDM9655 283 +#define QCOM_ID_MDM9250 284 +#define QCOM_ID_MDM9255 285 +#define QCOM_ID_MDM9350 286 +#define QCOM_ID_APQ8052 289 #define QCOM_ID_MDM9607 290 #define QCOM_ID_APQ8096 291 #define QCOM_ID_MSM8998 292 #define QCOM_ID_MSM8953 293 +#define QCOM_ID_MSM8937 294 +#define QCOM_ID_APQ8037 295 #define QCOM_ID_MDM8207 296 #define QCOM_ID_MDM9207 297 #define QCOM_ID_MDM9307 298 #define QCOM_ID_MDM9628 299 +#define QCOM_ID_MSM8909W 300 +#define QCOM_ID_APQ8009W 301 +#define QCOM_ID_MSM8996L 302 +#define QCOM_ID_MSM8917 303 #define QCOM_ID_APQ8053 304 #define QCOM_ID_MSM8996SG 305 +#define QCOM_ID_APQ8017 307 +#define QCOM_ID_MSM8217 308 +#define QCOM_ID_MSM8617 309 #define QCOM_ID_MSM8996AU 310 #define QCOM_ID_APQ8096AU 311 #define QCOM_ID_APQ8096SG 312 +#define QCOM_ID_MSM8940 313 +#define QCOM_ID_SDX201 314 #define QCOM_ID_SDM660 317 #define QCOM_ID_SDM630 318 #define QCOM_ID_APQ8098 319 +#define QCOM_ID_MSM8920 320 #define QCOM_ID_SDM845 321 #define QCOM_ID_MDM9206 322 #define QCOM_ID_IPQ8074 323 @@ -103,6 +167,8 @@ #define QCOM_ID_SDM658 325 #define QCOM_ID_SDA658 326 #define QCOM_ID_SDA630 327 +#define QCOM_ID_MSM8905 331 +#define QCOM_ID_SDX202 333 #define QCOM_ID_SDM450 338 #define QCOM_ID_SM8150 339 #define QCOM_ID_SDA845 341 @@ -114,10 +180,15 @@ #define QCOM_ID_SDM632 349 #define QCOM_ID_SDA632 350 #define QCOM_ID_SDA450 351 +#define QCOM_ID_SDM439 353 +#define QCOM_ID_SDM429 354 #define QCOM_ID_SM8250 356 #define QCOM_ID_SA8155 362 +#define QCOM_ID_SDA439 363 +#define QCOM_ID_SDA429 364 #define QCOM_ID_IPQ8070 375 #define QCOM_ID_IPQ8071 376 +#define QCOM_ID_QM215 386 #define QCOM_ID_IPQ8072A 389 #define QCOM_ID_IPQ8074A 390 #define QCOM_ID_IPQ8076A 391 @@ -127,11 +198,14 @@ #define QCOM_ID_IPQ8071A 396 #define QCOM_ID_IPQ6018 402 #define QCOM_ID_IPQ6028 403 +#define QCOM_ID_SDM429W 416 #define QCOM_ID_SM4250 417 #define QCOM_ID_IPQ6000 421 #define QCOM_ID_IPQ6010 422 #define QCOM_ID_SC7180 425 #define QCOM_ID_SM6350 434 +#define QCOM_ID_QCM2150 436 +#define QCOM_ID_SDA429W 437 #define QCOM_ID_SM8350 439 #define QCOM_ID_SM6115 444 #define QCOM_ID_SC8280XP 449 -- 2.39.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs 2023-01-04 11:53 ` [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs Stephan Gerhold @ 2023-01-08 21:40 ` Rob Herring 2023-01-08 22:20 ` Dmitry Baryshkov ` (2 more replies) 0 siblings, 3 replies; 14+ messages in thread From: Rob Herring @ 2023-01-08 21:40 UTC (permalink / raw) To: Stephan Gerhold Cc: Bjorn Andersson, Andy Gross, Konrad Dybcio, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel On Wed, Jan 04, 2023 at 12:53:47PM +0100, Stephan Gerhold wrote: > Sync the SoC IDs in qcom,ids.h with relevant entries from Qualcomm's LK > bootloader [1] that is used for almost all older Qualcomm SoCs. > > Several of these are already supported, e.g.: > - MSM8960 -> APQ8060, MSM8260, ... > - MSM8976 -> APQ8076 > - MSM8956 -> APQ8056 > Others are currently being worked on, e.g.: > - MSM8909(W) -> APQ8009(W), MSM8905, MSM8209, ... > - MSM8939 -> MSM8239, ... > > And even all remaining ones added are close enough to what is already > supported so that future support is realistic (if someone steps up to > do the work). > > Add all of them at once to avoid having to add them one by one in the > future. This will also benefit other projects making use of the same > dt-bindings, e.g. bootloaders where adding support for all these SoCs > is a bit easier than on Linux. The promise was in accepting the properties upstream is we'd only be adding these for bootloaders with dtbs that we can't otherwise update or change. Do all of those meet this criteria? Seems unlikely. Rob ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs 2023-01-08 21:40 ` Rob Herring @ 2023-01-08 22:20 ` Dmitry Baryshkov 2023-01-09 9:39 ` Stephan Gerhold 2023-01-09 8:43 ` Stephan Gerhold 2023-01-11 19:42 ` Bjorn Andersson 2 siblings, 1 reply; 14+ messages in thread From: Dmitry Baryshkov @ 2023-01-08 22:20 UTC (permalink / raw) To: Rob Herring, Stephan Gerhold Cc: Bjorn Andersson, Andy Gross, Konrad Dybcio, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel On 08/01/2023 23:40, Rob Herring wrote: > On Wed, Jan 04, 2023 at 12:53:47PM +0100, Stephan Gerhold wrote: >> Sync the SoC IDs in qcom,ids.h with relevant entries from Qualcomm's LK >> bootloader [1] that is used for almost all older Qualcomm SoCs. >> >> Several of these are already supported, e.g.: >> - MSM8960 -> APQ8060, MSM8260, ... >> - MSM8976 -> APQ8076 >> - MSM8956 -> APQ8056 >> Others are currently being worked on, e.g.: >> - MSM8909(W) -> APQ8009(W), MSM8905, MSM8209, ... >> - MSM8939 -> MSM8239, ... >> >> And even all remaining ones added are close enough to what is already >> supported so that future support is realistic (if someone steps up to >> do the work). >> >> Add all of them at once to avoid having to add them one by one in the >> future. This will also benefit other projects making use of the same >> dt-bindings, e.g. bootloaders where adding support for all these SoCs >> is a bit easier than on Linux. > > The promise was in accepting the properties upstream is we'd only be > adding these for bootloaders with dtbs that we can't otherwise update or > change. Do all of those meet this criteria? Seems unlikely. Most of Qualcomm platforms come with the signed bootloader, so it is impossible to change it without vendor keys. This might sound bad for you, but I fear that this list would include most of the platforms until Qualcomm agrees to rework kernel-bootloader-dtb interaction. -- With best wishes Dmitry ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs 2023-01-08 22:20 ` Dmitry Baryshkov @ 2023-01-09 9:39 ` Stephan Gerhold 0 siblings, 0 replies; 14+ messages in thread From: Stephan Gerhold @ 2023-01-09 9:39 UTC (permalink / raw) To: Dmitry Baryshkov Cc: Rob Herring, Bjorn Andersson, Andy Gross, Konrad Dybcio, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel On Mon, Jan 09, 2023 at 12:20:55AM +0200, Dmitry Baryshkov wrote: > On 08/01/2023 23:40, Rob Herring wrote: > > On Wed, Jan 04, 2023 at 12:53:47PM +0100, Stephan Gerhold wrote: > > > Sync the SoC IDs in qcom,ids.h with relevant entries from Qualcomm's LK > > > bootloader [1] that is used for almost all older Qualcomm SoCs. > > > > > > Several of these are already supported, e.g.: > > > - MSM8960 -> APQ8060, MSM8260, ... > > > - MSM8976 -> APQ8076 > > > - MSM8956 -> APQ8056 > > > Others are currently being worked on, e.g.: > > > - MSM8909(W) -> APQ8009(W), MSM8905, MSM8209, ... > > > - MSM8939 -> MSM8239, ... > > > > > > And even all remaining ones added are close enough to what is already > > > supported so that future support is realistic (if someone steps up to > > > do the work). > > > > > > Add all of them at once to avoid having to add them one by one in the > > > future. This will also benefit other projects making use of the same > > > dt-bindings, e.g. bootloaders where adding support for all these SoCs > > > is a bit easier than on Linux. > > > > The promise was in accepting the properties upstream is we'd only be > > adding these for bootloaders with dtbs that we can't otherwise update or > > change. Do all of those meet this criteria? Seems unlikely. > > > Most of Qualcomm platforms come with the signed bootloader, so it is > impossible to change it without vendor keys. This might sound bad for you, > but I fear that this list would include most of the platforms until Qualcomm > agrees to rework kernel-bootloader-dtb interaction. > There is no need to replace the signed bootloader to avoid these quirks. The bootloader does not care if it is booting Linux directly or another OS, so you can just package a less broken bootloader into an Android boot image and "chainload" it before booting Linux. This is fairly simple to do for the older platforms that are still using LK as bootloader, but more complicated for the UEFI platforms since a fully open-source bootloader is not available there. For the older platforms I'm working on (mainly MSM8916 and similar) this approach has proven to be extremely beneficial. I have seen all sorts of vendor-specific bootloader quirks that go way beyond just requiring a non-standard property in the DT. Some of them require almost the entire downstream DT because they use information from it to initialize the display shortly before booting Linux. Others make random modifications to the DT that would cause trouble for mainline Linux. lk2nd [1] covers all relevant LK platforms. IMO investing the time to get e.g. U-Boot running for newer platforms would be well worth the effort, especially because it can cut many discussions short. For example, lk2nd has working display panel selection (by setting the correct panel compatible in the Linux DT). AFAIU this is still unsolved for all newer platforms because Qualcomm still passes this in some weird cmdline format to the kernel (mdss_mdp.panel=, msm_drm.dsi_display0=, ...) Thanks, Stephan [1]: https://github.com/msm8916-mainline/lk2nd ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs 2023-01-08 21:40 ` Rob Herring 2023-01-08 22:20 ` Dmitry Baryshkov @ 2023-01-09 8:43 ` Stephan Gerhold 2023-01-11 19:42 ` Bjorn Andersson 2 siblings, 0 replies; 14+ messages in thread From: Stephan Gerhold @ 2023-01-09 8:43 UTC (permalink / raw) To: Rob Herring Cc: Bjorn Andersson, Andy Gross, Konrad Dybcio, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel On Sun, Jan 08, 2023 at 03:40:52PM -0600, Rob Herring wrote: > On Wed, Jan 04, 2023 at 12:53:47PM +0100, Stephan Gerhold wrote: > > Sync the SoC IDs in qcom,ids.h with relevant entries from Qualcomm's LK > > bootloader [1] that is used for almost all older Qualcomm SoCs. > > > > Several of these are already supported, e.g.: > > - MSM8960 -> APQ8060, MSM8260, ... > > - MSM8976 -> APQ8076 > > - MSM8956 -> APQ8056 > > Others are currently being worked on, e.g.: > > - MSM8909(W) -> APQ8009(W), MSM8905, MSM8209, ... > > - MSM8939 -> MSM8239, ... > > > > And even all remaining ones added are close enough to what is already > > supported so that future support is realistic (if someone steps up to > > do the work). > > > > Add all of them at once to avoid having to add them one by one in the > > future. This will also benefit other projects making use of the same > > dt-bindings, e.g. bootloaders where adding support for all these SoCs > > is a bit easier than on Linux. > > The promise was in accepting the properties upstream is we'd only be > adding these for bootloaders with dtbs that we can't otherwise update or > change. qcom,ids.h contains all the SoC IDs, even ones not meant to be used in the deprecated "qcom,msm-id" property. This is because it is also used in the socinfo driver for example (that I'm also editing in this series). The actual allowlist for the "qcom,msm-id"/"qcom,board-id" is in Documentation/devicetree/bindings/arm/qcom.yaml and is unchanged by this patch series. Still: > > Do all of those meet this criteria? Seems unlikely. > All platforms added in this patch are older ones that do indeed require the "qcom,msm-id"/"qcom,board-id" properties - except for the really ancient ones that are still using ATAGS for booting. However, there is no need to extend the allowlist to all these platforms. We're circumventing the limitations of the Qualcomm bootloader by "chainloading" another bootloader without those quirks (right now mainly a modified version of Qualcomm's original bootloader, but U-Boot also works on some of these platforms). That is why the deprecated properties do not need to be present in the Linux DT. Thanks, Stephan ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs 2023-01-08 21:40 ` Rob Herring 2023-01-08 22:20 ` Dmitry Baryshkov 2023-01-09 8:43 ` Stephan Gerhold @ 2023-01-11 19:42 ` Bjorn Andersson 2023-01-12 21:08 ` Rob Herring 2 siblings, 1 reply; 14+ messages in thread From: Bjorn Andersson @ 2023-01-11 19:42 UTC (permalink / raw) To: Rob Herring Cc: Stephan Gerhold, Andy Gross, Konrad Dybcio, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel On Sun, Jan 08, 2023 at 03:40:52PM -0600, Rob Herring wrote: > On Wed, Jan 04, 2023 at 12:53:47PM +0100, Stephan Gerhold wrote: > > Sync the SoC IDs in qcom,ids.h with relevant entries from Qualcomm's LK > > bootloader [1] that is used for almost all older Qualcomm SoCs. > > > > Several of these are already supported, e.g.: > > - MSM8960 -> APQ8060, MSM8260, ... > > - MSM8976 -> APQ8076 > > - MSM8956 -> APQ8056 > > Others are currently being worked on, e.g.: > > - MSM8909(W) -> APQ8009(W), MSM8905, MSM8209, ... > > - MSM8939 -> MSM8239, ... > > > > And even all remaining ones added are close enough to what is already > > supported so that future support is realistic (if someone steps up to > > do the work). > > > > Add all of them at once to avoid having to add them one by one in the > > future. This will also benefit other projects making use of the same > > dt-bindings, e.g. bootloaders where adding support for all these SoCs > > is a bit easier than on Linux. > > The promise was in accepting the properties upstream is we'd only be > adding these for bootloaders with dtbs that we can't otherwise update or > change. Do all of those meet this criteria? Seems unlikely. > Independent of the question about qcom,msm-id and qcom,board-id, I would like these constants for the socinfo driver (as shown in patch 4). Would you prefer that we keep a separate list in Linux? Thanks, Bjorn ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs 2023-01-11 19:42 ` Bjorn Andersson @ 2023-01-12 21:08 ` Rob Herring 0 siblings, 0 replies; 14+ messages in thread From: Rob Herring @ 2023-01-12 21:08 UTC (permalink / raw) To: Bjorn Andersson Cc: Stephan Gerhold, Andy Gross, Konrad Dybcio, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel On Wed, Jan 11, 2023 at 01:42:15PM -0600, Bjorn Andersson wrote: > On Sun, Jan 08, 2023 at 03:40:52PM -0600, Rob Herring wrote: > > On Wed, Jan 04, 2023 at 12:53:47PM +0100, Stephan Gerhold wrote: > > > Sync the SoC IDs in qcom,ids.h with relevant entries from Qualcomm's LK > > > bootloader [1] that is used for almost all older Qualcomm SoCs. > > > > > > Several of these are already supported, e.g.: > > > - MSM8960 -> APQ8060, MSM8260, ... > > > - MSM8976 -> APQ8076 > > > - MSM8956 -> APQ8056 > > > Others are currently being worked on, e.g.: > > > - MSM8909(W) -> APQ8009(W), MSM8905, MSM8209, ... > > > - MSM8939 -> MSM8239, ... > > > > > > And even all remaining ones added are close enough to what is already > > > supported so that future support is realistic (if someone steps up to > > > do the work). > > > > > > Add all of them at once to avoid having to add them one by one in the > > > future. This will also benefit other projects making use of the same > > > dt-bindings, e.g. bootloaders where adding support for all these SoCs > > > is a bit easier than on Linux. > > > > The promise was in accepting the properties upstream is we'd only be > > adding these for bootloaders with dtbs that we can't otherwise update or > > change. Do all of those meet this criteria? Seems unlikely. > > > > Independent of the question about qcom,msm-id and qcom,board-id, I would > like these constants for the socinfo driver (as shown in patch 4). > > Would you prefer that we keep a separate list in Linux? No, its fine given there's more than one use and the schema only allows the properties on certain SoCs already. Acked-by: Rob Herring <robh@kernel.org> ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 4/4] soc: qcom: socinfo: Add a bunch of older SoCs 2023-01-04 11:53 [PATCH 0/4] soc: qcom: socinfo: Add a bunch of older SoCs Stephan Gerhold ` (2 preceding siblings ...) 2023-01-04 11:53 ` [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs Stephan Gerhold @ 2023-01-04 11:53 ` Stephan Gerhold 2023-01-18 23:55 ` [PATCH 0/4] " Bjorn Andersson 4 siblings, 0 replies; 14+ messages in thread From: Stephan Gerhold @ 2023-01-04 11:53 UTC (permalink / raw) To: Bjorn Andersson Cc: Andy Gross, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, linux-arm-msm, devicetree, ~postmarketos/upstreaming, phone-devel, Stephan Gerhold Add the new SoCs added in qcom,ids.h to the soc_id array so they show up correctly in the socinfo sysfs. Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- drivers/soc/qcom/socinfo.c | 74 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) diff --git a/drivers/soc/qcom/socinfo.c b/drivers/soc/qcom/socinfo.c index 7258527816b0..3b970a80f3aa 100644 --- a/drivers/soc/qcom/socinfo.c +++ b/drivers/soc/qcom/socinfo.c @@ -221,36 +221,62 @@ struct soc_id { }; static const struct soc_id soc_id[] = { + { qcom_board_id(MSM8260) }, + { qcom_board_id(MSM8660) }, + { qcom_board_id(APQ8060) }, { qcom_board_id(MSM8960) }, { qcom_board_id(APQ8064) }, + { qcom_board_id(MSM8930) }, + { qcom_board_id(MSM8630) }, + { qcom_board_id(MSM8230) }, + { qcom_board_id(APQ8030) }, + { qcom_board_id(MSM8627) }, + { qcom_board_id(MSM8227) }, { qcom_board_id(MSM8660A) }, { qcom_board_id(MSM8260A) }, { qcom_board_id(APQ8060A) }, { qcom_board_id(MSM8974) }, + { qcom_board_id(MSM8225) }, + { qcom_board_id(MSM8625) }, { qcom_board_id(MPQ8064) }, { qcom_board_id(MSM8960AB) }, { qcom_board_id(APQ8060AB) }, { qcom_board_id(MSM8260AB) }, { qcom_board_id(MSM8660AB) }, + { qcom_board_id(MSM8930AA) }, + { qcom_board_id(MSM8630AA) }, + { qcom_board_id(MSM8230AA) }, { qcom_board_id(MSM8626) }, { qcom_board_id(MSM8610) }, { qcom_board_id(APQ8064AB) }, + { qcom_board_id(MSM8930AB) }, + { qcom_board_id(MSM8630AB) }, + { qcom_board_id(MSM8230AB) }, + { qcom_board_id(APQ8030AB) }, { qcom_board_id(MSM8226) }, { qcom_board_id(MSM8526) }, + { qcom_board_id(APQ8030AA) }, { qcom_board_id(MSM8110) }, { qcom_board_id(MSM8210) }, { qcom_board_id(MSM8810) }, { qcom_board_id(MSM8212) }, { qcom_board_id(MSM8612) }, { qcom_board_id(MSM8112) }, + { qcom_board_id(MSM8125) }, { qcom_board_id(MSM8225Q) }, { qcom_board_id(MSM8625Q) }, { qcom_board_id(MSM8125Q) }, { qcom_board_id(APQ8064AA) }, { qcom_board_id(APQ8084) }, + { qcom_board_id(MSM8130) }, + { qcom_board_id(MSM8130AA) }, + { qcom_board_id(MSM8130AB) }, + { qcom_board_id(MSM8627AA) }, + { qcom_board_id(MSM8227AA) }, { qcom_board_id(APQ8074) }, { qcom_board_id(MSM8274) }, { qcom_board_id(MSM8674) }, + { qcom_board_id(MDM9635) }, { qcom_board_id_named(MSM8974PRO_AC, "MSM8974PRO-AC") }, { qcom_board_id(MSM8126) }, { qcom_board_id(APQ8026) }, @@ -278,34 +304,72 @@ static const struct soc_id soc_id[] = { { qcom_board_id(MSM8510) }, { qcom_board_id(MSM8512) }, { qcom_board_id(MSM8936) }, + { qcom_board_id(MDM9640) }, { qcom_board_id(MSM8939) }, { qcom_board_id(APQ8036) }, { qcom_board_id(APQ8039) }, + { qcom_board_id(MSM8236) }, + { qcom_board_id(MSM8636) }, + { qcom_board_id(MSM8909) }, { qcom_board_id(MSM8996) }, { qcom_board_id(APQ8016) }, { qcom_board_id(MSM8216) }, { qcom_board_id(MSM8116) }, { qcom_board_id(MSM8616) }, { qcom_board_id(MSM8992) }, + { qcom_board_id(APQ8092) }, { qcom_board_id(APQ8094) }, + { qcom_board_id(MSM8209) }, + { qcom_board_id(MSM8208) }, + { qcom_board_id(MDM9209) }, + { qcom_board_id(MDM9309) }, + { qcom_board_id(MDM9609) }, + { qcom_board_id(MSM8239) }, + { qcom_board_id(MSM8952) }, + { qcom_board_id(APQ8009) }, { qcom_board_id(MSM8956) }, + { qcom_board_id(MSM8929) }, + { qcom_board_id(MSM8629) }, + { qcom_board_id(MSM8229) }, + { qcom_board_id(APQ8029) }, + { qcom_board_id(APQ8056) }, + { qcom_board_id(MSM8609) }, + { qcom_board_id(APQ8076) }, { qcom_board_id(MSM8976) }, + { qcom_board_id(MDM9650) }, + { qcom_board_id(MDM9655) }, + { qcom_board_id(MDM9250) }, + { qcom_board_id(MDM9255) }, + { qcom_board_id(MDM9350) }, + { qcom_board_id(APQ8052) }, { qcom_board_id(MDM9607) }, { qcom_board_id(APQ8096) }, { qcom_board_id(MSM8998) }, { qcom_board_id(MSM8953) }, + { qcom_board_id(MSM8937) }, + { qcom_board_id(APQ8037) }, { qcom_board_id(MDM8207) }, { qcom_board_id(MDM9207) }, { qcom_board_id(MDM9307) }, { qcom_board_id(MDM9628) }, + { qcom_board_id(MSM8909W) }, + { qcom_board_id(APQ8009W) }, + { qcom_board_id(MSM8996L) }, + { qcom_board_id(MSM8917) }, { qcom_board_id(APQ8053) }, { qcom_board_id(MSM8996SG) }, + { qcom_board_id(APQ8017) }, + { qcom_board_id(MSM8217) }, + { qcom_board_id(MSM8617) }, { qcom_board_id(MSM8996AU) }, { qcom_board_id(APQ8096AU) }, { qcom_board_id(APQ8096SG) }, + { qcom_board_id(MSM8940) }, + { qcom_board_id(SDX201) }, { qcom_board_id(SDM660) }, { qcom_board_id(SDM630) }, { qcom_board_id(APQ8098) }, + { qcom_board_id(MSM8920) }, { qcom_board_id(SDM845) }, { qcom_board_id(MDM9206) }, { qcom_board_id(IPQ8074) }, @@ -313,6 +377,8 @@ static const struct soc_id soc_id[] = { { qcom_board_id(SDM658) }, { qcom_board_id(SDA658) }, { qcom_board_id(SDA630) }, + { qcom_board_id(MSM8905) }, + { qcom_board_id(SDX202) }, { qcom_board_id(SDM450) }, { qcom_board_id(SM8150) }, { qcom_board_id(SDA845) }, @@ -324,10 +390,15 @@ static const struct soc_id soc_id[] = { { qcom_board_id(SDM632) }, { qcom_board_id(SDA632) }, { qcom_board_id(SDA450) }, + { qcom_board_id(SDM439) }, + { qcom_board_id(SDM429) }, { qcom_board_id(SM8250) }, { qcom_board_id(SA8155) }, + { qcom_board_id(SDA439) }, + { qcom_board_id(SDA429) }, { qcom_board_id(IPQ8070) }, { qcom_board_id(IPQ8071) }, + { qcom_board_id(QM215) }, { qcom_board_id(IPQ8072A) }, { qcom_board_id(IPQ8074A) }, { qcom_board_id(IPQ8076A) }, @@ -337,11 +408,14 @@ static const struct soc_id soc_id[] = { { qcom_board_id(IPQ8071A) }, { qcom_board_id(IPQ6018) }, { qcom_board_id(IPQ6028) }, + { qcom_board_id(SDM429W) }, { qcom_board_id(SM4250) }, { qcom_board_id(IPQ6000) }, { qcom_board_id(IPQ6010) }, { qcom_board_id(SC7180) }, { qcom_board_id(SM6350) }, + { qcom_board_id(QCM2150) }, + { qcom_board_id(SDA429W) }, { qcom_board_id(SM8350) }, { qcom_board_id(SM6115) }, { qcom_board_id(SC8280XP) }, -- 2.39.0 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 0/4] soc: qcom: socinfo: Add a bunch of older SoCs 2023-01-04 11:53 [PATCH 0/4] soc: qcom: socinfo: Add a bunch of older SoCs Stephan Gerhold ` (3 preceding siblings ...) 2023-01-04 11:53 ` [PATCH 4/4] soc: qcom: socinfo: " Stephan Gerhold @ 2023-01-18 23:55 ` Bjorn Andersson 4 siblings, 0 replies; 14+ messages in thread From: Bjorn Andersson @ 2023-01-18 23:55 UTC (permalink / raw) To: stephan Cc: ~postmarketos/upstreaming, phone-devel, Rob Herring, devicetree, Konrad Dybcio, Andy Gross, linux-arm-msm, Krzysztof Kozlowski On Wed, 4 Jan 2023 12:53:44 +0100, Stephan Gerhold wrote: > Sync the SoC IDs in qcom,ids.h with relevant entries from Qualcomm's LK > bootloader that is used for almost all older Qualcomm SoCs. This is > meant to reduce the effort for future SoC bring-up (to avoid having to > send a separate patch series for each new SoC) and will also benefit > other projects using the same dt-bindings, e.g. bootloaders where > adding support for all these SoCs is a bit easier than on Linux. > > [...] Applied, thanks! [1/4] soc: qcom: socinfo: Fix soc_id order commit: 017a7c11a8a29e266aa40c6d1bf2ba83f880f719 [2/4] dt-bindings: arm: qcom,ids: Add QRD board ID commit: 8b949c0e2ce59c376818bc3f80db4b94b06981b7 [3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs commit: 56abffc793befb19f30ec9d4bec24343529377f1 [4/4] soc: qcom: socinfo: Add a bunch of older SoCs commit: 40017cebb111eed65bddfa993df7b0636be98de8 Best regards, -- Bjorn Andersson <andersson@kernel.org> ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-01-18 23:56 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-01-04 11:53 [PATCH 0/4] soc: qcom: socinfo: Add a bunch of older SoCs Stephan Gerhold 2023-01-04 11:53 ` [PATCH 1/4] soc: qcom: socinfo: Fix soc_id order Stephan Gerhold 2023-01-09 9:30 ` Krzysztof Kozlowski 2023-01-04 11:53 ` [PATCH 2/4] dt-bindings: arm: qcom,ids: Add QRD board ID Stephan Gerhold 2023-01-08 21:36 ` Rob Herring 2023-01-04 11:53 ` [PATCH 3/4] dt-bindings: arm: qcom,ids: Add a bunch of older SoCs Stephan Gerhold 2023-01-08 21:40 ` Rob Herring 2023-01-08 22:20 ` Dmitry Baryshkov 2023-01-09 9:39 ` Stephan Gerhold 2023-01-09 8:43 ` Stephan Gerhold 2023-01-11 19:42 ` Bjorn Andersson 2023-01-12 21:08 ` Rob Herring 2023-01-04 11:53 ` [PATCH 4/4] soc: qcom: socinfo: " Stephan Gerhold 2023-01-18 23:55 ` [PATCH 0/4] " Bjorn Andersson
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).