From f0d840d1902b8f09687d253c793bee7ad9624c3f Mon Sep 17 00:00:00 2001 From: John Klug Date: Mon, 28 Feb 2022 16:53:09 -0600 Subject: Move MTAC-PULSE to GPIO descriptor library in the kernel --- README | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) (limited to 'README') diff --git a/README b/README index fa298b0..787c4ff 100644 --- a/README +++ b/README @@ -6,11 +6,34 @@ This driver requires the mtac.ko driver loaded first. depmod should take care of this. -Documentation for this board is here: +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. -http://www.multitech.net/developer/software/mlinux/using-mlinux/mlinux-using-accessory-cards/mtac-pulse-usage/ +Atmel calls "Open Drain" "MultiDriver". -An init script can look in: -/lib/modules/$(uname -r)/extra/mtac_xdot.ko +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. -to find the driver. +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. -- cgit v1.2.3