summaryrefslogtreecommitdiff
path: root/README
blob: 787c4ff35e9c682f3f7301aa95af8456b16cc2b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
This kernel module creates the
/sys/devices/platform/mts-io enumeration
of the features for MTAC PULSE boards.

This driver requires the mtac.ko driver
loaded first.  depmod should take care
of this.

This driver used to attempt to set "open drain" from
the GPIO driver. This is not allowed by the Atmel
GPIO driver.  In newer kernels it warns that this
does not work. Open drain must be set by the
Atmel pinctrl driver for Atmel GPIO controllers.

Atmel calls "Open Drain" "MultiDriver".

The lack of multidrive was verified in
kernel 3.12.70, mLinux 4.1.1 with MTAC-PULSE-BP
in slot AP1. The pin for AP1_NRESET is PB12.
The AP2_NRESET is PB13.

The device address for PIOB is 0xFFFF F600.
The offset for register PIO_MDSR is 0x58.
PIO_MDSR is Multi-Driver Status Register, and
Multi-Driver is what Atmel calls Open Drain.

   mtcdt:/home/mtadm# devmem2 0xfffff658                                                                                                                                                                            * /dev/mem opened.
   Memory mapped at address 0xb6f35000.
   Read at address  0xFFFFF658 (0xb6f35658): 0x00000000

This says that in 4.1.1 mLinux, no outputs for PIOB 
are set to multi-driver.

   mtcdt:/sys/devices/platform/mts-io/ap1# cat hw-version
   MTAC-PULSE-0.0

pinctrl settings must be done in device tree for Atmel
processors when trying to set pull-up, pull-down, or
multi-drive.