[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4E4AFCC9.7020109@codeaurora.org>
Date: Tue, 16 Aug 2011 17:27:05 -0600
From: Kenneth Heitke <kheitke@...eaurora.org>
To: Arnd Bergmann <arnd@...db.de>
CC: sdharia@...eaurora.org, David Brown <davidb@...eaurora.org>,
Mark Brown <broonie@...nsource.wolfsonmicro.com>,
bryanh@...eaurora.org, linux-arm-msm@...r.kernel.org,
rdunlap@...otime.net, rmk+kernel@....linux.org.uk,
john.stultz@...aro.org, akpm@...ux-foundation.org, ohad@...ery.com,
gregkh@...e.de, stefanr@...6.in-berlin.de, lethal@...ux-sh.org,
linville@...driver.com, zajec5@...il.com,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH] slimbus: Linux driver framework for SLIMbus.
On 08/16/2011 01:49 PM, Arnd Bergmann wrote:
> On Tuesday 16 August 2011 10:44:35 sdharia@...eaurora.org wrote:
>>>
>>> SLIMbus is a MIPI standard bus primarily used for digital audio devices.
>>> The devices on the bus SLIMbus enumerate themselves by sending an
>>> IDENTITY message. I'll let Sagar clarify further.
>>
>> Thanks everyone for taking your time to review the RFC.
>> Regarding device discovery:
>> Every device sends a "PRESENT" message when it comes up. Every device has
>> 48-bit address like Ethernet and spec lets upto 256 devices (each getting
>> 8-bit logical address) on one bus.
>> The device can report anytime (when it's plugged in, when a dynamic module
>> powers it on etc.)
>> Typical use case will be to have it board-specific but as Mark
>> mentioned,we may have plug-in cards with slimbus devices so we want
>> dynamic support as well.
>
> Thanks for the info. The part that I still don't understand is how the
> 48-bit address and the 8 bit address are chosen. Do you mean that
> the 8-bit address identifies the location on the bus and is used
> when talking to the device locally while the 48-bit address is globally
> unique and different for each individual board?
>
> In that case, we would still not have any way to identify the type
> of device, other than using a look-up table of 8-bit addresses to
> device names (or numbers).
>
> Or does the 48-bit number actually tell us something about what
> device we're talking to, e.g. 24 bit vendor plus 24 bit device
> type and revision or such. If that's the case, the number needs
> to be the primary key that gets used to identify the driver,
> just like we do it in case of USB or PCI devices.
>
> Arnd
>
The 8-bit address is a logical address that is assigned by the SLIMbus
framework. The framework maintains the mapping of logical addresses to
the 48-bit Enumeration Address (EA). The 8-bit logical address is then
used for any further SLIMbus device addressing.
The slim_get_logical_addr() API call is used by the client drivers to
get the logical address that has been assigned to the device.
For the proposed implementation, the client drivers are probed before
their devices are discovered because the client driver may need to
power-up the device or pull it out of reset. Once the device is powered
up, the call to get_logical_address() will let the client know whether
or not their device has enumerated.
--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.
--
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