You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/kernel-hackers-notebook/ev3-adc.md
+15-4Lines changed: 15 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -101,12 +101,23 @@ The EV3 uses a Texas Instruments ADS7957 chip. It is connected to the CPU via an
101
101
</tr>
102
102
<tr>
103
103
<td>15</td>
104
-
<td>N/C<td>Was motor current on pre-release hardware</td>
105
-
<td></td>
104
+
<td>N/C<td>
105
+
<td>Was motor current on pre-release hardware</td>
106
106
</tr>
107
107
</table>
108
108
109
109
## Notes
110
110
111
-
* In lsm2012, you will see scaling of the value read from the ADC by 4096 (12-bits) instead of by 1024 (10-bits). This is because they are not shifting the value read to the right 2 bits. Since this is a 10-bit chip, the 2 least significant bits read will always be 0.
112
-
* A TI employee wrote a [hwmon](https://www.kernel.org/doc/Documentation/hwmon/) driver for the ADS7957 ([source](https://github.com/nmenon/linux-2.6-playground/blob/devel/beaglebone/base/drivers/hwmon/ads79xx.c)) which is used by [lm-sensors](http://www.lm-sensors.org/). This interface is generally for low-speed (on the order of 1Hz) polling of fan speeds, temperatures, voltages, etc. This does not really fit our needs for ev3dev, so we borrowed some code and wrote our own driver.
111
+
* In lsm2012, you will see scaling of the value read from the ADC by 4096
112
+
(12-bits) instead of by 1024 (10-bits). This is because they are not shifting
113
+
the value read to the right 2 bits. Since this is a 10-bit chip, the 2 least
114
+
significant bits read will always be 0.
115
+
* A TI employee wrote a [hwmon] driver for the ADS7957 ([source][ads79xx.c])
116
+
which is used by [lm-sensors]. This interface is generally for low-speed
117
+
(on the order of 1Hz) polling of fan speeds, temperatures, voltages, etc.
118
+
This does not really fit our needs for ev3dev, so we borrowed some code and
Copy file name to clipboardExpand all lines: docs/kernel-hackers-notebook/ev3dev-linux-kernel.md
+45-75Lines changed: 45 additions & 75 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,19 +2,28 @@
2
2
title: ev3dev Linux Kernel
3
3
---
4
4
5
-
The bleeding edge upstream development for linux-davinci is hosted at [kernel.org](https://git.kernel.org/cgit/linux/kernel/git/nsekhar/linux-davinci.git).
5
+
The bleeding edge upstream development for linux-davinci is hosted at
6
+
[kernel.org][nsekhar].
6
7
7
-
The ev3dev kernel was originally based on [Davinci PSP 03.22.00.02](http://processors.wiki.ti.com/index.php/DaVinci_PSP_03.22.00.02_Release_Notes) from TI.
8
+
The ev3dev kernel was originally based on [Davinci PSP 03.22.00.02] from TI.
Most, if not all, of the customization of the ev3dev kernel is the addition and patching of hardware drivers for the EV3 specific hardware. TODO: add more about the ev3dev device driver philosophy - particularly in regard to attributes.
15
+
Most, if not all, of the customization of the ev3dev kernel is the addition and
16
+
patching of hardware drivers for the EV3 specific hardware. TODO: add more about
17
+
the ev3dev device driver philosophy - particularly in regard to attributes.
12
18
13
-
Be sure to check out the [hardware](index.html#hardware) pages for specifics on how the drivers interface with the hardware.
19
+
Be sure to check out the [hardware](index.html#hardware) pages for specifics on
20
+
how the drivers interface with the hardware.
14
21
15
22
## LMS2012 sources
16
23
17
-
Most of the EV3 specific drivers are based on the source code for the official LEGO firmware (aka LMS2012). The following table shows the relation of ev3dev drivers to LMS2012 drivers.
24
+
Most of the EV3 specific drivers are based on the source code for the official
25
+
LEGO firmware (aka LMS2012). The following table shows the relation of ev3dev
26
+
drivers to LMS2012 drivers.
18
27
19
28
<tableclass="table table-striped table-bordered">
20
29
<tr>
@@ -24,20 +33,20 @@ Most of the EV3 specific drivers are based on the source code for the official L
<td>ev3dev power off is done in <a href="https://github.com/ev3dev/ev3dev-kernel/blob/master/arch/arm/mach-davinci/board-</td>legoev3.c">board-legoev3.c</a></td>
<td>Using standard kernel drivers for the SoC UARTs. Ported <a href="
71
-
https://github.com/mindboards/ev3dev-kernel/tree/master/drivers/tty/serial/omapl_pru">omapl_pru</a> from LEGO firmware for PRU UARTs.</td>
83
+
<td>Using standard kernel drivers for the SoC UARTs. Ported <a href="https://github.com/mindboards/ev3dev-kernel/tree/master/drivers/tty/serial/omapl_pru">omapl_pru</a> from LEGO firmware for PRU UARTs.</td>
Drivers that implement standard kernel interfaces are located in the appropriate place in the kernel tree. Drivers that don't fit anywhere else are in `drivers/legoev3/`.
122
+
Most everything is in the [lego-linux-drivers] repository nowadays.
112
123
113
-
$ tree -P "*legoev3*|ev3_*|nxt_*|ms_*|st7586*" -I "*.o|*.ko|*.mod.c|ms_mg.*|config|debian" --prune
0 commit comments