- 15 Mar, 2019 5 commits
-
-
Angus Ainslie (Purism) authored
Add the touchscreen node for the Librem5 devkit Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
Angus Ainslie (Purism) authored
Add the vsnl4040 proximity detector Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
Angus Ainslie (Purism) authored
These regulators can be disabled without affecting the functioning of the board. Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
Angus Ainslie (Purism) authored
-
Angus Ainslie (Purism) authored
The VCNL4040 is almost identical to the VCNL4200 as far as register layout goes but just need to check a different ID register location. This does change the initialization sequence of the VCNL4200 to use word writes instead of byte writes. The VCNL4200 says that word read and writes should be used to access the registers but I don't have a 4200 to test with. The VCNL4040 doesn't initialize properly with the byte writes. Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
- 14 Mar, 2019 22 commits
-
-
Angus Ainslie (Purism) authored
There are 3 TMU ( Thermal management unit ) sensors on the board. Add the the GPU and VPU nodes. Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
Andrey Smirnov authored
Expose thermal readings as a HWMON device, so that it could be accessed using lm-sensors. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
Before returning measured temperature data to upper layer we need to make sure that the reading was marked as "valid" to avoid reporting bogus data. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
Tmu_get_temp will get called as a part of sensor registration via devm_thermal_zone_of_sensor_register(). To prevent it from retruning bogus data we need to enable sensor monitoring before that. Looking at the datasheet (i.MX8MQ RM) there doesn't seem to be any harm in enabling them all, so, for the sake of simplicity, change the code to do just that. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
Convert driver to use regmap API, drop custom LE/BE IO helpers and simplify bit manipulation using regmap_update_bits(). This also allows us to convert some register initialization to use loops and adds convenient debug access to TMU registers via debugfs. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
Convert driver to use devm_ioremap() to simplify memory deallocation and error handling code. No functional change intended. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
We can simplify error cleanup code if instead of passing a "struct platform_device *" to qoriq_tmu_calibration() and deriving a bunch of pointers from it, we pass those pointers directly. This way we won't be force to call platform_set_drvdata() as early in qoriq_tmu_probe() and consequently would be able to drop the "err_iomap" error path. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
Pass all necessary data to qoriq_tmu_register_tmu_zone() directly instead of passing a paltform device and then deriving it. This is done as a first step to simplify resource deallocation code. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
Embed per-sensor data into struct qoriq_tmu_data so we can drop the code allocating it. This also allows us to get rid of per-sensor back reference to struct qoriq_tmu_data since now its address can be caluclated using container_of(). Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
Add local struct qoriq_sensor pointer in qoriq_tmu_register_tmu_zone() for brevity. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
Struct thermal_zone_device reference stored as sensor's private data isn't really used anywhere in the code. Drop it. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
Use a local "struct device *dev" for brevity. No functional change intended. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
This driver is meant to be used with Device Tree and there's no use-case where device's DT node is going to be NULL. Remove code protecting against that. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Andrey Smirnov authored
Add devres wrapper for thermal_add_hwmon_sysfs() to simplify driver code. Signed-off-by:
Andrey Smirnov <andrew.smirnov@gmail.com> Cc: Chris Healy <cphealy@gmail.com> Cc: Lucas Stach <l.stach@pengutronix.de> Cc: Zhang Rui <rui.zhang@intel.com> Cc: Eduardo Valentin <edubezval@gmail.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: linux-imx@nxp.com Cc: linux-pm@vger.kernel.org Cc: linux-kernel@vger.kernel.org
-
Yuantian Tang authored
The QorIQ Layerscape SoC has several thermal sensors but the current driver only supports one. Massage the code to be sensor oriented and allow the support for multiple sensors. Signed-off-by:
Yuantian Tang <andy.tang@nxp.com> Reviewed-by:
Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by:
Eduardo Valentin <edubezval@gmail.com>
-
Angus Ainslie (Purism) authored
Fix the gyro entry and add the magnetometer Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
Angus Ainslie authored
-
Angus Ainslie (Purism) authored
Match the phy address in the node with the node name Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
Angus Ainslie (Purism) authored
Use upstream naming conventions Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
Angus Ainslie authored
-
Angus Ainslie authored
-
Angus Ainslie (Purism) authored
-
- 06 Mar, 2019 13 commits
-
-
Angus Ainslie (Purism) authored
-
Angus Ainslie (Purism) authored
-
Angus Ainslie (Purism) authored
-
Angus Ainslie (Purism) authored
Add the sdma nodes to the base devicetree for the imx8mq Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
Angus Ainslie (Purism) authored
Without the copy being aligned sdma1 fails ~10% of the time Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
Angus Ainslie (Purism) authored
On i.mx8mq, there are two sdma instances, and the common dma framework will get a channel dynamically from any available sdma instance whether it's the first sdma device or the second sdma device. Some IPs like SAI only work with sdma2 not sdma1. To make sure the sdma channel is from the correct sdma device, use the node pointer to match. Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca> Reviewed-by:
Lucas Stach <l.stach@pengutronix.de>
-
Angus Ainslie (Purism) authored
On i.mx8 mscale B0 chip, AHB/SDMA clock ratio 2:1 can't be supportted, since SDMA clock ratio has to be increased to 250Mhz, AHB can't reach to 500Mhz, so use 1:1 instead. Based on NXP commit MLK-16841-1 by Robin Gong <yibin.gong@nxp.com> Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca> Reviewed-by:
Lucas Stach <l.stach@pengutronix.de>
-
Angus Ainslie (Purism) authored
On the imx8mq I get NULL pointer de-deference errors if the device isn't passed in during allocation. Signed-off-by:
Angus Ainslie (Purism) <angus@akkea.ca>
-
Angus Ainslie authored
-
Angus Ainslie authored
On i.MX8MQ, when the CPU core is in power down state, the IPI can NOT wakeup the core anymore(ERR011171), so using the external IRQ32 to wakeup the core in power down idle state successfully. Signed-off-by:
Bai Ping <ping.bai@nxp.com> Reviewed-by:
Anson Huang <anson.huang@nxp.com>
-
Angus Ainslie authored
-
Abel Vesa authored
Add the opp table containing only non over drive opps. Also add the cpu-supply nodes for the A53 cores in the EVK board. Signed-off-by:
Abel Vesa <abel.vesa@nxp.com>
-
Abel Vesa authored
The clocks and their latencies will be used by cpufreq-dt. Signed-off-by:
Abel Vesa <abel.vesa@nxp.com>
-