lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <48ECA101.8010604@billgatliff.com>
Date:	Wed, 08 Oct 2008 07:01:05 -0500
From:	Bill Gatliff <bgat@...lgatliff.com>
To:	Jon Smirl <jonsmirl@...il.com>
CC:	ARM Linux Mailing List <linux-arm-kernel@...ts.arm.linux.org.uk>,
	lkml <linux-kernel@...r.kernel.org>
Subject: Re: Toggling GPIO at 38Khz

Jon Smirl wrote:

> 
> Are there other techniques for generating pulse trains in the 36-56Khz
> range on a simple GPIO pin?
> 

Yes.

Use the GPIO pin to enable the output of an external circuit.  Or, hope that the
GPIO pin in question is multiplexed with a timer/counter or PWM peripheral.

But somehow, I don't think either answer is what you were looking for.  :)

36 KHz bit-banging is a reach for any processor running Linux, methinks.  Maybe
you could launch an FIQ (assuming ARM) and then do the bit-bang as a burst in
there, so that you would have more control over the timing.  But that kind of
code isn't going to play well with the rest of the kernel...

If the hardware design isn't set, you might want to consider using that GPIO
line as a quasi-SPI link to a small, AVR-type microcontroller that does the
bit-banging on your behalf.  Long-term, that's going to be a more reliable and
flexible solution I think.


b.g.
-- 
Bill Gatliff
bgat@...lgatliff.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ