qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [RFC v2] hw/sd/aspeed_sdhci: New device


From: Cédric Le Goater
Subject: Re: [Qemu-devel] [RFC v2] hw/sd/aspeed_sdhci: New device
Date: Mon, 19 Aug 2019 08:42:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

On 15/08/2019 22:21, Eddie James wrote:
> 
> On 8/15/19 3:13 PM, Eddie James wrote:
>>
>> On 8/15/19 3:05 AM, Cédric Le Goater wrote:
>>> Hello Eddie,
>>>
>>> On 14/08/2019 22:27, Eddie James wrote:
>>>>
>>>> +        sdhci->slots[0].capareg = (uint64_t)(uint32_t)val;
>>>> +        break;
>>>> +    case ASPEED_SDHCI_SDIO_148:
>>>> +        sdhci->slots[0].maxcurr = (uint64_t)(uint32_t)val;
>>>> +        break;
>>>> +    case ASPEED_SDHCI_SDIO_240:
>>>> +        sdhci->slots[1].capareg = (uint64_t)(uint32_t)val;
>>>> +        break;
>>>> +    case ASPEED_SDHCI_SDIO_248:
>>>> +        sdhci->slots[1].maxcurr = (uint64_t)(uint32_t)val;
>>>> +        break;
>>> I think these regs are readonly.
>>
>>
>> Well the actual regs at slot + 0x40/0x48 are indeed, but not the 
>> Aspeed-specific ones that mirror there. I think the idea is that 
>> Aspeed-specific code can set it's capabilities differently if desired. This 
>> may prevent the use of alias regions here.
> 
> 
> Actually I could be wrong after reading the specs again. It's a little 
> confusing. I'm fine with making it read-only anyway, I doubt there will be 
> any code that needs to write it.

Let's ask Aspeed what was the intent. It is a bit weird indeed. 

> 
> 
>>
>>
>>>
>>>> +    default:
>>>> +        if (addr < ASPEED_SDHCI_REG_SIZE) {
>>>> +            sdhci->regs[TO_REG(addr)] = (uint32_t)val;
>>>> +        }
>>>> +    }
>>>> +}
>>>> +
>>>> +static const MemoryRegionOps aspeed_sdhci_ops = {
>>>> +    .read = aspeed_sdhci_read,
>>>> +    .write = aspeed_sdhci_write,
>>>> +    .endianness = DEVICE_NATIVE_ENDIAN,
>>>> +    .valid.min_access_size = 4, 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]