2019-04-02 16:07:07 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-30 09:39:53 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-04-18 17:19:55 -05:00
|
|
|
|
|
|
|
|
|
2020-08-28 08:39:50 -04:00
|
|
|
|
2014-04-18 17:19:55 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-01-05 18:21:43 -05:00
|
|
|
|
2011-08-26 19:04:50 +01:00
|
|
|
|
2005-06-27 11:12:54 +01:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2021-04-22 10:02:11 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-02-05 16:10:22 -08:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-09-04 09:11:24 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-09-04 09:11:24 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-04-18 17:19:57 -05:00
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-29 02:00:23 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-12-09 23:04:37 +08:00
|
|
|
|
|
|
|
|
|
2022-12-09 23:04:36 +08:00
|
|
|
|
2014-04-29 22:26:22 +02:00
|
|
|
|
|
|
|
|
|
2014-04-18 17:19:58 -05:00
|
|
|
|
|
|
|
|
|
2022-12-09 23:04:37 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-12-04 19:25:05 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-24 12:39:03 +05:30
|
|
|
|
2018-12-04 19:25:05 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-04-18 17:19:58 -05:00
|
|
|
|
2007-07-17 04:03:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2007-07-17 04:03:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2007-07-17 04:03:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-10-04 16:02:02 +02:00
|
|
|
|
2017-06-07 18:19:31 +03:00
|
|
|
|
2022-09-26 17:32:45 +03:00
|
|
|
|
2025-08-13 19:44:41 +02:00
|
|
|
|
2006-01-10 16:59:27 +00:00
|
|
|
|
2015-09-30 10:19:38 +02:00
|
|
|
|
2018-07-13 19:47:36 +03:00
|
|
|
|
2006-01-10 16:59:27 +00:00
|
|
|
|
2006-06-19 19:53:19 +01:00
|
|
|
|
2017-06-07 18:19:31 +03:00
|
|
|
|
2006-01-10 16:59:27 +00:00
|
|
|
|
2006-10-04 16:02:02 +02:00
|
|
|
|
2017-06-07 18:19:31 +03:00
|
|
|
|
2006-10-04 16:02:02 +02:00
|
|
|
|
2006-01-10 16:59:27 +00:00
|
|
|
|
2022-02-17 10:46:20 +01:00
|
|
|
|
2006-01-10 16:59:27 +00:00
|
|
|
|
2006-10-04 16:02:09 +02:00
|
|
|
|
2017-06-07 18:19:31 +03:00
|
|
|
|
2006-10-04 16:02:09 +02:00
|
|
|
|
|
|
|
|
|
2006-01-10 16:59:27 +00:00
|
|
|
|
2008-02-08 04:21:06 -08:00
|
|
|
|
2017-06-07 18:19:31 +03:00
|
|
|
|
2008-02-08 04:21:06 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-07 18:19:31 +03:00
|
|
|
|
2008-02-08 04:21:06 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-10-04 16:02:02 +02:00
|
|
|
|
2006-10-04 16:02:09 +02:00
|
|
|
|
2006-10-04 16:02:02 +02:00
|
|
|
|
2006-01-10 16:59:27 +00:00
|
|
|
|
2017-06-07 18:19:31 +03:00
|
|
|
|
2006-10-04 16:02:09 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-10 16:59:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-08-17 12:49:49 +02:00
|
|
|
|
|
|
|
|
|
2021-04-22 10:02:11 +02:00
|
|
|
|
2014-08-17 12:49:49 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-12-10 16:57:44 -08:00
|
|
|
|
2014-08-17 12:49:49 +02:00
|
|
|
|
2016-03-06 12:21:24 +01:00
|
|
|
|
2014-08-17 12:49:49 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2013-12-31 20:49:42 +04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2014-09-09 08:14:36 +04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2012-07-31 18:29:08 +04:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-07-31 18:29:08 +04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-07-03 12:32:51 +01:00
|
|
|
|
|
|
|
|
|
2022-03-11 10:45:15 +01:00
|
|
|
|
2008-07-08 01:03:46 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2021-09-24 15:30:40 +02:00
|
|
|
|
2022-09-29 15:43:53 +02:00
|
|
|
|
2021-09-24 15:30:40 +02:00
|
|
|
|
|
|
|
|
|
2022-09-29 15:43:53 +02:00
|
|
|
|
2021-09-24 15:30:40 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-11-03 09:21:23 +00:00
|
|
|
|
|
|
|
|
|
2014-11-22 00:09:25 +09:00
|
|
|
|
2022-09-29 15:43:53 +02:00
|
|
|
|
2008-11-03 09:21:23 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-24 21:21:32 +01:00
|
|
|
|
2008-07-03 12:32:51 +01:00
|
|
|
|
|
|
|
|
|
2021-12-04 21:57:56 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-05-19 22:26:04 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-06-24 21:21:32 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-08 16:27:44 +05:30
|
|
|
|
|
|
|
|
|
2021-04-22 10:02:11 +02:00
|
|
|
|
2013-01-08 16:27:44 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-21 10:43:26 +08:00
|
|
|
|
2013-01-08 16:27:44 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-01-23 11:28:19 +01:00
|
|
|
|
|
|
|
|
|
2021-04-22 10:02:11 +02:00
|
|
|
|
|
|
|
|
|
2019-01-23 11:28:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2019-01-23 11:28:19 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-02-13 18:26:12 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-04-07 16:48:51 +01:00
|
|
|
|
2024-04-02 22:50:43 +03:00
|
|
|
|
2009-04-07 16:48:51 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-04-02 22:50:43 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-04-07 16:48:51 +01:00
|
|
|
|
2012-08-06 19:42:32 +04:00
|
|
|
|
2014-02-07 18:16:03 +04:00
|
|
|
|
2013-06-29 10:44:17 +04:00
|
|
|
|
2010-06-30 17:58:38 +01:00
|
|
|
|
2013-06-29 10:44:17 +04:00
|
|
|
|
serial: max310x: implement I2C support
I2C implementation on this chip has a few key differences
compared to SPI, as described in previous patches.
* extended register space access needs no extra logic
* slave address is used to select which UART to communicate
with
To accommodate these differences, add an I2C interface config,
set the RevID register address and implement an empty method
for setting the GlobalCommand register, since no special handling
is needed for the extended register space.
To handle the port-specific slave address, create an I2C dummy
device for each port, except the base one (UART0), which is
expected to be the one specified in firmware, and create a
regmap for each I2C device.
Add minimum and maximum slave addresses to each devtype for
sanity checking.
Also, use a separate regmap config with no write_flag_mask,
since I2C has a R/W bit in its slave address, and set the
max register to the address of the RevID register, since the
extended register space needs no extra logic.
Finally, add the I2C driver.
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Cosmin Tanislav <cosmin.tanislav@analog.com>
Link: https://lore.kernel.org/r/20220605144659.4169853-5-demonsingur@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-05 17:46:59 +03:00
|
|
|
|
2010-06-30 17:58:38 +01:00
|
|
|
|
2012-08-06 19:42:32 +04:00
|
|
|
|
2013-06-29 10:44:19 +04:00
|
|
|
|
2012-08-06 19:42:32 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-06-30 17:58:38 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-09-03 15:56:16 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-02-07 00:15:09 -08:00
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2008-02-07 00:15:09 -08:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-07 00:15:09 -08:00
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-07 00:15:09 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-18 00:49:11 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2007-07-18 00:49:11 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2007-07-18 00:49:11 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2012-11-11 10:24:19 +04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-01-10 15:26:42 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-09-27 18:23:16 +02:00
|
|
|
|
2009-02-05 13:42:47 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-09-27 18:23:16 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-27 18:23:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-09-27 18:23:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2016-09-27 18:23:16 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-09-27 18:23:16 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2012-11-11 10:24:19 +04:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-08-31 08:49:52 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-05-03 16:55:08 -06:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-06-05 00:58:47 -03:00
|
|
|
|
2015-09-30 10:19:39 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-06-11 14:52:23 +01:00
|
|
|
|
2015-12-13 11:30:03 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-01-10 15:26:40 -08:00
|
|
|
|
2020-07-24 15:08:14 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2013-06-05 00:58:48 -03:00
|
|
|
|
2026-01-10 15:26:40 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2026-01-10 15:26:40 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2013-06-05 00:58:48 -03:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2020-07-24 15:08:15 +08:00
|
|
|
|
|
|
|
|
|
2020-08-10 14:06:52 +08:00
|
|
|
|
2020-07-24 15:08:15 +08:00
|
|
|
|
2021-02-24 23:42:48 -05:00
|
|
|
|
2020-07-24 15:08:15 +08:00
|
|
|
|
2020-09-19 14:32:40 +08:00
|
|
|
|
2020-11-05 21:40:26 +01:00
|
|
|
|
2020-07-24 15:08:15 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-12-06 20:35:17 -08:00
|
|
|
|
|
|
|
|
|
2015-06-15 16:36:07 +02:00
|
|
|
|
2006-12-06 20:35:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-06-05 00:44:53 +02:00
|
|
|
|
2006-12-06 20:35:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-08 15:34:05 -05:00
|
|
|
|
2006-12-06 20:35:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-03-15 20:43:24 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-11-16 19:10:03 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-03-15 20:43:24 -06:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2005-12-22 21:03:47 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-12-22 21:03:47 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-12-22 21:03:47 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-18 16:17:50 -05:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-09-16 14:35:51 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-11 15:24:13 -07:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2007-09-11 15:24:13 -07:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-12-22 21:03:47 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-11 02:25:21 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-02-06 01:37:26 -08:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2008-02-06 01:37:26 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-06 01:37:26 -08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-27 17:32:30 +09:00
|
|
|
|
2022-02-23 08:47:20 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2016-06-03 12:00:04 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-09-27 17:32:30 +09:00
|
|
|
|
2017-11-30 14:11:58 +01:00
|
|
|
|
serial: sh-sci: Add support for dynamic instances
On DT platforms, the sh-sci driver requires the presence of "serialN"
aliases in DT, from which instance IDs are derived. If a DT alias is
missing, the drivers fails to probe the corresponding serial port.
This becomes cumbersome when considering DT overlays, as currently
there is no upstream support for dynamically updating the /aliases node
in DT. Furthermore, even in the presence of such support, hardcoded
instance IDs in independent overlays are prone to conflicts.
Hence add support for dynamic instance IDs, to be used in the absence of
a DT alias. This makes serial ports behave similar to I2C and SPI
buses, which already support dynamic instances.
Ports in use are tracked using a simple bitmask of type unsigned long,
which is sufficient to handle all current hardware (max. 18 ports).
The maximum number of serial ports is still fixed, and configurable
through Kconfig. Range validation is done through both Kconfig and a
compile-time check.
Due to the fixed maximum number of serial ports, dynamic and static
instances share the same ID space. Static instances added later are
rejected when conflicting with dynamic instances registered earlier.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-03-05 18:17:40 +01:00
|
|
|
|
|
|
|
|
|
2006-09-27 17:32:30 +09:00
|
|
|
|
2017-11-30 14:11:58 +01:00
|
|
|
|
|
|
|
|
|
2017-12-18 09:50:57 +01:00
|
|
|
|
2006-09-27 17:32:30 +09:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2017-11-30 14:11:59 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2017-11-30 14:11:59 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2015-12-24 11:24:48 +01:00
|
|
|
|
2017-11-30 14:12:00 +01:00
|
|
|
|
2015-12-24 11:24:48 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-23 08:47:20 +01:00
|
|
|
|
2015-12-24 11:24:48 +01:00
|
|
|
|
2010-03-02 11:39:15 +09:00
|
|
|
|
2026-01-10 15:26:43 -08:00
|
|
|
|
2015-08-21 20:02:45 +02:00
|
|
|
|
2017-11-30 14:12:01 +01:00
|
|
|
|
2010-03-02 11:39:15 +09:00
|
|
|
|
2025-06-30 21:23:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-11 22:04:12 +02:00
|
|
|
|
|
|
|
|
|
2019-08-09 16:40:30 +02:00
|
|
|
|
|
|
|
|
|
2012-06-11 22:04:12 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-05 22:54:27 +02:00
|
|
|
|
2012-06-11 22:04:12 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-17 20:05:37 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-01 17:32:00 +10:00
|
|
|
|
2008-10-13 10:31:59 +01:00
|
|
|
|
2008-02-01 17:32:00 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-10-13 10:31:59 +01:00
|
|
|
|
2008-02-01 17:32:00 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-11-17 20:04:44 +11:00
|
|
|
|
2015-01-31 21:47:43 +08:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-17 20:04:44 +11:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2007-04-05 00:19:43 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-17 20:04:44 +11:00
|
|
|
|
2007-04-05 00:19:43 +10:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-11-17 20:04:44 +11:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-17 20:04:44 +11:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-05-23 10:59:02 +02:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2025-09-16 16:57:17 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-01-13 18:15:43 -07:00
|
|
|
|
|
|
|
|
|
2022-04-21 12:17:08 +02:00
|
|
|
|
2016-01-13 18:15:43 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-04-21 12:17:07 +02:00
|
|
|
|
2016-01-13 18:15:43 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2008-01-29 04:28:56 +11:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2008-01-29 04:28:56 +11:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-29 04:28:56 +11:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-29 04:28:56 +11:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-04-22 10:02:11 +02:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-03-25 17:44:20 +00:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-01-10 15:26:42 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
2006-12-12 20:04:19 +01:00
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-02-10 01:45:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-11-07 00:05:33 +01:00
|
|
|
|
2024-10-24 19:54:43 +02:00
|
|
|
|
2006-02-03 03:04:30 -08:00
|
|
|
|
|
|
|
|
|
2014-11-07 00:05:33 +01:00
|
|
|
|
2006-02-03 03:04:30 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-02-15 09:52:46 +00:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2006-02-03 03:04:30 -08:00
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2009-06-22 18:43:11 +01:00
|
|
|
|
2015-10-21 16:05:23 -07:00
|
|
|
|
2021-04-22 10:02:11 +02:00
|
|
|
|
2009-06-22 18:43:11 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-09-15 17:22:51 -07:00
|
|
|
|
2009-06-22 18:43:11 +01:00
|
|
|
|
2018-03-14 17:58:49 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-01-07 01:03:11 +00:00
|
|
|
|
2018-03-14 17:58:49 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-08-12 13:48:19 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-11-08 20:33:20 +03:00
|
|
|
|
|
|
|
|
|
2021-04-22 10:02:11 +02:00
|
|
|
|
2010-11-08 20:33:20 +03:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-09-27 20:20:49 +05:30
|
|
|
|
|
|
|
|
|
2021-07-27 13:31:49 +03:00
|
|
|
|
2010-09-27 20:20:49 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-04-02 16:32:17 -06:00
|
|
|
|
2010-09-27 20:20:49 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-04-12 19:01:13 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-06 21:57:50 +01:00
|
|
|
|
2019-04-12 19:01:13 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-04-06 21:57:50 +01:00
|
|
|
|
2019-04-12 19:01:13 -07:00
|
|
|
|
2019-09-10 07:59:23 +02:00
|
|
|
|
2019-04-12 19:01:13 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-04-05 14:10:57 +02:00
|
|
|
|
2020-05-11 13:57:27 +08:00
|
|
|
|
2020-05-04 16:03:52 +08:00
|
|
|
|
2011-04-05 14:10:57 +02:00
|
|
|
|
2020-05-11 13:57:26 +08:00
|
|
|
|
|
|
|
|
|
2020-05-11 13:57:27 +08:00
|
|
|
|
|
|
|
|
|
2020-05-11 13:57:26 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-04-05 14:10:57 +02:00
|
|
|
|
2016-12-11 21:42:23 +01:00
|
|
|
|
2011-04-05 14:10:57 +02:00
|
|
|
|
2020-05-11 13:57:26 +08:00
|
|
|
|
|
|
|
|
|
2011-04-05 14:10:57 +02:00
|
|
|
|
2008-01-15 09:56:13 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-08-25 19:24:19 +04:00
|
|
|
|
2012-09-30 13:19:19 +04:00
|
|
|
|
2012-08-25 19:24:19 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-09-30 13:19:19 +04:00
|
|
|
|
2012-08-25 19:24:19 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2024-06-03 11:26:00 -04:00
|
|
|
|
2024-04-09 11:42:51 -04:00
|
|
|
|
2025-10-27 10:29:52 -04:00
|
|
|
|
2019-11-20 21:38:43 +08:00
|
|
|
|
2024-04-09 11:42:51 -04:00
|
|
|
|
|
|
|
|
|
2019-11-20 21:38:43 +08:00
|
|
|
|
2024-04-09 11:42:51 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-05-25 11:51:09 +05:30
|
|
|
|
|
|
|
|
|
2024-04-09 11:42:51 -04:00
|
|
|
|
|
|
|
|
|
2015-05-25 11:51:09 +05:30
|
|
|
|
|
|
|
|
|
2024-04-09 11:42:51 -04:00
|
|
|
|
|
|
|
|
|
2014-04-24 20:56:06 -04:00
|
|
|
|
2009-06-11 14:05:39 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-04-03 11:36:22 +02:00
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2009-06-11 14:05:39 +01:00
|
|
|
|
|
|
|
|
|
2009-09-18 13:04:58 +02:00
|
|
|
|
2014-10-21 15:22:59 -07:00
|
|
|
|
2009-09-18 13:04:58 +02:00
|
|
|
|
2022-08-03 10:54:52 -07:00
|
|
|
|
|
|
|
|
|
2009-09-18 13:04:58 +02:00
|
|
|
|
2014-10-21 15:22:59 -07:00
|
|
|
|
|
|
|
|
|
2009-09-18 13:04:58 +02:00
|
|
|
|
2014-10-21 15:22:59 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-09-18 13:04:58 +02:00
|
|
|
|
|
|
|
|
|
2014-10-21 15:22:59 -07:00
|
|
|
|
2009-09-18 13:04:58 +02:00
|
|
|
|
|
|
|
|
|
2014-10-21 15:23:02 -07:00
|
|
|
|
2009-09-18 13:04:58 +02:00
|
|
|
|
2014-10-21 15:22:59 -07:00
|
|
|
|
2009-09-18 13:04:58 +02:00
|
|
|
|
|
|
|
|
|
2009-11-04 08:39:46 -08:00
|
|
|
|
|
|
|
|
|
2011-03-30 21:11:35 -07:00
|
|
|
|
2011-01-19 14:34:35 -08:00
|
|
|
|
2020-06-14 01:50:22 +09:00
|
|
|
|
2009-11-04 08:39:46 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-05 10:35:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-03-14 14:11:25 +01:00
|
|
|
|
2010-05-05 10:35:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-05 10:35:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-03-22 13:50:13 +01:00
|
|
|
|
2010-05-05 10:35:23 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-11-17 09:55:54 +09:00
|
|
|
|
2011-10-28 09:38:49 +09:00
|
|
|
|
2016-08-12 12:48:54 +01:00
|
|
|
|
2010-11-17 09:55:54 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-28 18:00:01 +09:00
|
|
|
|
2011-10-28 09:38:49 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-02-09 11:16:34 -08:00
|
|
|
|
2011-11-15 15:04:07 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-11 15:54:54 +01:00
|
|
|
|
|
|
|
|
|
2016-03-16 14:05:52 +01:00
|
|
|
|
2011-01-11 15:54:54 +01:00
|
|
|
|
2014-10-10 18:53:25 +02:00
|
|
|
|
2011-01-11 15:54:54 +01:00
|
|
|
|
2016-03-16 14:05:52 +01:00
|
|
|
|
|
|
|
|
|
2011-01-11 15:54:54 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-04-30 00:07:43 -04:00
|
|
|
|
2014-04-04 17:23:43 -07:00
|
|
|
|
2012-11-05 15:24:26 -06:00
|
|
|
|
2011-04-30 00:07:43 -04:00
|
|
|
|
|
|
|
|
|
2014-04-04 17:23:43 -07:00
|
|
|
|
|
|
|
|
|
2011-04-30 00:07:43 -04:00
|
|
|
|
|
|
|
|
|
2014-04-04 17:23:43 -07:00
|
|
|
|
2011-04-30 00:07:43 -04:00
|
|
|
|
|
|
|
|
|
2014-09-10 12:43:02 +02:00
|
|
|
|
2011-04-30 00:07:43 -04:00
|
|
|
|
2014-04-04 17:23:43 -07:00
|
|
|
|
2011-04-30 00:07:43 -04:00
|
|
|
|
2011-06-20 19:26:11 +02:00
|
|
|
|
2013-08-29 11:37:19 +02:00
|
|
|
|
2022-04-21 12:17:08 +02:00
|
|
|
|
2011-06-20 19:26:11 +02:00
|
|
|
|
2020-02-21 22:23:31 +01:00
|
|
|
|
2011-06-20 19:26:11 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-29 11:37:19 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-06-20 19:26:11 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-04-25 09:47:47 +01:00
|
|
|
|
|
|
|
|
|
2016-05-10 20:56:10 +02:00
|
|
|
|
2016-04-25 09:47:47 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2026-01-10 15:26:42 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-10-27 12:47:12 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-06-24 13:55:09 +05:30
|
|
|
|
2012-10-27 12:47:12 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-01-16 20:28:40 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-06-07 09:20:40 +08:00
|
|
|
|
|
|
|
|
|
2014-05-06 14:41:19 +02:00
|
|
|
|
2013-06-07 09:20:40 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-02-26 12:38:46 -05:00
|
|
|
|
2013-06-07 09:20:40 +08:00
|
|
|
|
2015-10-20 09:55:21 -04:00
|
|
|
|
2013-06-07 09:20:40 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-08-09 11:29:16 +00:00
|
|
|
|
2019-10-16 15:48:25 +03:00
|
|
|
|
2019-08-20 20:40:15 +08:00
|
|
|
|
2019-08-09 11:29:16 +00:00
|
|
|
|
|
|
|
|
|
2019-10-16 15:48:25 +03:00
|
|
|
|
2019-08-09 11:29:16 +00:00
|
|
|
|
|
|
|
|
|
2019-10-16 15:48:25 +03:00
|
|
|
|
2019-08-09 11:29:16 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-10-16 15:48:25 +03:00
|
|
|
|
2019-08-09 11:29:16 +00:00
|
|
|
|
|
|
|
|
|
2014-12-18 21:45:24 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-07-15 12:39:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-09-03 17:13:23 -04:00
|
|
|
|
2013-07-15 12:39:23 +01:00
|
|
|
|
2021-07-19 11:24:21 +01:00
|
|
|
|
2013-07-15 12:39:23 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2014-04-17 15:47:58 +02:00
|
|
|
|
|
|
|
|
|
2014-04-29 22:26:22 +02:00
|
|
|
|
2014-04-17 15:47:58 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-01-28 19:08:44 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-03-25 16:14:27 +08:00
|
|
|
|
2015-01-28 19:08:44 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2015-06-10 21:19:36 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2016-11-06 20:05:02 +00:00
|
|
|
|
2020-04-20 22:32:04 +05:30
|
|
|
|
2015-06-10 21:19:36 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-08-22 16:19:23 +02:00
|
|
|
|
2015-06-10 21:19:36 +02:00
|
|
|
|
2022-04-19 10:53:30 +02:00
|
|
|
|
2015-06-10 21:19:36 +02:00
|
|
|
|
2016-02-16 19:14:53 +01:00
|
|
|
|
|
|
|
|
|
2016-03-18 13:45:51 +01:00
|
|
|
|
serial: mvebu-uart: implement UART clock driver for configuring UART base clock
Implement a new device driver for controlling UART clocks on Marvell
Armada 3700 SoC. This device driver is loaded for devices which match
the compatible string "marvell,armada-3700-uart-clock".
There are more pitfalls related to UART clocks:
- both UARTs use same parent clock source (which can be xtal or one of
the TBG clocks),
- if a TBG clock is used as the parent clock, there are two additional
divisors that can both be configured to divide the rate by 1, 2, ... 6,
but these divisors are again shared between the two UART controllers
on the SOC,
- the configuration of the parent clock source and divisors is done in
the address space of the first UART controller, UART1. Clocks can be
gated separately for UART1 and UART2, but this setting also lives in
the address space of UART1,
- Marvell's Functional Specification for Armada 3720 document has the
clock gating bits swapped, so the one described to gate UART1 clock
actually gates UART2 and vice versa,
- each UART has it's own "special divisor", and this uses the parent
clock described above. These divisors are configure in each UART's
address space separately.
Thus the driver for UART2 controller needs to have access to UART1
address space, since UART1 address space contains some bits exclusive
for UART2 and also some bits which are shared between UART1 and UART2.
Also, during boot, when early console is active on one of the UARTs,
and we want to switch parent clock from xtal (default) to TBG (to be
more flexible with baudrates), the driver changing UART clocks also
needs to be able to change the "special divisor", so that the baudrate
of earlycon is not changed when swtiching to normal console. Thus the
clock driver also needs to be able to access UART2 register space,
for UART2's "special divisor".
For these reasons, this new UART clock driver does not use
ioremap_resource(), but only ioremap() to prevent resource conflicts
between UART clock driver and UART driver.
We need to share only two 32-bit registers between the UART driver and
the UART clock driver:
- UART Clock Control
- UART 2 Baud Rate Divisor
Access to these two registers are protected by one spinlock to prevent
any conflicts. Access is required only during probing, when changing
baudrate or during suspend/resume.
Hardware can be configured to use one of following clocks as UART parent
clock: TBG-A-P, TBG-B-P, TBG-A-S, TBG-B-S, xtal. Not every clock is
usable for higher buadrates. Any subset can be specified in the
device-tree and the driver will choose the best one which also still
supports the mandatory baudrate of 9600 Bd. For smooth boot log output
it is needed to specify clock used by early console, otherwise garbage
would be printed on UART during probe of UART clock driver and
transitioning from early console to normal console.
We are implementing this to be able to configure TBG clock as UART
parent clock, which is required to be able to achieve higher baudrates
than 230400 Bd. We achieve this by referencing this new UART clock
device node in UART's device node. UART clock device driver
automatically chooses the best clock source for UART driver.
Until now, UART's device-tree node needed to reference one of the static
clocks (xtal or one of the TBGs) as parent clock in the `clocks`
phandle - the parent clock which was configured before booting the
kernel. If bootloader changed UART's parent clock, it needed to change
the `clocks` phandle in DTB correspondingly before booting.
From now on both the old mechanism (xtal or TBG referenced as parent
clock in `clocks` phandle) and the new one (UART clock referenced in the
`clocks` phandle) are supported, to provide full backward compatibility
with existing DTS files, full backward compatibility with existing boot
loaders, and to provide new features (runtime clock configuration to
allow higher baudrates than 230400 Bd). New features are available only
with new DTS files.
There was also a discussion about how the UART node and the
clock-controller node could be wrapped together in a new binding [1, 2].
As explained there, this is not possible if we want to keep backwards
compatibility with existing bootloaders, and thus we are doing this by
putting the UART clock-controller node inside the UART1 node.
[1] https://lore.kernel.org/linux-serial/20220120000651.in7s6nazif5qjkme@pali/
[2] https://lore.kernel.org/linux-serial/20220125204006.A6D09C340E0@smtp.kernel.org/
Reviewed-by: Marek Behún <kabel@kernel.org>
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
Link: https://lore.kernel.org/r/20220219152818.4319-4-kabel@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-02-19 16:28:15 +01:00
|
|
|
|
2016-02-16 19:14:53 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-06-19 03:46:40 +02:00
|
|
|
|
2017-07-09 22:29:42 +02:00
|
|
|
|
2017-06-19 03:46:40 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2017-07-09 22:29:42 +02:00
|
|
|
|
2017-06-19 03:46:40 +02:00
|
|
|
|
2018-12-18 20:32:37 +05:30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2019-04-15 20:31:40 +09:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-10-13 16:46:21 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-11-25 14:27:56 +01:00
|
|
|
|
2021-11-17 11:05:12 +01:00
|
|
|
|
2020-10-13 16:46:21 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-05-17 20:54:52 +09:00
|
|
|
|
2020-10-13 16:46:21 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-02-22 17:36:03 +08:00
|
|
|
|
|
|
|
|
|
2022-03-15 14:52:32 +01:00
|
|
|
|
2022-02-22 17:36:03 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-06-19 03:23:29 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-10 01:59:24 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-10-10 01:59:26 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-04-16 15:20:36 -07:00
|
|
|
|
2013-01-17 22:44:22 -08:00
|
|
|
|
2014-05-13 20:20:43 +02:00
|
|
|
|
|
|
|
|
|