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-next>] [day] [month] [year] [list]
Message-ID: <511FBBF7.2020103@gmail.com>
Date:	Sat, 16 Feb 2013 18:03:51 +0100
From:	Daniel Mack <zonque@...il.com>
To:	Mark Brown <broonie@...nsource.wolfsonmicro.com>
CC:	LKML <linux-kernel@...r.kernel.org>,
	Dimitris Papastamos <dp@...nsource.wolfsonmicro.com>
Subject: regmap: Question about devices with unequal register sizes

Hi Mark and everyone,

I'm writing a driver for an I2C audio codec which has an unusual
register map. The datasheet can be found here:

  http://www.ti.com/lit/gpn/tas5086

The register layout is described on page 26, and they call their
registers 'subaddresses'. Up to sub-address 0x1c, I see no problem
mapping that to a simple 8-bit regmap layout, but above that, access
gets trickier because registers change their sizes, which breaks the cache.

So for example, in order to set the 'Downmix input MUX register', the
host is expected to send the sub-address 0x21, followed by 4 consecutive
bytes containing the values. 0x21 is, however, not the correct offset in
the register cache, as 0x20 ('Input MUX register') is also 4 bytes in
size. Higher registers also have to be written in 20 byte blocks.

I thought about registering multiple regmaps with the i2c device, but
that turns out not to play well with ASoC, which always takes the first
regmap for the device.

Are ranges within in the regmap_config what I want here? I haven't yet
figured how to use them accordingly though.

Thanks for sharing any ideas.


Best regards,
Daniel
--
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