Commit graph

1,295,746 commits

Author SHA1 Message Date
Arnd Bergmann
b62800736f Memory controller drivers for v6.12, part two
1. Renesas RPC-IF: adjust default setting for pins to accommodate
    different flash devices, which should fix 4-bit flash writes with
    Renesas AT25QL128A flash.
 
 2. Simplify a bit probe() in PL172 and PL353-SMC.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmbbDM8QHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD11m9D/9+4rfYAIKRuJcLZdqjJiXCy8cdFdQsICg9
 QuHvkJ8MLRio/Ep3k/8htslQAsNQJjBfsaWDjALwPGA1322/drkYo8TnVj1JLR3p
 N8lfoPTXaPgpe885bH2hQhAsnZqZY1QCg3i5QqWZESuOx3EuGmhn0Uh8YNC/XGvu
 GSxiO1o8KpHFCzHvwxSJ8thjq0nS8dKJ9FrS8wQywoEEQW08s+Srz22S7jxlvYrc
 HgY2c1bm7XZeXJDDSI7wIK3sgZ7n07bl3S/T5JQ0HElXZ71SvHsbqtHA/4xd6CQE
 P2dEfFZq8YNLC7396DzhYI1YAOc+xAW8VPwxGQ3umpwvSU9CTNM9UrZveDCmg+QF
 EdGzo9sjUwTJhsImgBjXvZY9Dhr+jXXkyZsBfIN5XCEwItsJHgUlsms4nBkIXHiI
 5Du3qC+sHi/1j1KJzRf94YpbX/ldTKyJ7CJWaJRftoTWWR2o5KOKPOGG1iEJHZ/v
 UXr+ZX5z2E5Li05g0JnzIP72jpDPyRP1lDI7xHX2BWHLxN1zcSxXGBibBP4KTdnT
 0zIjIDiVyq1ync1ZZ634zM5JS1bm9MRHDxR6efOcEhp4mC5q3U0DuDqGay6508ha
 fZbSGUfSjOi0rGk3qhyMO0T20Qmi/TibZ5QhWPCjLYYUpLnj0AA68t+cSGFfphFW
 vnoQZCHvrQ==
 =rd39
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbhZvcACgkQYKtH/8kJ
 Uie+4BAA2oB5HfnM0ofBXvKLaeSWJQpuFa0SR0ttFn4bKYGN+zCPD3ymo34rzJql
 ICCFwwtYWVzLQZHHtcbf+PiYSA9W65n0/ClfMMfI57DX2DoOqlqqUDNa4GQvMpdf
 Tc54gGms7InjpY+kXTjA162LUODRPNpnYFaOfpY3Mi3ghcocXM5No8GsDFViH3mD
 Lsg3Vwkw7XbxsQbSdewdWtlPr79o9ZuJfaIauBmskeG45gio2+504GdwjS952CV0
 W0mScZ4BaZoPFTjIQ8bwD1kytdAHUtEC3fwZCFAT3n5ssg4N1ztV/UBkwyRSLnk6
 As/20D1DLn8wS8Jgen2P+iETjr9q1Md8A7hfN9+BOJd7N7giriFCNT6uitLWnIzo
 qpSJciIAmbHBsI93pHDIbTBZ/AHSrXHUYXNXsiwq7xsd1oui+lbC739EwNRv/B3B
 gQzLCm4OWEMIIM5Hun9TVOSESbkxjIj9/nRTJqqJGzAXCoSS68CgKba5LtX2tReD
 hcqrWyglpDb4FxP6BVrnqWxFwE+b3rVSWsWvLv30Bo0kDgq9M5SgmvGYyTVdRolF
 9wJUjUCz0sxkDOgwKJ2NG/7XUly5YnNIUszvCI+wCWTvgXYue9DsFztl7v5vz1kX
 NKJATOApBGtDnxESY1yXQscP73mHE6d//NPsvxsu8jrxzehPL5w=
 =71qO
 -----END PGP SIGNATURE-----

Merge tag 'memory-controller-drv-6.12-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.12, part two

1. Renesas RPC-IF: adjust default setting for pins to accommodate
   different flash devices, which should fix 4-bit flash writes with
   Renesas AT25QL128A flash.

2. Simplify a bit probe() in PL172 and PL353-SMC.

* tag 'memory-controller-drv-6.12-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: pl353-smc: simplify with scoped for each OF child loop
  memory: pl172: simplify releasing AMBA regions with devm
  memory: renesas-rpc-if: Use Hi-Z state as the default setting for IOVF pins

Link: https://lore.kernel.org/r/20240906140859.71712-1-krzysztof.kozlowski@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-11 09:46:31 +00:00
Arnd Bergmann
13e87440bf This pull request contains Broadcom SoC driver updates for 6.12, please
pull the following:
 
 - Stefan improves the timeout warning within the Raspberry Pi firmware
   driver
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmbZ5HEACgkQh9CWnEQH
 BwTbfBAAo6MX88WmJNQE8JNU7QcqNfYDd4neIyzn0GfVQaKwmRO6vgN6pothDgmt
 Us9CUFloCrqH/QNope47ku/02IW7AX/Rw161L+w9v3DWpxmR/wC9kCUGfjopINsT
 w+Q6FJe5tmajZW9ybbhW+n2QiofGO0mlLJNUql7rQBo6iYZLjSYrKjNVsBAj4YdU
 CYz+MJnlytQGCx8ANvdbpQfnG856PjpfBCPCjTxCpr+o6NOOMJ/Z8L1SpOkHkyr8
 J8+YDJ82eEOFfpZuFvTIz+tlo8r4QiA76UErHkq+GsegIMN/zb2By7xt7v1GkQyE
 z+kICjNUdXHvFEKvh8R715fldwZW9Rd2ybr6P+3CpcnG95b51VkmMlQ+RuN0a/kT
 ZJp79lG71loRITr4dj2z/NVdZ8kI7x5rDpdysSzNPueK+1akPhM/7xhVoKYHDGW9
 mCLwSM3Q9uDaf/G+i+YZkQKoitfuaj7E22IboondJ2sH5EH+3NpheCfLR0dG0fbu
 uyRUgP+r+ceu6Y+deyzx1MEqmHpedL0zSR/Pxlhg0Na5DPQmG85GLGYYOKQRB44u
 P2o65Q/Jt7IoAyRKHYeAoGCCpWvzIt0ps4eXdSOpe2+LD5/m/xf9QxpnM4FR7WH0
 +PJ4Q8+RpQNSCpt6p8nUm9WasI3nbj73i7hZA4wB8/0zlQIf86o=
 =AUWZ
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbhXFAACgkQYKtH/8kJ
 UieJZBAAwzvnkwjjcXjpC1EKuNZy8Ch9sgU6BUwtvcfkLyn3SQjCS3XmC3USUtJK
 gJQBzezbFX45iHkMe1kOQg6ww1Zj4bn1gxeAQ9XUipmogw/ZveT8bS22MifIPtbB
 st3pgj+mv3wE2u0yiWjlwy0hVH8ehA/rqP82MHe1/5sakO42nOcM3kRh4AHYATMC
 cB1tTuQN9b4zjRmA5cCKGbYTIcg0iHTRW/T53yC0Nykhl2TmvSWXiIFqLEf4Nu5k
 AnSt5dtgHVn5FywJLpAl/TFxPsx/pg/utIrItOfWtyEZsJdKTx4TuPwXWotNePuT
 nVpej7VelnO5yTrlH5didyTUtGZKvWH8S88P73O45K/OHDjAO+/i43BSOeFKPO2X
 AVNCU39xJNCOKZeD1DecKfW0bY8NB+9o0j3wQnJIZpNjC/dyAN71hvrnY07Mo4Xu
 zdTF8z8rF1KoWtacv22pMDcZlO+Z8ujCwNs+qZTnis83lAYjY+jjQ6ctcOhjMPq1
 taOggiMQnINYPb54r8OJ2+dWOyd2htAzT0FcykurbCHKeiQwmIW8WzsZPrccSV7Q
 2IUKvbazR7KApRdUhHqAKlSkuDH7rpMnzDDFstZ2ISQVClZUf+tZ6LS14Xkdkj56
 Lmj1d54Zwe5ORVuHTnhw7dUg73lDEY9Cr6LOsbwo+jwCoZWUxbo=
 =3kby
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-6.12/drivers' of https://github.com/Broadcom/stblinux into soc/drivers

This pull request contains Broadcom SoC driver updates for 6.12, please
pull the following:

- Stefan improves the timeout warning within the Raspberry Pi firmware
  driver

* tag 'arm-soc/for-6.12/drivers' of https://github.com/Broadcom/stblinux:
  firmware: raspberrypi: Improve timeout warning

Link: https://lore.kernel.org/r/20240906180643.2275460-3-florian.fainelli@broadcom.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-11 09:01:03 +00:00
Arnd Bergmann
80bc8215ce One new pmu compatible for rk3576
-----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmbeFhsQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgZXmB/9iaYTaTvj+FdrwUxSS5NLpYcJ3b+ElC3nO
 2SJ6bWWKaYWzngek6AodCzcHcYQVRkyppboM+Zz1GNBxH4tSgdveergugnZRNvX9
 MfnPxY6DtL0UsmP79/lvyMz9w+M1l/5VmIHlxwQO81UrY783Psaq2jF9OgjaRSGV
 0uigyTaPOVquqQt/S+R6qvwZKdUeZ9zTM85bFgconOaonZMnRu1ud9tKnNwGp13k
 KDux/WcBi3W5f6P8ZASlXtN46DaMh3W5kqNV8DMD29pBTSoJoKLOt/FZ86pXDrBq
 TSpos+toCoyXRsLS3k3p0CvUjWvl3u/4ufaB8ogezD6DVl6lqCxi
 =Zap0
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbhW1MACgkQYKtH/8kJ
 UicSGxAArwCkpPS1GZ4/fnpnJZvFGGE2n/2T1bDJV0yFRbDTSihUFqdgdcFZVFr8
 DvXVsQuAPOGP6VtjK1KTOhBX3pt6Nhd8UlT0HA54q0O/fqEcOKK/wBV8wdM5B+Zs
 MhmKJPJ8Huc85bWqgn02OZ4l96j2eRvLEHdOSFj1h9hs9wyC/rZ3f9rxwC3YJe4a
 TTXdLF2CwgqsKWuh9ioSt+Fpr9Vr4csjp2WSHXoJDuk9wlxpkYzcHNj7UbG9NaSm
 ZGZCarVWODAzjm9ebWxKcfkuebrMQ2wxPXqHD0aZ6CJpsBw+t8OnNd5F/PuA5Ncg
 +/nx9/NBlqpjI24GG2oQjlc4pV4KN1/EBpDwiJYT5z/Fa1kbJo4XiQCDxg3YIZGD
 FzdP/CF1Buul+ld5b10uHxMVH8FhyQrwYSmpzZUXdgszaFHS5pZwE3gsNVCbJJ/E
 7ERlbxlTs7VGyetJTJvSCe77oJB8fzcs6HVABWoX82C8GwP3N5ixqKgSMTvGJXLd
 0yZLtAiqgrlscTOUZsYa1daUkjt7agnBf/gzDYLa2bax3BmslTq07uiU3jGC9s0H
 xENm3Tai2zP+MULaFJPjoYuA4tvxTFfh6PNbitSufxs7phhyFfidiLWUt3jQUQjB
 kuC5r08gd+tKnLNg8kLrs9XJ28jJlceEnI0DQKxq+7pXUjaVL5g=
 =XlUX
 -----END PGP SIGNATURE-----

Merge tag 'v6.12-rockchip-drivers-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/drivers

One new pmu compatible for rk3576

* tag 'v6.12-rockchip-drivers-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  dt-bindings: arm: rockchip: Add rk3576 compatible string to pmu.yaml

Link: https://lore.kernel.org/r/3004026.A7TYtsqqnE@diego
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-11 08:56:51 +00:00
Arnd Bergmann
5f79d76727 pmic warpper:
- reduce size by constifying data structures
 - use devm_clk_bulk_det_all_enable
 
 mutex:
 - reduce size by changing variable bit size
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCAA1FiEEUdvKHhzqrUYPB/u8L21+TfbCqH4FAmbfFCQXHG1hdHRoaWFz
 LmJnZ0BnbWFpbC5jb20ACgkQL21+TfbCqH7fARAAnHCF02WuAonLe5rWfJyR9kJF
 azH489t/umLCvnBm9tNwlFocrFwSspqkvaZO/47VOQINKcyEzy7idl917NuCy1WS
 yCo26BKTmapW7zCv619vku13JKzX78DotUUMJdUARxyzGUqD1o+pSuArWIRU2BV5
 UxzkPAJljlgsVMgFgOUgv3e+qptDYFVE33qHfBGThfSbHcigChPLeVupa3oOxkXx
 oMFO1Tr79oBt82yR+dQgNIVfxOoviiOvS6+4WZD+a4Ud64GojmIN2iJN2Tu8I8C3
 IMO6v/RU6HQl8UXvLBHq2nCrnU15gxpAoSSoBZ4ptWGmUdSqyVxUVU8AkHz0SMmC
 uf6qeCnVQONaUcL5c+iWcZY0vlM5c8NgHzs+dXU329HZnFlAe+QwqC9cwBSO0qE0
 qk/w1GycASCe5aV2jzIq6MwTNd4xPf0wk9QqtIzFt9nfUEfl2Nv+i3Zun/xEcqC2
 IqcBUNPrmSq3j0hg8bI/y1Zk61QgGTxK4jHnFozltDA9aOtyFP6vNg8ab/3ooyBw
 Cj+iVNHf8pL6/ACRH9OcfodILyQcaTYmiWqBvmKwu5+MgHI6WRbXw7QBeixW4gAR
 ogIoieLcUqdJxMBaudkp4TNtyYvn0vvJjaS368xl/swM/A3hucjJdLhOO7dgA+Hl
 SCRKBvMaoNpIhM1kj38=
 =f/35
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbhWxcACgkQYKtH/8kJ
 UieLRA//fv0PpQxPbv4iD5AUrk6iqESIJH2whZPnRjmkSrkJ02nqu+9HYKqBpFdY
 sZL4pY+ujM48/hfwNG6GCZXYYZCBuoanLbS+pYXm6l7ufmk34ysIIvsx6EcdzHx3
 +ivsNnytBAWUzmUgkTgpbzHLfjCqoQ9X4kZc/kzA14hH6Ll6pqPwUOSYvtRBlDs9
 2r+f1HVj9uWciLoXjmd7vbtsSeBRzatbptk2KE+9hB9l1dK4iAZVHpT0WQGFRUg5
 0Md0o50hnS94LHMXVtPi7di/bXyVNWQxJcs+1mBTpnqGJIAWpqJkdjy95FHvtRaq
 8Em1tP2jp6c50FEa3Ijfram0uyVF+kvfYbcjSvwRKnTk+XJp1dGKnt9rD/ubNs0g
 FSwD/RbsowHtGSiTFdyzRtE1XMYBpC+DfrZUOwgL+QYubYNEN6t5SieNIwUaiGPG
 yHB67XHn51eREPK07NtTu2l6XwgzeY2SwOR1rsSx7IHWxG7WqJm4Xg8+sZW6muup
 8xqQADACAp5+jCi+PN9O+ZQ/Rzpmc92SdhjTsJF+cGVx6JwgsFkEaLDxYWi3Lkf0
 skGA9tQUc/Zq+FUzYRPm23RvFU8Czc1XDulpf+QHB5od0so4Z4ocPNdvPLCmnv+N
 YiTmrLpwXXxqONfr3vNl9yKm+mjnnbcz69IVPfgeksKtMPMrB0M=
 =qG9s
 -----END PGP SIGNATURE-----

Merge tag 'v6.11-next-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/drivers

pmic warpper:
- reduce size by constifying data structures
- use devm_clk_bulk_det_all_enable

mutex:
- reduce size by changing variable bit size

* tag 'v6.11-next-soc' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  soc: mediatek: mtk-mutex: Reduce type size for mtk_mutex_data members
  soc: mediatek: pwrap: Use devm_clk_bulk_get_all_enable()
  soc: mediatek: pwrap: Constify some struct int[]
  soc: mediatek: pwrap: Constify struct pmic_wrapper_type

Link: https://lore.kernel.org/r/bfa9ab87-9de8-41fc-bfd1-de5ec324cfe0@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-11 08:55:51 +00:00
Arnd Bergmann
540c830212
firmware: imx: remove duplicate scmi_imx_misc_ctrl_get()
These two functions have a stub definition when CONFIG_IMX_SCMI_MISC_EXT
is not set, which conflict with the global definition:

In file included from drivers/firmware/imx/sm-misc.c:6:
include/linux/firmware/imx/sm.h:30:1: error: expected identifier or '(' before '{' token
   30 | {
      | ^
drivers/firmware/imx/sm-misc.c:26:5: error: redefinition of 'scmi_imx_misc_ctrl_get'
   26 | int scmi_imx_misc_ctrl_get(u32 id, u32 *num, u32 *val)
      |     ^~~~~~~~~~~~~~~~~~~~~~
include/linux/firmware/imx/sm.h:24:19: note: previous definition of 'scmi_imx_misc_ctrl_get' with type 'int(u32,  u32 *, u32 *)' {aka 'int(unsigned int,  unsigned int *, unsigned int *)'}
   24 | static inline int scmi_imx_misc_ctrl_get(u32 id, u32 *num, u32 *val)
      |                   ^~~~~~~~~~~~~~~~~~~~~~

There is no real need for the #ifdef, and removing this avoids
the build failure.

Fixes: 0b4f8a68b2 ("firmware: imx: Add i.MX95 MISC driver")
Link: https://lore.kernel.org/r/20240909203023.1275232-1-arnd@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-11 08:55:35 +00:00
Arnd Bergmann
fc282a6643 Allwinner SoC driver changes for 6.12
- Simplify sunxi-rsb driver probe function using dev_err_probe()
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCgAsFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmbZ1xwOHHdlbnNAY3Np
 ZS5vcmcACgkQOJpUIZwPJDBiUhAA5vhax3EY//8dML3vLZ8rRIc+w8sKum2ED2BR
 wHDDdvf28THU1FpMMOHZmGbMtKncH+9mCh35bJCJCQ0SFoqPQya2YTiHqY2LIQkz
 wcxeY6uVwZ/rmZgn/tAknds9vmdgSaYkLk51vYatc16MH0YGEoAPuUdWDuXxaaNK
 O9o8LEiFob8XjV+vUQXQPaiFah09Nn3DI+xXZkp8ulqEeF3G/NbCT2KlTlaiXnRP
 mWkGJDyv3wAOKnBs6fC92yGci7W1NudEO6tJi2yXamJ6q0AD5OZ/rSbHMhkYcORK
 bf+8SF7ejPosMmV8o4bdMa0lMwuC07y8ZZHDytz0ED7uxRfhWmCkl8XJjEoNU94X
 hlJMWIdErzVtSHtEROIRT44SGRPhrC2a0/qklYhVABMtMxVUIbsoOMd5Ws+EnobH
 6Dojj+BwF31DaUpDdrNpms3WZ2m8BX8GThne059C0PJqoRIxlQHZMnfTgOBp4oMU
 eSFOjVNlT0T5kvVobS+fT6Ts36lr5p4R8ZupAmUT4Uc/SaC6PH1y/lf0naXdw+wI
 j2R5ZsYrUMjLxOV+/8izEcDVU8Kin00BZG+x+Im8VpSlhUw3vg8h8RxQ9qpLoexm
 nN/e1TnU1O9a3US8tANAEV61Ri1WFhFIS+KoaP9r12fGVOyURHHAqKIPoA3eOU78
 INNSjlM=
 =FTdM
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbaDG4ACgkQYKtH/8kJ
 Uicl+xAA1FWhS3L6ayUusj6H4AsfrNRW71EUuCAfZF23bI6EoAIhAfu6AVSSZ01T
 5roSkKaK1FT6hGvUujPNQHQ+bjsMdmlY5DHgkLQnwmWiufnnPx4jEC/G5ji4sjSA
 6sJ1z9eXczoPFtUsYw7/daOkJ66CByuTbC5O82QiCcjJDoUCApb1SM3nf0noWNf4
 rfaZioh4GAoHkO3LIxDRpFF09RtK4/XT9Cy+EGpFJeYZbZS4gi9b7F2Y4Rwg0lJm
 PD2QkatO1FQMrSX4O9lF04T9Jc5XOOtxNzS8Uk3lY4nD7wYSZ6U259eWmYMMDRXD
 s3tgpQKNJZsDK0YdgyQzmcoOLTV19HCU4Kg16RNsmelNY+8omt49a7bAC+zOqAeP
 nJ/RYn+LPlsXiJLhhLjmw3qVsmhzJix+F5RHg8oFr5fumkURg0wlU++IPLA4Fgue
 IjRn6B0dHu54vRYwS+5JEH9mSD8KgHmzDTrn3FFB2hN6+7TH+kjWl+xHhct/pF/9
 Q4TlMouKopG1uvIyu+OIhoiMujf8XCkV+FS81g1gMILNY1HtzlikzJI5clarx6oh
 u8/pJu0BE09glhmBXd5uD2RrQdFZaHD1wEGU800riNol+9CIjrfvI3wyiZwMuRY6
 qPqQjBJGFuhaaLrirtUyTW9gKvAzO3OZrAkBMfgSY5StJ1QbW3c=
 =RAlL
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-drivers-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/drivers

Allwinner SoC driver changes for 6.12

- Simplify sunxi-rsb driver probe function using dev_err_probe()

* tag 'sunxi-drivers-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  bus: sunxi-rsb: Simplify code with dev_err_probe()

Link: https://lore.kernel.org/r/ZtnYUswjHdLRYq8Y@wens.tw
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 19:54:22 +00:00
Dan Carpenter
2d516b8fc0 platform: cznic: turris-omnia-mcu: Fix error check in omnia_mcu_register_trng()
The gpiod_to_irq() function never returns zero.  It returns negative
error codes or a positive IRQ number.  Update the checking to check
for negatives.

Fixes: 41bb142a40 ("platform: cznic: turris-omnia-mcu: Add support for MCU provided TRNG")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 16:31:59 +00:00
Zhang Zekun
7ad250e13f bus: sunxi-rsb: Simplify code with dev_err_probe()
Use dev_err_probe() directly in the driver probe phase. This can
simplify the code a bit.

Signed-off-by: Zhang Zekun <zhangzekun11@huawei.com>
Link: https://lore.kernel.org/r/20240905114134.80310-1-zhangzekun11@huawei.com
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
2024-09-05 23:20:47 +08:00
Arnd Bergmann
249d30b515 Amlogic drivers changes for v6.12:
- Support new Amlogic SoCs in meson-gx-ao-secure & meson-gx-socinfo
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPVPGJshWBf4d9CyLd9zb2sjISdEFAmbZpzYACgkQd9zb2sjI
 SdEKrA//dmv5QdrxkmLHtuHtbUhq3f6FNcgi0NtsgSZq5q0DQFpBu7c8mj8DmSyz
 AfYxpchv8gKY/3aYn0bXjEpPLSPD/CNwi0iehG3MnHiQBSJh9Ab/9fk6u/GODewG
 mYLKZRcHpWVqtrqlsUrWPGaBZpUdYuLbDJGIzitnAvKJicqMVAk/zBRL7Zdpad5W
 zhhOw3uOah1l1ErysueOy2XS4XZeZJN7etFyjz/mPMYi80fjbtyheAUvzAMX9Nk8
 SBZwuh+KdoKvpPcogGCNhR5RqmUPqk9qfVyyBIniYjNdL6WGTJcEBPk8SFt6zHE6
 br9Eqr37BRMVZVcoDhY5Y3S9ZppGVEPgPPg3XR0HmRISNfj8A6qzw3cuoeO/qy+k
 nP4vJ7fp7oxCA4JLEfw+f8OaLteuG1E5PjTJbk55TL4VSSVKD8ciDKpl7moyAWKv
 0CRHxNzUB/CYHJjpwXdg+JzXH6u5CAEvD4ZFFnRaeMvm0S/TZ8rZFHN38PIwtlRj
 bqs2youXEYRY5Tibg7JYdSNk6R78FUWNtIpPmPB08/4k+Xw1vvwFgOpF3f3l9vCZ
 X15m4HB2AQjeGz3xoJW7CE51OJnJSsuH5bakUPPD/+hHwamuY8ti143ffr2Hr2or
 jeX9tb6dZWwzK2xAvElOd1JVKzBEUEmefZ+j3rSPAhN23q0pXIk=
 =5Dbf
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZwpcACgkQYKtH/8kJ
 UifkHhAAzGUlmsTEAYmYDf+xdfcZ6OFMl3jtX7XXAG3R6HV7Ney3aF97OhB5kRz2
 G8NW9Fg7wIVPd/LlJY1try2LZJdRvJvUgt7E6oaFHArmBXwaFHOUeh23NYLCa3as
 g8gAyPyj8ZDoQoLyfesc83JdI5MocJdmlw6w8KmY6fLv6dJ2nM0Jts4P8a7MT+UQ
 qa9KyiwHIs1oWSX6Uw9fZg7XXFU5n6d2OzIquJPtHfKJ1SmIedN7i1bmOHyc3sRi
 uzp6nK4sCQfaBcs7jm33njtsYQaWsdJZhg5zpdZmXxoFbUlkwfkOQhLpp3WuOYqU
 f3PDC14U/q4PYybGcKJtTdBt+OVtedqZsKJNCdd1+N9O1kD+KqzbY9b/vWoHol3n
 eaQVb/EI2eA3HIMoWgkf5GQIFlUKeST2rxu7MEH8VIe7//Q7Ag3Bp4abSRtcX9XV
 hJDcdVmAcvVcYzsuEFd4LCj4NzpG5B3Q8iZk6JIRMpDFB7a+Xg54IPAM+rKVj5pv
 LfjG6dGob0KEfGtyrtJE3g7tPmnWblhTvU4MxQgCxGd5bP5nz9hl1yx1Wq1sQ3Bs
 LggYO+NuZcp0fBMJfK03Xsm1nNFUn8xatw09uIcQFXiksb25UOJIuwZkwR3insE5
 9N6nu8N5OctucqdG/n8jgtdUuJbERpjRdmd+udsZAGGndWfM6zg=
 =7dty
 -----END PGP SIGNATURE-----

Merge tag 'amlogic-drivers-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/drivers

Amlogic drivers changes for v6.12:
- Support new Amlogic SoCs in meson-gx-ao-secure & meson-gx-socinfo

* tag 'amlogic-drivers-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  soc: amlogic: meson-gx-socinfo: add new SoCs id
  dt-bindings: arm: amlogic: meson-gx-ao-secure: support more SoCs

Link: https://lore.kernel.org/r/577ad7fe-19b1-468a-b994-573855493fd7@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 14:39:18 +00:00
Arnd Bergmann
6d67480404 Qualcomm driver updates for v6.12
Support is added for making SCM driver configure the system either for a
 full or minimal ramdump following a system crash. The ramdump mode is
 changed from being enable-only to enable/disable as requested.
 
 The QSEECOM uefisecapp interface is allow-listed on Surface Laptop 7 and
 Lenovo Thinkpad T14s, providing EFI variable access.
 
 The change to match the SMD RPM driver based on the SMD channel name is
 reverted, in favor of stepping back to OF-based matching, as a means to
 get module autoloading to work properly.
 
 AOSS, APR, ICE, OCMEM, PBS and SMP2P drivers has error handling cleaned
 up using scoped resources.
 
 Trace events are added to the BWMON and SMP2P drivers, for better
 insights into their operations.
 
 The X1E LLCC configuration data is updated based on recommended values.
 
 A number of platforms are added to the in-kernel PD-mapper.
 
 SocInfo driver is extended with IDs from SM7325, QCS8275 and QCS8300
 families.
 -----BEGIN PGP SIGNATURE-----
 
 iQJJBAABCAAzFiEEBd4DzF816k8JZtUlCx85Pw2ZrcUFAmbYs3AVHGFuZGVyc3Nv
 bkBrZXJuZWwub3JnAAoJEAsfOT8Nma3FjywP/1IDWiKrOrIBYc6ndmssYrQLzlRw
 SSt/Q0YjPKogxl4qwTjTQUmBI/1I+vOa7kf9i0/BNpuslnhJYW51r9bZrcI0n3PW
 P1Pm7J32WGOIauFU9XoGmqzdlPBCVZKcfeCV3n9xTvF0pAipQqz46+O5mVg77jVU
 L5MaVIr4guk/glBJTym97KOlkSSbBsSmheistxiBJUIkUlZqX3YwBQE0Cih1VYOn
 DcQy29EjTpxhbLqI5BqFN3iJqGaV3RS32hL9hM8nYlXth0u8ZBy/H9AEViEK8M1K
 YakDoRkGyihj0M7oFV405yJdSskEbTBlxAfX7LH7x37XocRpsFf+u/Ti8VWxLMnt
 VUciuWA8bg6LnhMK1tQKEGM+3Wp2NZDJStKtV+OnYkvWbKN9QwS4DyiWdPvJGsgJ
 j4qq4B3nF3JU8Pu8Ih59LtPPFTa9/jMkOkqmF7smNehji8gjzHmkAhw6fWPCE5+h
 p8EC/XrYvXCwkBwPWE5vopip8CIpl3bMPb5bbHYGb4NuY59ztht40EExYxnhQzoN
 3ezg+J2jIEaG/HQiBcxt0NrjyLRzkWJVryRxigg1co8Alcmxh7B1UNshiWRI70MA
 P3Emjh8Snixnp7ZD5O5hyiJ4yahomsfuCoDjVL6Vk4AYjon4ZjZ8pgcGBLgB1gry
 Zvkj5b5vc+8VNHnd
 =hZ0b
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZvJUACgkQYKtH/8kJ
 Uice9w//SXO0VlWitafyNuWwwqZfWZY953j2sjAjPWC2OWLGgjTQPL2sDKaOnvWG
 FRl8dZmYRcaEb7C7NeWvs1QrUztvxKDXOCDKlmt82EotyBlH1vLFWJK5KJ3oO0sD
 0kQLWDr/KS/QIooXT/PcoFJ0mkpMqYKWV+XLLi+NDQsScMZsGyhZiDdv+qwX3qBw
 9lt/srB1VfgW8gBrOGAxmS/WDQ4wup7/KPNpaUTIdPR8JMNFgoMCVY03LkB+FCcM
 4s/MeecFzHavshFnZqcWzppf1FNX70lcaWEcbbNopM/bekZICFjGWZGoi+tK/8fZ
 WFj3OWZwDGYtxkYjT9M/zvxEJK2xDLosIOICV1dm+OcUN6LAXwknHBuCGMMNDQI1
 jOQjZBXn3A+aT/Amy5GpKV0ci4K/tTI6AfBGdlZJq9jsQOMfP8Cygsv6leRp3dpJ
 06v2ifSWUTv8+ucwYn/Oz0rZDZAe8ucswybzQo0lyor4Qg8lTZJFIU6iNoT/ZCCZ
 wlNg7t1OfkGGr08SuiAhV6+c5/CK2WivxCfKfZjw8+iMLJXyjE57fnf2HaU9Yfwp
 iJrV1euITVkLjmyMCg2YJSyWVl8O43T+LBcqreZel2iDJOBgY84zfk5hB/2sLLXj
 bo3H9QHD7IlQ3yOafT8zuxtanw3cJfBId34afsYD8h9khVz8OmI=
 =6GV4
 -----END PGP SIGNATURE-----

Merge tag 'qcom-drivers-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

Qualcomm driver updates for v6.12

Support is added for making SCM driver configure the system either for a
full or minimal ramdump following a system crash. The ramdump mode is
changed from being enable-only to enable/disable as requested.

The QSEECOM uefisecapp interface is allow-listed on Surface Laptop 7 and
Lenovo Thinkpad T14s, providing EFI variable access.

The change to match the SMD RPM driver based on the SMD channel name is
reverted, in favor of stepping back to OF-based matching, as a means to
get module autoloading to work properly.

AOSS, APR, ICE, OCMEM, PBS and SMP2P drivers has error handling cleaned
up using scoped resources.

Trace events are added to the BWMON and SMP2P drivers, for better
insights into their operations.

The X1E LLCC configuration data is updated based on recommended values.

A number of platforms are added to the in-kernel PD-mapper.

SocInfo driver is extended with IDs from SM7325, QCS8275 and QCS8300
families.

* tag 'qcom-drivers-for-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (33 commits)
  firmware: qcom: scm: Allow QSEECOM on Surface Laptop 7 models
  dt-bindings: soc: qcom: qcom,pmic-glink: Document SM7325 compatible
  soc: qcom: pd_mapper: Add SM7325 compatible
  soc: qcom: socinfo: Add Soc IDs for SM7325 family
  dt-bindings: arm: qcom,ids: Add IDs for SM7325 family
  soc: qcom: socinfo: add QCS8275/QCS8300 SoC ID
  dt-bindings: arm: qcom,ids: add SoC ID for QCS8275/QCS8300
  soc: qcom: smp2p: use scoped device node handling to simplify error paths
  soc: qcom: pbs: use scoped device node handling to simplify error paths
  soc: qcom: ocmem: use scoped device node handling to simplify error paths
  soc: qcom: ice: use scoped device node handling to simplify error paths
  soc: qcom: aoss: simplify with scoped for each OF child loop
  soc: qcom: apr: simplify with scoped for each OF child loop
  soc: qcom: smd-rpm: add qcom,smd-rpm compatible
  dt-bindings: soc: qcom: smd-rpm: add generic compatibles
  Revert "soc: qcom: smd-rpm: Match rpmsg channel instead of compatible"
  firmware: qcom: scm: Add multiple download mode support
  firmware: qcom: scm: Refactor code to support multiple dload mode
  soc: qcom: pd_mapper: Add more older platforms without domains
  soc: qcom: pd_mapper: Add X1E80100
  ...

Link: https://lore.kernel.org/r/20240904193042.15118-1-andersson@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 14:13:41 +00:00
Arnd Bergmann
3b42530638 Microchip AT91 SoC updates for v6.12
It contains:
 - support for the Microchip SAM9X7 SoC:
 -- power management
 -- SoC identification
 -- sysreg documentation updates
 -- necessary Kconfig updates
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCZtMiTwAKCRCejrg/N2X7
 /W78AP9+to1Ma9E6F97THV3DE1qUQltEY+G0Ms2ZJNXy61lX0AEAgUk7u7tIpxfL
 6aMRYhAWG/lUMAKFt3AWZSWLxhUzKAY=
 =vq3+
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZvHoACgkQYKtH/8kJ
 Uiemzw//Y2DRc8xF8cFX6ZudKwSFykIs6MghUwYsoGGUDikFzl/mgBTqQ3qOCb3N
 iS1I5EVEuI4IKgTk11PCU7tDXg6NHXbiFS7vMJhh0MtrZk+b6EO+GVJKbaLGi53P
 /OKOYe3ZZec37ZfHb8jRr1sZ380bcGHLLxfepQN8luP8b/+Nc7+fjWp7BKcg2H6g
 O4d86lt60jRFI4DMNNPJsWatalfMCAEficqzrOiv/tbZ324ab0IhbS92EWef+lAC
 0zq4jMffG5d4RVyHJSB45lij3JWxpaioNPYZBdv+h5U4c8CmfknFwcBqiwZa7mqT
 B75DO+QHa+Mofbu+tjOpmPeamIuf262d5lHHDzSAqzxy5VCzoXdslbtQCd7qT1UQ
 Zf6t4PlCylSo/IJ3w2dxMARviDfF4ebujsQ1coXYEd+mXjrO9EvqVaBRRLvsefPg
 4Irsf0zaOU4rSCdrTWkKaNh6gJRHhZ1sP2OOdJ4F+Gd5/mcyGe9gNjWdFjGqFcjb
 /SnO9TOtoH+DZjibe9beJu1cjpO13TXgQ2RjcfeKtcXq4gdV3SVsl9oaOUqZFDtC
 VtKQHRWm9PYHWi2qfAsVzPbVoBECys7m7HVOadBGD5Ayo11Yv2+jduW8x4qVK/QH
 l9iqiLFRYdRnVhIsFfOrGxBTmG4bdG8BdGHxXlvkje15SDYh3Cs=
 =FOWc
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/drivers

Microchip AT91 SoC updates for v6.12

It contains:
- support for the Microchip SAM9X7 SoC:
-- power management
-- SoC identification
-- sysreg documentation updates
-- necessary Kconfig updates

* tag 'at91-soc-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: at91: Kconfig: add config flag for SAM9X7 SoC
  ARM: at91: add support in SoC driver for new sam9x7
  ARM: at91: pm: add sam9x7 SoC init config
  ARM: at91: pm: add support for sam9x7 SoC family
  dt-bindings: atmel-sysreg: add sam9x7

Link: https://lore.kernel.org/r/20240901133110.2038675-3-claudiu.beznea@tuxon.dev
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 14:13:14 +00:00
Herve Codina
dc2b17fbd5
soc: fsl: qe: ucc: Export ucc_mux_set_grant_tsa_bkpt
When TSA is compiled as module the following error is reported:
  "ucc_mux_set_grant_tsa_bkpt" [drivers/soc/fsl/qe/tsa.ko] undefined!

Indeed, the ucc_mux_set_grant_tsa_bkpt symbol is not exported.

Simply export ucc_mux_set_grant_tsa_bkpt.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202409051409.fszn8rEo-lkp@intel.com/
Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Acked-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 14:12:15 +00:00
Arnd Bergmann
be5ea8f3e3 ARM: OMAP2+: misc driver updates for v6.12
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAmbY9nMACgkQWTcYmtP7
 xmV87RAAmvj2+vIABiN4jvKXIPSjPO0OkqrOsCSlKS0+ZMtZSqZihA2RXAtn3609
 PIKDv1iunMDi3PJ6ehxLR2x3XgfwBoW53A0VN+3B0NvLi3OLzJ6pIu3zfdz1rlsY
 zvwm2kB4HDNVTnLHqD9Pc8yT4ynV8WdoLJwhG/PJniNIFg9zznpN+4POBKzZs2El
 3OXVJxPnVKk1MqSWHh51Xd09J6ccRS77R4uX8LGxmIefIq/ZvHllC5G2vgl+Qk7F
 4hz9r7/IgK+Cn75BxqK1/UM487i3Twbjgov+RwX5AuSdrTK0wuqb1B+pj63GMsOP
 Q32cDwXm/yIlduBuTxfm7BHkO2y4tL/DmuS8Cvk77X5QnUHuR9pB8xL7z7eXpVdq
 3yai9vlcfWaT5Oyuslbxr7f4QOhKLuWt0E75FIJweRhZJN7fyHMIQyVDHRa7hI/3
 NMI91jgXC2Oy+j0GAPViOMiHD+6JI667lPWyn1xWVKsjM7uw7pu7QhYugc7vHvaY
 D/HyZP/WvW1z7fZBP4pleIw3Ds2XaYSgJEmYP9OYhBRHjY/p55sSvYIeYaThNGJ/
 /wpu/tFLluRK1GZtr7qZ4nl2Lw9u/VLumhvjAzDCFmHb0uWMTYPqNNcREtcSzfAo
 RiJcCRftoTnCDezzAajan2+3yMF2+2wHurGD8z+FGlkxYmSJuyk=
 =41Q6
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZvBoACgkQYKtH/8kJ
 UieDvRAAqweRsOocf8ZZfXYX/bVadR/HnDG/CRAOVDOTqA12+G0k/4DEWo9KK0y+
 7w+wQtfeZ1mR67bGnwvNkJFuIY6teIhI6ms6jp77qS0aw6x9MwI4dDVU5V3d5Ipg
 z7d7YintxRg21FRaRy3aSUUs4K2RL7KjVdFUdoTEMkf/eDJDJeT59O5iHlXgm+Je
 DiVlIlVFYKp0SWmI3yswj7mbiGa8CdSDLJs8vpsay/ldsTPgGOZ7nwoe0LuA7x8G
 qtYK4Uj8c5En/PFv0QH5V0eICejg4nNNpr5BylYcJcO5YseEj/r+lAaojvZDr9tw
 2T4+wOqgCEe6ALoKaWfKfPANBvMAC17otRccbQTgZbFRHpPcSSYKt2kNMebQxLPJ
 xhmz7eQp22PZF/ludIGohJwvvu0wsO0v+QT2B9Al8nDkdNDOvGtPYfuixplnbnAQ
 T8A327jmTsDLLusULIVxT2vZADOWOMdo9g5kJrSqtKSphd8og5nf7mCR1hY5eGdS
 3PxzBAQwowMINDoga3WhAUr3loQ1Wl2wUyuFwdOVK/rpumGKyKzoYmCyCSXxBOwb
 2PsDXiECVZA9rTf6Pl65pv8uEPdaK7ZxRq5pqkRogaTKvYshdTMbcMneYC5JvGCC
 a9Xo2GITdi/ORHQ0DdOetlD4e4FGlbvf/KOf4i0YW/uX9LyttNs=
 =BgRh
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v6.12/drivers-signed' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into soc/drivers

ARM: OMAP2+: misc driver updates for v6.12

* tag 'omap-for-v6.12/drivers-signed' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap:
  ARM: OMAP2+: Remove obsoleted declaration for gpmc_onenand_init
  bus: ti-sysc: Remove excess struct member 'disable_on_idle' description
  bus: ti-sysc: Use of_property_present()

Link: https://lore.kernel.org/r/7hcyljarit.fsf@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 14:11:38 +00:00
Arnd Bergmann
742d980809 i.MX drivers changes for 6.12:
- A couple of imx-weim bus driver changes from Wu Bo to support compile
   test and use devm_clk_get_enabled() helper to clean up code a bit
 -----BEGIN PGP SIGNATURE-----
 
 iQFIBAABCgAyFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmbYQlAUHHNoYXduZ3Vv
 QGtlcm5lbC5vcmcACgkQUFdYWoewfM6C/gf/eWvecmB7fjdWujoUGmpehSdtxUrT
 hHAD9wVs9MoU1oUh50tUOlHPiQ1qPY1q8OvT/M0IUkRLgAeHjTvXJERpTS7DAMw5
 kOwt3yvVDgTR6ggruqrg8H89UEoN8qmxREOx+zBgt5Olwvy7yXsAwS1a01w9150R
 F+d+5oJlRN+B/GJtf9Y5LVLNOOAWABiCe+ZA8szrILOEhb/NFMcz1DEsLu+aMX8P
 rkrahtwYtYm61w9ugstKvfZ++FPSFdoS1z5gwhjpPawwwPekLEdcRs/6pSBOUJvT
 1Yvy5mhafQR+lHZ1Cl7omMInULHfbzWjtahUzTkmiEkkDrxEopOKhj7R6Q==
 =UaVE
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZvBMACgkQYKtH/8kJ
 UidV+A/9FkgimpLTNcIqCCEAp1oi6q17HAexruJNZ9Ty9LUYbBZqJEWHKXTdzpqO
 xFZVaQFc2QuV8SQJ2a2A/TKGdBAtJkcO2MhizClJdkgYriWJ9iyk+5G1j9JDHSc+
 yJyCYvtvoS9feNIgPPO+LsCUV/KJujPVP/5NroIdaPqvrIKCSfsbFBUX08gXfZSe
 rpiO5PqGLwHcceBDfMilfIQzFePZpOqJZIjYbsLRl9Gj5adZh26B+B0Tw2hxynj/
 hIMAz8fKST/1zww/IjIGjcB86dK+fbTTtXjZjRT7AxI17Jhq9/r9iZD/qCu64KNA
 NE1G+n1Yi9OuOS2aAGAowgalHzZ08gXGsse56fGxTL7vkN0wSxntcitBihg82LX0
 dZYvn8u5WW/qWMe/k4Cq4lw+DeHHhSl2S99SdZDDT0C0zWZ1dP5Pnp0uj+KVOcto
 dLvPiz0jixAcOqpcw4qt3VBZTf0LLLBM94ZDL2SGnbMLTu3+6HXKkw74m9SJ7T9q
 iYSjEZIdQZRezp8oSPp2V/sfWtqQcj2udfcMqrnNZjUGGoPU+8hqJVbtmU31vgGf
 hz/Gok7aytH6w10CdNAUXbeSVcgKHSoRTlorA0LeY75LzptPORZuCrjEX+qpcjuo
 bShyvqxApJUXm61JJPsWGs0evFeZEtY8aMwq79CBmv0idIiyb2c=
 =+bbh
 -----END PGP SIGNATURE-----

Merge tag 'imx-drivers-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/drivers

i.MX drivers changes for 6.12:

- A couple of imx-weim bus driver changes from Wu Bo to support compile
  test and use devm_clk_get_enabled() helper to clean up code a bit

* tag 'imx-drivers-6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  bus: imx-weim: change to use devm_clk_get_enabled() helper
  bus: imx-weim: support compile test

Link: https://lore.kernel.org/r/20240904143439.211552-1-shawnguo2@yeah.net
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 14:11:31 +00:00
Arnd Bergmann
311ef8837f Reset controller updates for v6.12
Use get_device()/put_device() to keep reset controller devices alive
 while their reset controls are acquired.
 Enable support for the Amlogic T7 SoC reset controller.
 Remove unused EyeQ reset bindings and add a reset controller driver
 to be instantiated as auxiliary device by the EyeQ clock driver.
 Fix OF node leaks in the k210 and berlin probe() error paths.
 Add some simplifications and cleanup in the core, lcp18xx driver, and
 uniphier bindings.
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCZtg4SBcccC56YWJlbEBw
 ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwI3XAP4voAnbJS7rvnqv9zr/V0sXM2ml
 UORkWFiRVDVCavLxUwEAy/zDc3ZtcPSx64PE0o6t1Ol8+i2nqivqWUR3dj9WUg4=
 =qXYX
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZvA0ACgkQYKtH/8kJ
 UifHRA/8D7dtCmEKxOdxAIlrntPr2J3kXLA8YsOEH8aWvtJa6UU5yLdKnLOAqZ/u
 wiE41oJvcKE7CUphJqGqeOnjHp6j5Vnlb8aRGtwxomBLndxymMiIfYUI7Xe6vuHK
 qod6b7/dizqoOhzfa5gkLptRf36tMc4UgXuAS8gOhMe/O7BjBAg2UBSijggSZLOC
 g36jJ4eqknp/Vuy+o4B3yYhGm4RpoSbetTiqBulkO41PW0xE+p3h/YcHOYl9CJ6X
 3waabEe1/YxHqD+KSDyYQspuwrZdVOctS+DOuUoJsWOls/+n93EftRlzm4GT+5Y4
 Ik00sGzC6+p/8V+ecw/4e9kRbTjzAXOaVPTQoc5gIrweaOhUHCovukUQ+b5vcRRs
 s8nYfoq4GWzYg59PteCnss4iflbFxuwhKBqrg/ByQ7T8s/EbbwEjKZ3JqVup4Hv8
 4go8EVqad60ILwHkmPub8FsnjiyOfkgJfWhS2TxgxRAC5OLqLVQF0asp+gGaKCRJ
 xv+Gf8JjDTw09YMW+aWRNsW+7Tg4e27S3KUw18LshFKlBv9+oRsOeAKRKf2z62Nz
 0MO1peFHW2tdMhcX6AnGeD9jZUQxHn6DpZvpsAJynvDt/lEAaE49HX+cZPDqBezz
 lXQR/g6uC7mY1gWelOGqOYIpBLU2ao+MJ58h0PMpH/+nGclUF5s=
 =NcTE
 -----END PGP SIGNATURE-----

Merge tag 'reset-for-v6.12' of git://git.pengutronix.de/pza/linux into soc/drivers

Reset controller updates for v6.12

Use get_device()/put_device() to keep reset controller devices alive
while their reset controls are acquired.
Enable support for the Amlogic T7 SoC reset controller.
Remove unused EyeQ reset bindings and add a reset controller driver
to be instantiated as auxiliary device by the EyeQ clock driver.
Fix OF node leaks in the k210 and berlin probe() error paths.
Add some simplifications and cleanup in the core, lcp18xx driver, and
uniphier bindings.

* tag 'reset-for-v6.12' of git://git.pengutronix.de/pza/linux:
  reset: eyeq: add platform driver
  Revert "dt-bindings: reset: mobileye,eyeq5-reset: add bindings"
  reset: reset-meson: Add support for Amlogic T7 SoC reset controller
  dt-bindings: reset: Add Amlogic T7 reset controller
  reset: core: add get_device()/put_device on rcdev
  reset: lpc18xx: simplify with devm_clk_get_enabled()
  reset: lpc18xx: simplify with dev_err_probe()
  reset: simplify locking with guard()
  reset: k210: fix OF node leak in probe() error path
  reset: berlin: fix OF node leak in probe() error path
  dt-bindings: reset: socionext,uniphier-glue-reset: add top-level constraints

Link: https://lore.kernel.org/r/20240904103921.1479579-1-p.zabel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 14:11:25 +00:00
Arnd Bergmann
639d5f6dee Integrator fixes for the v6.12 kernel cycle, some of_node_put():s
were missing in the SoC drivers.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmbW7PIACgkQQRCzN7AZ
 XXPZ9BAAjAABqgrENcKSTdxVeVbYywTE4Ar2ec7CONriOi7jb4dDvYdBQlcGhPPa
 1Katu4EiE5iU70dp2QoFRXO1Xn9kEMQ1QeIlwwoAAQ/QPVnr6S+nYjkZVeRm7H00
 vtwbp7F32u90z4V97YxzfiAkJmOsBdEyiOl2sSRuWZF6qMwlU1MOh8lh1P0caz2t
 mNCEgdrlCpZu9EvV9nqe+w0xqVs3E4+3fTSQhBk7TzZD0YpsQHQTq5KajPBkYqp7
 Pj1uedPonUfZPhtWAwKEBcHuRpZiEiRGUJe4biBZ8BIcjtUxKPtAPAwu54aZ6aDN
 FY6rQWd3OWA8qIqHELDgoLSWTocwwgoq4AdWwk70nFwqJRr7qKMeDAiwpplgGavE
 v3uUVJbMoi88l7R7vufsbRnUiNPB54V2zEnYlODT6p5HshoImAQdCVOG/w1OBPuN
 JuazK5pVJT6GIPvpuYJ6W7bezgyiManCLC3AWvCRWZ0bytIJXhtKFIf4fD0QXbqp
 jL1HxefBFLEBuvb8F9YBcYTmoq8Y/P/uTeaFberiadAkl+6xshsMtQ5Q7hK5YObx
 lvYgZ0cnbAArAevvh5tJE7oi5f4tixXA00FrMClutSj2RZpIlL26FusFVj9ot2sk
 ZlhoTt4SeShO3yfCkeRl5P7kgbrsxaOkKO8OjRs/OXHS/tQcTK4=
 =vbJH
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbZvAIACgkQYKtH/8kJ
 Uif/bg/9ES2ggYaEPchPe9SD5O/lcS66vvb6QLwMYGoyC8jHy9aJNT8PAldl/VKv
 7yaQMID3AcDiZ7xnfn1QRbagYYklBxyPiwvMtRuHVhbJx/FyO9AKz1tUar9ALuoi
 XlFlWMIOWV44L4DtSFOVnyj/h5jOd+xZWBpq1+ZXsh412IdOSZY1diep87bdtGII
 UF0Cgc7oLrdNfqKLhJ+VX7+f0AnuRdYbA5rkAZY+gPb+ylOnlVjnO7puLOtPvjNP
 qRlePElYL4cGjorYqfpmRPVoNCbghyT850OBQbsp2udTF3rHBgAbtmr4GdWtOdBw
 uACH/4VxMyvmYDSJHvIw0Dn496grRyzY22981Cf6/VlFzSTF23+9yvpfSFucuPU3
 07NbdDKKmwYOD4dwgqOmNBcX+CDyR92o/JZ9wTrIXzJWVzoIVKjjm+YLRlugkzRE
 Om4xNnOeWSnUJRlbIEwRF+2QXW7SvSPBrKG7yKqPT7ulaid++Cr1mDRfF0Xr6fMs
 RL7KU89OzDNojlaOaENaEN6zb8mgbFEHWcNly69tUBZsdQ2f4w/nYFYVhnW7hCRt
 rfJsFt1fbfywR9WZWr9U1nl6nl1ZDKMSRwMImA4TI2x8Ahc2WkMuc7aDHXGnzncY
 H7K02wfx/PmzOgzCtlDlZZGli0YQzhKLuXfKqn4yd85fBQZKpus=
 =OdBY
 -----END PGP SIGNATURE-----

Merge tag 'integrator-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/drivers

Integrator fixes for the v6.12 kernel cycle, some of_node_put():s
were missing in the SoC drivers.

* tag 'integrator-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  bus: integrator-lm: fix OF node leak in probe()
  ARM: versatile: fix OF node leak in CPUs prepare

Link: https://lore.kernel.org/r/CACRpkdahXECZXWA5uv=SZtkzU0E++fQj7QWK8kYuH0-asLUPqg@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-05 14:11:14 +00:00
Arnd Bergmann
b1cd063981 TI SoC driver updates for v6.12
- pm33xx/knav_qmss_queue/pruss: Cleanups around device_node scope based cleanups
 - knav: Additional fixes around of property
 - k3-ringacc: Optimizations for data structure
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmbXKZQACgkQ3bWEnRc2
 JJ1zjg//eKhFYh7lXHPUgq0HdmnT4nsmsGk3VI9zAiyz/vEeMX5L1WfmolrQSjsM
 Tnak6/6Chg6nA8IlO26VcthKBY1C3CmExkAX28kgHYPfIm43LeQ3sYmoE9PmmufH
 dAErNTeFmuVXk+cWx560GK0XwbIS3Jtv+9I1DLsPUq8u8oCu0LrARY0fzrxx5n6h
 v9IvEiLwkARGRLdhyNOENZZ50onefHiB0N6t/SPwIfHAjATItvDbwRJJ8K3zYlqz
 x9FrraYuRfKj9QAyLQq6WQoPgHanolwQhHwnEouaosjy4kA1v/koyoN/ZRrCKb0j
 QehD9fRZr0aFzsxXetnhUGpRMb56Va3AiQ5Ghy9Je86JrYij4hjF/1O326to6rUs
 shoxM8LY7Vla6VvCCEGARy2qaJS3maV/u41LDvKKX3PkIxA6GZu+wfd9VGgM3jt9
 1jU2AiYHkw/BgaZIh9N9t3S9VqbpR8ry9a+UIPY6dLwIhXPjK8yKkarhcbY+hfV7
 ci3j5idoGGlIyegczgxjCEt2aAWAzTnjreftFgpmPLblufGUtjim0UQULPSjfKc/
 C/CuRJhQqQsrx6Skge8/NkpD8tsvl0agGjmtyNtM6j3uj3SeQZeBp2UYE3XpsI+i
 ZqGxZOkOyI4vbYnZhMY1OXGE3fZvONwk5bQ0kQkEC4pEOIBbnec=
 =nmZf
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbYLLcACgkQYKtH/8kJ
 UifbDQ/+KZjsDFQTvErtJ5s9NA0/6/AkdkGAUymccd9BqVQ1yBU+c0ti/RahTgOK
 neKYg0iomagQOW4+ufXyLQkEXTvJwKCGlbr4S4kRKiI+RGd5B86/JU19zKgLvNLd
 ZFZX9jYi0vqWR4o9qjDiMK5azdauXXJecXKuONtI8tHeX0qKNbXREzQxNkllUhDg
 6OWGKs6ZQGT21OazXHmwsdFnHBbTzGiyqitIHXW/Uk6OQVHSWIMKd7HuwMXtXfqd
 p4OEdBBGcIEytfd+UNcOj+YGxFLx2GZEejaWSZLBYw7/qAbI/ilIsSxSejfHM/kh
 fxE2a13CcHlMNNJo57MBRwae/AqSj18il48Xi01dWDuVyqAlE1rOCQFX3Klp5vuV
 2aojFIpgbx5yCNTaw678u4nLxiDcJ7diZcPwPtkw5KGV2ERX+Zd/vFPZyEFJzVrC
 4huM1OzEv0QqDZ/8XUpS2dQ7BbnEZePdevSjgNwY3cdzgGLZoRQTspEhdutG6ENA
 vKzmKgpgtsy+qIMUQmrNCglf7v0XJ49BG6NL+l8D5W8hbSzRi19xZ6Qo0u7BDixi
 +chdNVJuVd+OUr+wLGaXwaZr5nZT/JpPuIw4h0RuaFM8ot/Kx18y/O2O3dPqFg3m
 veVt49giWFRyZBb5Q4aJQ2CaitSwVWiVhnsHZr3yAR4Yd9NZwCA=
 =5Idy
 -----END PGP SIGNATURE-----

Merge tag 'ti-driver-soc-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v6.12

- pm33xx/knav_qmss_queue/pruss: Cleanups around device_node scope based cleanups
- knav: Additional fixes around of property
- k3-ringacc: Optimizations for data structure

* tag 'ti-driver-soc-for-v6.12' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: pm33xx: do device_node auto cleanup
  soc: ti: knav_qmss_queue: do device_node auto cleanup
  soc: ti: pruss: do device_node auto cleanup
  soc: ti: pruss: factor out memories setup
  soc: ti: knav: Use of_property_read_variable_u32_array()
  soc: ti: knav: Drop unnecessary check for property presence
  soc: ti: k3-ringacc: Constify struct k3_ring_ops

Link: https://lore.kernel.org/r/20240903155632.525twuumykwnfkiz@subtitle
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-04 09:47:35 +00:00
Christophe Leroy
d205c06a32 soc: fsl: cpm1: qmc: Fix dependency on fsl_soc.h
QMC driver requires fsl_soc.h to use function get_immrbase().
This header is provided by powerpc architecture and the functions
it declares are defined only when FSL_SOC is selected.

Today the dependency is the following:

	depends on CPM1 || QUICC_ENGINE || \
		   (FSL_SOC && (CPM || QUICC_ENGINE) && COMPILE_TEST)

This dependency tentatively ensure that FSL_SOC is there when doing a
COMPILE_TEST.

CPM1 is only selected by PPC_8xx and cannot be selected manually.
CPM1 selects FSL_SOC

QUICC_ENGINE on the other hand can be selected by ARM or ARM64 which
doesn't select FSL_SOC. QUICC_ENGINE can also be selected with just
COMPILE_TEST.

It is therefore possible to end up with CPM_QMC selected
without FSL_SOC.

So fix it by making it depend on FSL_SOC at all time.

The rest of the above dependency is the same as the one for CPM_TSA on
which CPM_QMC also depends, so it can go away, leaving only a simple
dependency on FSL_SOC.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Closes: https://lore.kernel.org/lkml/20240904104859.020fe3a9@canb.auug.org.au/
Fixes: 8655b76b70 ("soc: fsl: cpm1: qmc: Handle QUICC Engine (QE) soft-qmc firmware")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Acked-by: Herve Codina <herve.codina@bootlin.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-04 09:30:53 +00:00
Detlev Casanova
59420d8ad7 dt-bindings: arm: rockchip: Add rk3576 compatible string to pmu.yaml
Add the compatible for the pmu mfd on rk3576.

Signed-off-by: Detlev Casanova <detlev.casanova@collabora.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240903152308.13565-3-detlev.casanova@collabora.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2024-09-04 00:00:01 +02:00
Arnd Bergmann
a0e199ecf9 - A series from Hervé Codina that bring support for the newer version
of QMC (QUICC Multi-channel Controller) and TSA (Time Slots Assigner)
 found on MPC 83xx micro-controllers.
 
 - Misc changes for qbman freescale drivers for removing a redundant
 warning and using iommu_paging_domain_alloc()
 -----BEGIN PGP SIGNATURE-----
 
 iJIEABYKADoWIQQQ/+b4s5DeF6zCYyNoqS/rAbjdeAUCZtapTxwcY2hyaXN0b3Bo
 ZS5sZXJveUBjc2dyb3VwLmV1AAoJEGipL+sBuN14I48A/03qjl8XZiNs8OEqjEt3
 ubo2NcFBXO20FadLfJfhgPqWAQC3xKuhLGXf0rn8yHtTol8fmYKbt8H58/D6nAPF
 T1qiBw==
 =rYkp
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmbWtFAACgkQYKtH/8kJ
 UiffHw/5AR9xaPWmwSbBa7CSFwRJL1OwNrSjhxAq4+J63FxUaQhAmW9ED8pdPJSw
 BP3n3ma3WvDWDzzN5LN0P8PmjWceDQ5K3rUPjqz2TmT7V6CnzlVzfb9fInhcCCAv
 84ThxgZ9LQVC1vpV/4Po9iV2dnYG+4T8CSUSY6ASl5UcWkTfuGRqHTJTdIe3E6+q
 lG+LhVX2Hl7O4QOmkkjBIpAy0FcxPNoRznmiekFhWEKFX6AOr+utGCjsCWPksEf1
 ScPQwSVKnZ7o9bQhacn9T0E+CA6pVH9VWuS3OUdiBmGYGM9imrj+l+ym8JVHzFdr
 OLfY1ZcqEWrARfvK9G7QvWoEeOyyL9xH9vKHh/YxQUdrv39bi8Z64Trh1EIIOhnY
 ToJtqNsijzLPVyCndLn9fm+qqU6XKUJ+Ms2kj3kHpoMcwTx16qidGJsQu0CZw+R3
 uw89bz0H0xKpvn3sv50zHiMgBuN78G2hKo9JI/IHgpI/X7xAFrBvrZLdAJ13bvu8
 644X8H04/fWx1o2NCh/ECpJeBBVxD2b6s8Y2j7PKcGiiy3SBUHfeayB+ipHMT7lK
 q9Ei4P1nUBWMSRULhs8Dr5oJiZKRBoUqnF2rjWz3XkK5UusmrxagPeykv8DlqC+R
 EVW6g6xBCjE3qIgkcnA4OBZtxcj0/xXAf/Se2nomsz1P1vziVec=
 =7DGO
 -----END PGP SIGNATURE-----

Merge tag 'soc_fsl-6.12-2' of https://github.com/chleroy/linux into soc/drivers

- A series from Hervé Codina that bring support for the newer version
of QMC (QUICC Multi-channel Controller) and TSA (Time Slots Assigner)
found on MPC 83xx micro-controllers.

- Misc changes for qbman freescale drivers for removing a redundant
warning and using iommu_paging_domain_alloc()

* tag 'soc_fsl-6.12-2' of https://github.com/chleroy/linux: (38 commits)
  soc: fsl: qbman: Remove redundant warnings
  soc: fsl: qbman: Use iommu_paging_domain_alloc()
  MAINTAINERS: Add QE files related to the Freescale QMC controller
  soc: fsl: cpm1: qmc: Handle QUICC Engine (QE) soft-qmc firmware
  soc: fsl: cpm1: qmc: Add support for QUICC Engine (QE) implementation
  soc: fsl: qe: Add missing PUSHSCHED command
  soc: fsl: qe: Add resource-managed muram allocators
  soc: fsl: cpm1: qmc: Introduce qmc_version
  soc: fsl: cpm1: qmc: Rename SCC_GSMRL_MODE_QMC
  soc: fsl: cpm1: qmc: Handle RPACK initialization
  soc: fsl: cpm1: qmc: Rename qmc_chan_command()
  soc: fsl: cpm1: qmc: Introduce qmc_{init,exit}_xcc() and their CPM1 version
  soc: fsl: cpm1: qmc: Introduce qmc_init_resource() and its CPM1 version
  soc: fsl: cpm1: qmc: Re-order probe() operations
  soc: fsl: cpm1: qmc: Introduce qmc_data structure
  dt-bindings: soc: fsl: cpm_qe: Add QUICC Engine (QE) QMC controller
  soc: fsl: cpm1: qmc: Add missing spinlock comment
  soc: fsl: cpm1: qmc: Fix 'transmiter' typo
  soc: fsl: cpm1: qmc: Remove unneeded parenthesis
  soc: fsl: cpm1: qmc: Fix blank line and spaces
  ...

Link: https://lore.kernel.org/r/326d9a7d-7674-4c28-aa40-dd2c190244dd@csgroup.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2024-09-03 07:01:36 +00:00
Christophe Leroy
7a99b1c0bc Merge branch 'support-for-quicc-engine-tsa-and-qmc'
Herve Codina says:

================
This series add support for the QUICC Engine (QE) version of TSA and QMC
components.

CPM1 version is already supported and, as the QE version of those
component are pretty similar to the CPM1 version, the series extend
the already existing drivers to support for the QE version.

The TSA and QMC components are tightly coupled and so the series
provides modifications on both components.
Of course, this series can be split if it is needed. Let me know.

The series is composed of:
- Patches 1 and 2: Fixes related to TRNSYNC in the QMC driver
- Patches 3..6: Fixes of checkpatch detected issues in the TSA driver
- Patch 7: The QE TSA device-tree binding
- Patches 8..13: TSA driver preparations for adding support for QE
- Patches 14 and 15: The support for QE in TSA + MAINTAINERS update
- Patch 16: A TSA API improvement needed for the QE QMC driver
- Patch 17: A clarification in the QE QMC driver
- Patches 18..22: Fixes of checkpatch detected issues in the QMC driver
- Patch 23: The QE QMC device-tree binding
- Patches 24..31: QMC driver preparations for adding support for QE
- Patches 32 and 33: Missing features additions in QE code
- Patches 34..36: The QMC support for QE in QMC + MAINTAINERS update

Compared to the previous iteration, this v2 series updates device-tree
bindings and fixes issues detected by kernel test robots.

Related to the QE QMC device-tree binding, I kept the unit address in
decimal and the 3 compatible strings.
================

Link: https://lore.kernel.org/r/20240808071132.149251-1-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Tested-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:51:34 +02:00
Xiaolei Wang
e266aa8b35 soc: fsl: qbman: Remove redundant warnings
This warning was added by commit 07f86917a4 ("soc/fsl/qbman: Use
shared-dma-pool for QMan private memory allocations") but
RESERVEDMEM_OF_DECLARE usage was removed by
commit 3e62273ac6 ("soc: fsl: qbman: Remove RESERVEDMEM_OF_DECLARE
usage") . For non-popwerpc platforms, such as ls1043, this warning
is redundant. ls1043 itself uses shared-dma-mem.

Fixes: 3e62273ac6 ("soc: fsl: qbman: Remove RESERVEDMEM_OF_DECLARE usage")
Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com>
Link: https://lore.kernel.org/r/20240802021651.3854295-1-xiaolei.wang@windriver.com
[chleroy: Added more details in commit message]
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:50:57 +02:00
Lu Baolu
77a1a51308 soc: fsl: qbman: Use iommu_paging_domain_alloc()
An iommu domain is allocated in portal_set_cpu() and is attached to
pcfg->dev in the same function.

Use iommu_paging_domain_alloc() to make it explicit.

Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20240610085555.88197-14-baolu.lu@linux.intel.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:50:57 +02:00
Herve Codina
3969d8d958 MAINTAINERS: Add QE files related to the Freescale QMC controller
The Freescale QMC controller driver supports both QE and CPM1.

Add the newly introduced QE files to the existing entry.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-37-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:21 +02:00
Herve Codina
8655b76b70 soc: fsl: cpm1: qmc: Handle QUICC Engine (QE) soft-qmc firmware
The QUICC Engine (QE) QMC can use a firmware to have the QMC working in
'soft-qmc' mode.

Handle this optional 'soft-qmc' firmware.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-36-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:21 +02:00
Herve Codina
eb680d5630 soc: fsl: cpm1: qmc: Add support for QUICC Engine (QE) implementation
Add support for the QMC (QUICC Multichannel Controller) available in
some PowerQUICC SoC that uses a QUICC Engine (QE) block such as MPC8321.

This QE QMC is similar to the CPM QMC except that it uses UCCs (Unified
Communication Controllers) instead of SCCs (Serial Communication
Controllers). Also, compared against the CPM QMC, this QE QMC does not
use a fixed area for the UCC/SCC parameters area but it uses a dynamic
area allocated and provided to the hardware at runtime.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-35-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:20 +02:00
Herve Codina
f68cd02d51 soc: fsl: qe: Add missing PUSHSCHED command
The PUSHSCHED command is missing in the QE header file.

This command is supported on MPC8321 and is used to modify the start
address for the task running on a given peripheral. It is needed for the
QMC in order to perform the re-initialization procedure and so, ensure
the correct UCC setup in that case.

Simply add the missing command in the commands list available in the QE
header file.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-34-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:20 +02:00
Herve Codina
c6f39c7c16 soc: fsl: qe: Add resource-managed muram allocators
Introduce devm_cpm_muram_alloc() and devm_cpm_muram_alloc_fixed(), the
resource-managed version of cpm_muram_alloc and cpm_muram_alloc_fixed().

These resource-managed versions simplify the user avoiding the need to
call cpm_muram_free(). Indeed, the allocated area returned by these
functions will be automatically freed on driver detach.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-33-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:20 +02:00
Herve Codina
b741b66f1c soc: fsl: cpm1: qmc: Introduce qmc_version
Current code handles the CPM1 version of QMC.

In order to prepare the support for the QUICC Engine (QE) version of
QMC, introduce qmc_version to identify versions. This will enable the
code to make the distinction between several QMC implementations.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-32-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:20 +02:00
Herve Codina
8f55d06b4c soc: fsl: cpm1: qmc: Rename SCC_GSMRL_MODE_QMC
Current code handles CPM1 version of QMC. Even if GSMRL is specific to
the CPM1 version, the exact same purpose and format register (GUMRL) is
present in the QUICC Engine (QE) version of QMC. Compared to the QE
version, the values defined for the mode bitfield are different and the
0x0A value defined for the QMC mode is CPM1 specific.

In order to prepare the support for the QE version, rename this bitfield
value to clearly identify it as CPM1 specific.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-31-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:20 +02:00
Herve Codina
278d799caa soc: fsl: cpm1: qmc: Handle RPACK initialization
Current code handles the CPM1 version of QMC, RPACK does not need to
be initialized. This is not the case in the QUICC Engine (QE) version.

In preparation of the support for QE, initialize the RPACK register
when the receiver is initialized and each time it is restarted.

This additional RPACK initialization has no impact in the CPM1 version
of QMC.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-30-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:20 +02:00
Herve Codina
ef0878a5ba soc: fsl: cpm1: qmc: Rename qmc_chan_command()
Current code handles CPM1 version of QMC and qmc_chan_command() is
clearly CPM1 specific.

In order to prepare the support for the QUICC Engine (QE) version,
rename qmc_chan_command() to reflect that point.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-29-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:20 +02:00
Herve Codina
de5fdb7d14 soc: fsl: cpm1: qmc: Introduce qmc_{init,exit}_xcc() and their CPM1 version
Current code handles the CPM1 version of QMC and initialize the QMC used
SCC. The QUICC Engine (QE) version uses an UCC (Unified Communication
Controllers) instead of the SCC (Serial Communication Controllers) used
in the CPM1 version. These controllers serve the same purpose and are
used in the same way but their inializations are slightly different.

In order to prepare the support for QE version of QMC, introduce
qmc_init_xcc() to initialize theses controllers (UCC in QE and SCC in
CPM1) and isolate the CPM1 specific SCC initialization in a specific
function.

Also introduce qmc_exit_xcc() for consistency to revert operations done
in qmc_init_xcc().

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-28-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:20 +02:00
Herve Codina
727b3ab490 soc: fsl: cpm1: qmc: Introduce qmc_init_resource() and its CPM1 version
Current code handles the CPM1 version of QMC. Resources initialisations
(i.e. retrieving base addresses and offsets of different parts) will
be slightly different in the QUICC Engine (QE) version. Indeed, in QE
version, some resources need to be allocated and are no more "staticaly"
defined.

In order to prepare the support for QE version, introduce
qmc_init_resource() to initialize those resources and isolate the CPM1
specific operations in a specific function.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-27-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:20 +02:00
Herve Codina
a13bf60534 soc: fsl: cpm1: qmc: Re-order probe() operations
Current code handles CPM1 version of QMC. In the QUICC Engine (QE)
version, some operations done at probe() need to be done in a different
order.

In order to prepare the support for the QE version, changed the sequence
of operation done at probe():
- Retrieve the tsa_serial earlier, before initializing resources.
- Group SCC initialisation and do this initialization when it is really
  needed in the probe() sequence.

Having the QE compatible sequence in the CPM1 version does not lead to
any issue and works correctly without any regressions.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-26-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:20 +02:00
Herve Codina
d23ae9f181 soc: fsl: cpm1: qmc: Introduce qmc_data structure
Current code handles CPM1 version of QMC. Some hardcoded values are used
several times to initialize the QMC state machine. In the QUICC Engine
(QE) version of QMC, these values are different.

In order to prepare the support for the QE version of QMC and avoid the
copy of the hardcoded values, introduce the qmc_data structure to define
these version specific values.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-25-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:19 +02:00
Herve Codina
41725760d2 dt-bindings: soc: fsl: cpm_qe: Add QUICC Engine (QE) QMC controller
Add support for the QMC (QUICC Multichannel Controller) available in
some PowerQUICC SoC that uses a QUICC Engine (QE) block such as MPC8321.

This QE QMC is similar to the CPM QMC except that it uses UCCs (Unified
Communication Controllers) instead of SCCs (Serial Communication
Controllers). Also, compared against the CPM QMC, this QE QMC does not
use a fixed area for the UCC/SCC parameters area but it uses a dynamic
area allocated and provided to the hardware at runtime.
Last point, the QE QMC can use a firmware to have the QMC working in
'soft-qmc' mode.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-24-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:19 +02:00
Herve Codina
211ddf7cc3 soc: fsl: cpm1: qmc: Add missing spinlock comment
checkpatch.pl raises the following issue
  CHECK: spinlock_t definition without comment

Add the missing comments.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-23-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:19 +02:00
Herve Codina
e49dd637e0 soc: fsl: cpm1: qmc: Fix 'transmiter' typo
checkpatch.pl raises the following issue
  CHECK: 'transmiter' may be misspelled - perhaps 'transmitter'?

Indeed, fix it.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-22-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:19 +02:00
Herve Codina
1934f6aa5e soc: fsl: cpm1: qmc: Remove unneeded parenthesis
checkpatch.pl raises the following issue in several places
  CHECK: Unnecessary parenthesis around ...

Remove them.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-21-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:19 +02:00
Herve Codina
f06ab938bc soc: fsl: cpm1: qmc: Fix blank line and spaces
checkpatch.pl raises the following issues
  CHECK: Please don't use multiple blank lines
  CHECK: Alignment should match open parenthesis

Fix them.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-20-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:19 +02:00
Herve Codina
44beb343d8 soc: fsl: cpm1: qmc: Use BIT(), GENMASK() and FIELD_PREP() macros
checkpatch.pl signals the following improvement for qmc.c
  CHECK: Prefer using the BIT macro

Follow its suggestion and convert the code to BIT() and related macros.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-19-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:19 +02:00
Herve Codina
e8344905b3 soc: fsl: cpm1: qmc: Rename QMC_TSA_MASK
QMC_TSA_MASK is a bitfield. The value defined is a specific value of
this bitfield and correspond to the use of 8bit resolution for the
routing entry.

Be accurate and rename the defined constant to reflect this point.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-18-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:19 +02:00
Herve Codina
3825890981 soc: fsl: cpm1: tsa: Introduce tsa_serial_get_num()
TSA consumers in CPM1 implementation don't need to know about the serial
device number used by the TSA component. In QUICC Engine implementation,
this information is needed.

Improve the TSA API with tsa_serial_get_num() in order to provide this
information.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-17-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:19 +02:00
Herve Codina
2a2b83aca0 MAINTAINERS: Add QE files related to the Freescale TSA controller
The Freescale TSA controller driver supports both QE and CPM1.

Add the newly introduced QE files to the existing entry.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-16-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:19 +02:00
Herve Codina
7ac947021d soc: fsl: cpm1: tsa: Add support for QUICC Engine (QE) implementation
Add support for the time slot assigner (TSA) available in some
PowerQUICC SoC that uses a QUICC Engine (QE) block such as MPC8321.

The QE TSA is similar to the CPM1 TSA except that it uses UCCs (Unified
Communication Controllers) instead of SCCs (Serial Communication
Controllers).
Also, compared against the CPM1 TSA, this QE TSA can handle up to 4 TDMs
instead of 2 and allows to configure the logic level of sync signals.

At a lower level, compared against CPM TSA implementation, some
registers are slightly different even if same features are present.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-15-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:18 +02:00
Herve Codina
572312a5bb soc: fsl: cpm1: tsa: Introduce tsa_version
Current code handles CPM1 version of TSA.

In order to prepare the support for the QUICC Engine (QE) version of
TSA, introduce tsa_version to identify versions. This will enable the
code to make the distinction between several TSA implementations.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-14-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:18 +02:00
Herve Codina
9c6c022d1c soc: fsl: cpm1: tsa: Isolate specific CPM1 part from tsa_serial_{dis}connect()
Current code handles the CPM1 version of TSA. Connecting and
disconnecting the SCC to/from the TSA consists in handling SICR register
which is CPM1 specific. The connection and disconnection operation in
the QUICC Engine (QE) version are slightly different.

In order to prepare the support for the QE version, clearly identify
SICR register as specific to CPM1 and isolate its handling done in
connect and disconnect functions.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-13-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:18 +02:00
Herve Codina
8d600cc337 soc: fsl: cpm1: tsa: Introduce tsa_setup() and its CPM1 compatible version
Current code handles the CPM1 version of TSA. Setting up TSA consists in
handling SIMODE and SIGMR registers. These registers are CPM1 specific.

Setting up the QUICC Engine (QE) version of TSA is slightly different.

In order to prepare the support for QE version, clearly identify these
registers as CPM1 compatible and isolate their handling in a CPM1
specific function.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-12-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:18 +02:00
Herve Codina
8c8e1ba3e9 soc: fsl: cpm1: tsa: Make SIRAM entries specific to CPM1
Current code handles the CPM1 version of TSA. Compared against QUICC
Engine (QE) version of TSA, CPM1 SIRAM entries are slightly different.

In order to prepare the support for the QE version, clearly identify
these entries and functions handling them as CPM1 compatible.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Link: https://lore.kernel.org/r/20240808071132.149251-11-herve.codina@bootlin.com
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2024-09-03 07:49:18 +02:00