This adds a driver for the temperature sensor on the JH7100, a RISC-V
SoC by StarFive Technology Co. Ltd., and most likely also the upcoming
JH7110 version.
The SoC is used on the BeagleV Starlight board:
https://github.com/beagleboard/beaglev-starlight
Support for this SoC is not yet upstreamed, but is actively worked on,
so it should only be a matter of time before that happens.
v3:
* Handle timeouts from wait_for_completion_interruptible_timeout
properly.
v2:
* Fix checkpatch.pl --strict warnings
- Add myself to MAINTAINERS
- Fix multiline comments
- Use proper case and whitespace for #defines
- Add comment to sfctemp::lock mutex.
* Remaining comments by Guenter Roeck
- Add Documentation/hwmon/sfctemp.rst
- Use devm_add_action() and devm_hwmon_device_register_with_info()
instead of a driver .remove function.
- Don't do test conversion at probe time.
- #include <linux/io.h>
- Remove unused #defines
- Use int return variable in sfctemp_convert().
* Add Samin's Signed-off-by to patch 2/2
Emil Renner Berthing (2):
dt-bindings: hwmon: add starfive,jh7100-temp bindings
hwmon: (sfctemp) Add StarFive JH7100 temperature sensor
.../bindings/hwmon/starfive,jh7100-temp.yaml | 43 +++
Documentation/hwmon/index.rst | 1 +
Documentation/hwmon/sfctemp.rst | 32 ++
MAINTAINERS | 8 +
drivers/hwmon/Kconfig | 10 +
drivers/hwmon/Makefile | 1 +
drivers/hwmon/sfctemp.c | 291 ++++++++++++++++++
7 files changed, 386 insertions(+)
create mode 100644 Documentation/devicetree/bindings/hwmon/starfive,jh7100-temp.yaml
create mode 100644 Documentation/hwmon/sfctemp.rst
create mode 100644 drivers/hwmon/sfctemp.c
--
2.32.0
Add bindings for the temperature sensor on the StarFive JH7100 SoC.
Signed-off-by: Emil Renner Berthing <[email protected]>
Reviewed-by: Rob Herring <[email protected]>
---
.../bindings/hwmon/starfive,jh7100-temp.yaml | 43 +++++++++++++++++++
1 file changed, 43 insertions(+)
create mode 100644 Documentation/devicetree/bindings/hwmon/starfive,jh7100-temp.yaml
diff --git a/Documentation/devicetree/bindings/hwmon/starfive,jh7100-temp.yaml b/Documentation/devicetree/bindings/hwmon/starfive,jh7100-temp.yaml
new file mode 100644
index 000000000000..5ca52c08d142
--- /dev/null
+++ b/Documentation/devicetree/bindings/hwmon/starfive,jh7100-temp.yaml
@@ -0,0 +1,43 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/hwmon/starfive,jh7100-temp.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: StarFive JH7100 Temperature Sensor
+
+maintainers:
+ - Emil Renner Berthing <[email protected]>
+
+description: |
+ StarFive Technology Co. JH7100 embedded temperature sensor
+
+properties:
+ compatible:
+ enum:
+ - starfive,jh7100-temp
+
+ reg:
+ maxItems: 1
+
+ '#thermal-sensor-cells':
+ const: 0
+
+ interrupts:
+ maxItems: 1
+
+required:
+ - compatible
+ - reg
+ - interrupts
+
+additionalProperties: false
+
+examples:
+ - |
+ tmon: tmon@124a0000 {
+ compatible = "starfive,jh7100-temp";
+ reg = <0x124a0000 0x10000>;
+ #thermal-sensor-cells = <0>;
+ interrupts = <122>;
+ };
--
2.32.0
Register definitions and conversion constants based on sfctemp driver by
Samin in the StarFive 5.10 kernel.
Signed-off-by: Emil Renner Berthing <[email protected]>
Signed-off-by: Samin Guo <[email protected]>
---
Documentation/hwmon/index.rst | 1 +
Documentation/hwmon/sfctemp.rst | 32 ++++
MAINTAINERS | 8 +
drivers/hwmon/Kconfig | 10 ++
drivers/hwmon/Makefile | 1 +
drivers/hwmon/sfctemp.c | 291 ++++++++++++++++++++++++++++++++
6 files changed, 343 insertions(+)
create mode 100644 Documentation/hwmon/sfctemp.rst
create mode 100644 drivers/hwmon/sfctemp.c
diff --git a/Documentation/hwmon/index.rst b/Documentation/hwmon/index.rst
index bc01601ea81a..961b6d93bead 100644
--- a/Documentation/hwmon/index.rst
+++ b/Documentation/hwmon/index.rst
@@ -164,6 +164,7 @@ Hardware Monitoring Kernel Drivers
sch5627
sch5636
scpi-hwmon
+ sfctemp
sht15
sht21
sht3x
diff --git a/Documentation/hwmon/sfctemp.rst b/Documentation/hwmon/sfctemp.rst
new file mode 100644
index 000000000000..465edce2fea5
--- /dev/null
+++ b/Documentation/hwmon/sfctemp.rst
@@ -0,0 +1,32 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+Kernel driver sfctemp
+=====================
+
+Supported chips:
+ - StarFive JH7100
+
+Authors:
+ - Emil Renner Berthing <[email protected]>
+
+Description
+-----------
+
+This driver adds support for reading the built-in temperature sensor on the
+JH7100 RISC-V SoC by StarFive Technology Co. Ltd.
+
+``sysfs`` interface
+-------------------
+
+The temperature sensor can be enabled, disabled and queried via the standard
+hwmon interface in sysfs under ``/sys/class/hwmon/hwmonX`` for some value of
+``X``:
+
+================ ==== =============================================
+Name Perm Description
+================ ==== =============================================
+temp1_enable RW Enable or disable temperature sensor.
+ Automatically enabled by the driver,
+ but may be disabled to save power.
+temp1_input RO Temperature reading in milli-degrees Celsius.
+================ ==== =============================================
diff --git a/MAINTAINERS b/MAINTAINERS
index 19135a9d778e..6fb1fd015c19 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -16751,6 +16751,14 @@ L: [email protected]
S: Supported
F: drivers/net/ethernet/sfc/
+SFCTEMP HWMON DRIVER
+M: Emil Renner Berthing <[email protected]>
+L: [email protected]
+S: Maintained
+F: Documentation/devicetree/bindings/hwmon/starfive,jh7100-temp.yaml
+F: Documentation/hwmon/sfctemp.rst
+F: drivers/hwmon/sfctemp.c
+
SFF/SFP/SFP+ MODULE SUPPORT
M: Russell King <[email protected]>
L: [email protected]
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
index e3675377bc5d..ef3e345d6ce3 100644
--- a/drivers/hwmon/Kconfig
+++ b/drivers/hwmon/Kconfig
@@ -1762,6 +1762,16 @@ config SENSORS_STTS751
This driver can also be built as a module. If so, the module
will be called stts751.
+config SENSORS_SFCTEMP
+ tristate "Starfive JH7100 temperature sensor"
+ depends on OF && (RISCV || COMPILE_TEST)
+ help
+ If you say yes here you get support for temperature sensor
+ on the Starfive JH7100 SoC.
+
+ This driver can also be built as a module. If so, the module
+ will be called sfctemp.
+
config SENSORS_SMM665
tristate "Summit Microelectronics SMM665"
depends on I2C
diff --git a/drivers/hwmon/Makefile b/drivers/hwmon/Makefile
index d712c61c1f5e..869f8806561e 100644
--- a/drivers/hwmon/Makefile
+++ b/drivers/hwmon/Makefile
@@ -167,6 +167,7 @@ obj-$(CONFIG_SENSORS_SBTSI) += sbtsi_temp.o
obj-$(CONFIG_SENSORS_SCH56XX_COMMON)+= sch56xx-common.o
obj-$(CONFIG_SENSORS_SCH5627) += sch5627.o
obj-$(CONFIG_SENSORS_SCH5636) += sch5636.o
+obj-$(CONFIG_SENSORS_SFCTEMP) += sfctemp.o
obj-$(CONFIG_SENSORS_SL28CPLD) += sl28cpld-hwmon.o
obj-$(CONFIG_SENSORS_SHT15) += sht15.o
obj-$(CONFIG_SENSORS_SHT21) += sht21.o
diff --git a/drivers/hwmon/sfctemp.c b/drivers/hwmon/sfctemp.c
new file mode 100644
index 000000000000..35d3ca682e50
--- /dev/null
+++ b/drivers/hwmon/sfctemp.c
@@ -0,0 +1,291 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2021 Emil Renner Berthing <[email protected]>
+ * Copyright (C) 2021 Samin Guo <[email protected]>
+ */
+#include <linux/completion.h>
+#include <linux/delay.h>
+#include <linux/hwmon.h>
+#include <linux/interrupt.h>
+#include <linux/io.h>
+#include <linux/module.h>
+#include <linux/mutex.h>
+#include <linux/of.h>
+#include <linux/platform_device.h>
+
+/*
+ * TempSensor reset. The RSTN can be de-asserted once the analog core has
+ * powered up. Trst(min 100ns)
+ * 0:reset 1:de-assert
+ */
+#define SFCTEMP_RSTN BIT(0)
+
+/*
+ * TempSensor analog core power down. The analog core will be powered up
+ * Tpu(min 50us) after PD is de-asserted. RSTN should be held low until the
+ * analog core is powered up.
+ * 0:power up 1:power down
+ */
+#define SFCTEMP_PD BIT(1)
+
+/*
+ * TempSensor start conversion enable.
+ * 0:disable 1:enable
+ */
+#define SFCTEMP_RUN BIT(2)
+
+/*
+ * TempSensor conversion value output.
+ * Temp(C)=DOUT*Y/4094 - K
+ */
+#define SFCTEMP_DOUT_POS 16
+#define SFCTEMP_DOUT_MSK GENMASK(27, 16)
+
+/* DOUT to Celcius conversion constants */
+#define SFCTEMP_Y1000 237500L
+#define SFCTEMP_Z 4094L
+#define SFCTEMP_K1000 81100L
+
+struct sfctemp {
+ /* serialize access to hardware register and enabled below */
+ struct mutex lock;
+ struct completion conversion_done;
+ void __iomem *regs;
+ bool enabled;
+};
+
+static irqreturn_t sfctemp_isr(int irq, void *data)
+{
+ struct sfctemp *sfctemp = data;
+
+ complete(&sfctemp->conversion_done);
+ return IRQ_HANDLED;
+}
+
+static void sfctemp_power_up(struct sfctemp *sfctemp)
+{
+ /* make sure we're powered down first */
+ writel(SFCTEMP_PD, sfctemp->regs);
+ udelay(1);
+
+ writel(0, sfctemp->regs);
+ /* wait t_pu(50us) + t_rst(100ns) */
+ usleep_range(60, 200);
+
+ /* de-assert reset */
+ writel(SFCTEMP_RSTN, sfctemp->regs);
+ udelay(1); /* wait t_su(500ps) */
+}
+
+static void sfctemp_power_down(struct sfctemp *sfctemp)
+{
+ writel(SFCTEMP_PD, sfctemp->regs);
+}
+
+static void sfctemp_run_single(struct sfctemp *sfctemp)
+{
+ writel(SFCTEMP_RSTN | SFCTEMP_RUN, sfctemp->regs);
+ udelay(1);
+ writel(SFCTEMP_RSTN, sfctemp->regs);
+}
+
+static int sfctemp_enable(struct sfctemp *sfctemp)
+{
+ mutex_lock(&sfctemp->lock);
+ if (sfctemp->enabled)
+ goto done;
+
+ sfctemp_power_up(sfctemp);
+ sfctemp->enabled = true;
+done:
+ mutex_unlock(&sfctemp->lock);
+ return 0;
+}
+
+static int sfctemp_disable(struct sfctemp *sfctemp)
+{
+ mutex_lock(&sfctemp->lock);
+ if (!sfctemp->enabled)
+ goto done;
+
+ sfctemp_power_down(sfctemp);
+ sfctemp->enabled = false;
+done:
+ mutex_unlock(&sfctemp->lock);
+ return 0;
+}
+
+static void sfctemp_disable_action(void *data)
+{
+ sfctemp_disable(data);
+}
+
+static int sfctemp_convert(struct sfctemp *sfctemp, long *val)
+{
+ int ret;
+
+ mutex_lock(&sfctemp->lock);
+ if (!sfctemp->enabled) {
+ ret = -ENODATA;
+ goto out;
+ }
+
+ sfctemp_run_single(sfctemp);
+
+ ret = wait_for_completion_interruptible_timeout(&sfctemp->conversion_done,
+ msecs_to_jiffies(10));
+ if (ret <= 0) {
+ if (ret == 0)
+ ret = -ETIMEDOUT;
+ goto out;
+ }
+
+ /* calculate temperature in milli Celcius */
+ *val = (long)((readl(sfctemp->regs) & SFCTEMP_DOUT_MSK) >> SFCTEMP_DOUT_POS)
+ * SFCTEMP_Y1000 / SFCTEMP_Z - SFCTEMP_K1000;
+
+ ret = 0;
+out:
+ mutex_unlock(&sfctemp->lock);
+ return ret;
+}
+
+static umode_t sfctemp_is_visible(const void *data, enum hwmon_sensor_types type,
+ u32 attr, int channel)
+{
+ switch (type) {
+ case hwmon_temp:
+ switch (attr) {
+ case hwmon_temp_enable:
+ return 0644;
+ case hwmon_temp_input:
+ return 0444;
+ }
+ return 0;
+ default:
+ return 0;
+ }
+}
+
+static int sfctemp_read(struct device *dev, enum hwmon_sensor_types type,
+ u32 attr, int channel, long *val)
+{
+ struct sfctemp *sfctemp = dev_get_drvdata(dev);
+
+ switch (type) {
+ case hwmon_temp:
+ switch (attr) {
+ case hwmon_temp_enable:
+ *val = sfctemp->enabled;
+ return 0;
+ case hwmon_temp_input:
+ return sfctemp_convert(sfctemp, val);
+ }
+ return -EINVAL;
+ default:
+ return -EINVAL;
+ }
+}
+
+static int sfctemp_write(struct device *dev, enum hwmon_sensor_types type,
+ u32 attr, int channel, long val)
+{
+ struct sfctemp *sfctemp = dev_get_drvdata(dev);
+
+ switch (type) {
+ case hwmon_temp:
+ switch (attr) {
+ case hwmon_temp_enable:
+ if (val == 0)
+ return sfctemp_disable(sfctemp);
+ if (val == 1)
+ return sfctemp_enable(sfctemp);
+ break;
+ }
+ return -EINVAL;
+ default:
+ return -EINVAL;
+ }
+}
+
+static const struct hwmon_channel_info *sfctemp_info[] = {
+ HWMON_CHANNEL_INFO(chip, HWMON_C_REGISTER_TZ),
+ HWMON_CHANNEL_INFO(temp, HWMON_T_ENABLE | HWMON_T_INPUT),
+ NULL
+};
+
+static const struct hwmon_ops sfctemp_hwmon_ops = {
+ .is_visible = sfctemp_is_visible,
+ .read = sfctemp_read,
+ .write = sfctemp_write,
+};
+
+static const struct hwmon_chip_info sfctemp_chip_info = {
+ .ops = &sfctemp_hwmon_ops,
+ .info = sfctemp_info,
+};
+
+static int sfctemp_probe(struct platform_device *pdev)
+{
+ struct device *dev = &pdev->dev;
+ struct device *hwmon_dev;
+ struct resource *mem;
+ struct sfctemp *sfctemp;
+ int ret;
+
+ sfctemp = devm_kzalloc(dev, sizeof(*sfctemp), GFP_KERNEL);
+ if (!sfctemp)
+ return -ENOMEM;
+
+ dev_set_drvdata(dev, sfctemp);
+ mutex_init(&sfctemp->lock);
+ init_completion(&sfctemp->conversion_done);
+
+ mem = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ sfctemp->regs = devm_ioremap_resource(dev, mem);
+ if (IS_ERR(sfctemp->regs))
+ return PTR_ERR(sfctemp->regs);
+
+ ret = platform_get_irq(pdev, 0);
+ if (ret < 0)
+ return ret;
+
+ ret = devm_request_irq(dev, ret, sfctemp_isr,
+ IRQF_SHARED, pdev->name, sfctemp);
+ if (ret) {
+ dev_err(dev, "request irq failed: %d\n", ret);
+ return ret;
+ }
+
+ ret = devm_add_action(dev, sfctemp_disable_action, sfctemp);
+ if (ret)
+ return ret;
+
+ ret = sfctemp_enable(sfctemp);
+ if (ret)
+ return ret;
+
+ hwmon_dev = devm_hwmon_device_register_with_info(dev, pdev->name, sfctemp,
+ &sfctemp_chip_info, NULL);
+ return PTR_ERR_OR_ZERO(hwmon_dev);
+}
+
+static const struct of_device_id sfctemp_of_match[] = {
+ { .compatible = "starfive,jh7100-temp" },
+ { /* sentinel */ }
+};
+
+MODULE_DEVICE_TABLE(of, sfctemp_of_match);
+
+static struct platform_driver sfctemp_driver = {
+ .driver = {
+ .name = "sfctemp",
+ .of_match_table = of_match_ptr(sfctemp_of_match),
+ },
+ .probe = sfctemp_probe,
+};
+module_platform_driver(sfctemp_driver);
+
+MODULE_AUTHOR("Emil Renner Berthing");
+MODULE_DESCRIPTION("StarFive JH7100 temperature sensor driver");
+MODULE_LICENSE("GPL");
--
2.32.0
On Wed, 28 Jul 2021 at 18:54, Guenter Roeck <[email protected]> wrote:
> On 7/26/21 10:18 AM, Emil Renner Berthing wrote:
> > This adds a driver for the temperature sensor on the JH7100, a RISC-V
> > SoC by StarFive Technology Co. Ltd., and most likely also the upcoming
> > JH7110 version.
> >
> > The SoC is used on the BeagleV Starlight board:
> > https://github.com/beagleboard/beaglev-starlight
> >
> > Support for this SoC is not yet upstreamed, but is actively worked on,
> > so it should only be a matter of time before that happens.
> >
>
> Hmm, makes me wonder if I should apply the series now or later,
> when the chip is actually supported by the kernel. Comments/thoughts ?
>
> Guenter
I'd of course love if it was applied now. That would at least mean
fewer patches to rebase when keeping the beaglev patches [1] up to
date, and I'd be very surprised if SoC support doesn't make it
upstream eventually. But I'd also fully understand the position that
this only makes sense to add when support for the SoC is upstream too.
I'm adding Drew, as he might have something to say about this.
[1]: https://github.com/starfive-tech/linux/tree/beaglev
/Emil
> > v3:
> > * Handle timeouts from wait_for_completion_interruptible_timeout
> > properly.
> >
> > v2:
> > * Fix checkpatch.pl --strict warnings
> > - Add myself to MAINTAINERS
> > - Fix multiline comments
> > - Use proper case and whitespace for #defines
> > - Add comment to sfctemp::lock mutex.
> > * Remaining comments by Guenter Roeck
> > - Add Documentation/hwmon/sfctemp.rst
> > - Use devm_add_action() and devm_hwmon_device_register_with_info()
> > instead of a driver .remove function.
> > - Don't do test conversion at probe time.
> > - #include <linux/io.h>
> > - Remove unused #defines
> > - Use int return variable in sfctemp_convert().
> > * Add Samin's Signed-off-by to patch 2/2
> >
> > Emil Renner Berthing (2):
> > dt-bindings: hwmon: add starfive,jh7100-temp bindings
> > hwmon: (sfctemp) Add StarFive JH7100 temperature sensor
> >
> > .../bindings/hwmon/starfive,jh7100-temp.yaml | 43 +++
> > Documentation/hwmon/index.rst | 1 +
> > Documentation/hwmon/sfctemp.rst | 32 ++
> > MAINTAINERS | 8 +
> > drivers/hwmon/Kconfig | 10 +
> > drivers/hwmon/Makefile | 1 +
> > drivers/hwmon/sfctemp.c | 291 ++++++++++++++++++
> > 7 files changed, 386 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/hwmon/starfive,jh7100-temp.yaml
> > create mode 100644 Documentation/hwmon/sfctemp.rst
> > create mode 100644 drivers/hwmon/sfctemp.c
> >
>
On 7/26/21 10:18 AM, Emil Renner Berthing wrote:
> This adds a driver for the temperature sensor on the JH7100, a RISC-V
> SoC by StarFive Technology Co. Ltd., and most likely also the upcoming
> JH7110 version.
>
> The SoC is used on the BeagleV Starlight board:
> https://github.com/beagleboard/beaglev-starlight
>
> Support for this SoC is not yet upstreamed, but is actively worked on,
> so it should only be a matter of time before that happens.
>
Hmm, makes me wonder if I should apply the series now or later,
when the chip is actually supported by the kernel. Comments/thoughts ?
Guenter
> v3:
> * Handle timeouts from wait_for_completion_interruptible_timeout
> properly.
>
> v2:
> * Fix checkpatch.pl --strict warnings
> - Add myself to MAINTAINERS
> - Fix multiline comments
> - Use proper case and whitespace for #defines
> - Add comment to sfctemp::lock mutex.
> * Remaining comments by Guenter Roeck
> - Add Documentation/hwmon/sfctemp.rst
> - Use devm_add_action() and devm_hwmon_device_register_with_info()
> instead of a driver .remove function.
> - Don't do test conversion at probe time.
> - #include <linux/io.h>
> - Remove unused #defines
> - Use int return variable in sfctemp_convert().
> * Add Samin's Signed-off-by to patch 2/2
>
> Emil Renner Berthing (2):
> dt-bindings: hwmon: add starfive,jh7100-temp bindings
> hwmon: (sfctemp) Add StarFive JH7100 temperature sensor
>
> .../bindings/hwmon/starfive,jh7100-temp.yaml | 43 +++
> Documentation/hwmon/index.rst | 1 +
> Documentation/hwmon/sfctemp.rst | 32 ++
> MAINTAINERS | 8 +
> drivers/hwmon/Kconfig | 10 +
> drivers/hwmon/Makefile | 1 +
> drivers/hwmon/sfctemp.c | 291 ++++++++++++++++++
> 7 files changed, 386 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/hwmon/starfive,jh7100-temp.yaml
> create mode 100644 Documentation/hwmon/sfctemp.rst
> create mode 100644 drivers/hwmon/sfctemp.c
>
On Wed, 28 Jul 2021 at 19:05, Emil Renner Berthing <[email protected]> wrote:
> On Wed, 28 Jul 2021 at 18:54, Guenter Roeck <[email protected]> wrote:
> > On 7/26/21 10:18 AM, Emil Renner Berthing wrote:
> > > This adds a driver for the temperature sensor on the JH7100, a RISC-V
> > > SoC by StarFive Technology Co. Ltd., and most likely also the upcoming
> > > JH7110 version.
> > >
> > > The SoC is used on the BeagleV Starlight board:
> > > https://github.com/beagleboard/beaglev-starlight
> > >
> > > Support for this SoC is not yet upstreamed, but is actively worked on,
> > > so it should only be a matter of time before that happens.
> > >
> >
> > Hmm, makes me wonder if I should apply the series now or later,
> > when the chip is actually supported by the kernel. Comments/thoughts ?
> >
> > Guenter
>
> I'd of course love if it was applied now. That would at least mean
> fewer patches to rebase when keeping the beaglev patches [1] up to
> date, and I'd be very surprised if SoC support doesn't make it
> upstream eventually. But I'd also fully understand the position that
> this only makes sense to add when support for the SoC is upstream too.
> I'm adding Drew, as he might have something to say about this.
Hi Guenter,
Things have changed. The BeagleBoard.org foundation is no longer
planning to make any further boards using the JH7100 or upcoming
JH7110 SoCs from StarFive. I still think support for the JH7100 will
make it upstream eventually, but I'm no longer confident enough to
recommend merging this before there are more concrete plans for the
SoC. So thanks for the reviews. I'll repost it when I think it's time
to consider it for upstream again.
/Emil
On 8/1/21 1:19 PM, Emil Renner Berthing wrote:
> On Wed, 28 Jul 2021 at 19:05, Emil Renner Berthing <[email protected]> wrote:
>> On Wed, 28 Jul 2021 at 18:54, Guenter Roeck <[email protected]> wrote:
>>> On 7/26/21 10:18 AM, Emil Renner Berthing wrote:
>>>> This adds a driver for the temperature sensor on the JH7100, a RISC-V
>>>> SoC by StarFive Technology Co. Ltd., and most likely also the upcoming
>>>> JH7110 version.
>>>>
>>>> The SoC is used on the BeagleV Starlight board:
>>>> https://github.com/beagleboard/beaglev-starlight
>>>>
>>>> Support for this SoC is not yet upstreamed, but is actively worked on,
>>>> so it should only be a matter of time before that happens.
>>>>
>>>
>>> Hmm, makes me wonder if I should apply the series now or later,
>>> when the chip is actually supported by the kernel. Comments/thoughts ?
>>>
>>> Guenter
>>
>> I'd of course love if it was applied now. That would at least mean
>> fewer patches to rebase when keeping the beaglev patches [1] up to
>> date, and I'd be very surprised if SoC support doesn't make it
>> upstream eventually. But I'd also fully understand the position that
>> this only makes sense to add when support for the SoC is upstream too.
>> I'm adding Drew, as he might have something to say about this.
>
> Hi Guenter,
>
> Things have changed. The BeagleBoard.org foundation is no longer
> planning to make any further boards using the JH7100 or upcoming
> JH7110 SoCs from StarFive. I still think support for the JH7100 will
> make it upstream eventually, but I'm no longer confident enough to
> recommend merging this before there are more concrete plans for the
> SoC. So thanks for the reviews. I'll repost it when I think it's time
> to consider it for upstream again.
>
Thanks for the update.
Guenter