On 2017-11-17 13:36, Ralf Ramsauer wrote:
> Hi Jan,
>
> On 11/17/2017 11:40 AM, [email protected] wrote:
>> From: Ruediger Fichter <[email protected]>
>>
>> Enable the clock gate of the debug console, even in the case it has been
>> turned off i.e. because the root cell is not using the UART.
>>
>> Signed-off-by: Ruediger Fichter <[email protected]>
>> Signed-off-by: Jan von Wiarda <[email protected]>
>> ---
>> hypervisor/arch/arm-common/uart-hscif.c | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/hypervisor/arch/arm-common/uart-hscif.c
>> b/hypervisor/arch/arm-common/uart-hscif.c
>> index 4eb7534..28eae9a 100644
>> --- a/hypervisor/arch/arm-common/uart-hscif.c
>> +++ b/hypervisor/arch/arm-common/uart-hscif.c
>> @@ -28,10 +28,17 @@
>>
>> #define HSCIF_FIFO_SIZE 128
>>
>> +#define CON_CLOCK_STS_REG 0xe61501c4
> this address looks like it is dependent of the specific board, and not
> of the UART device, right? In this case, it should not be hardcoded to
> the UART driver, as this would break other platforms that use the same
> driver.
Maybe it can be derived from clock_reg, should is defined via the system
config.
Jan
>> +
>> static void uart_init(struct uart_chip *chip)
>> {
>> + void *clock_reg = (void*)(unsigned long)chip->debug_console->clock_reg;
>> + void *clock_sts_reg = (void*)(unsigned long)CON_CLOCK_STS_REG;
>> + unsigned int gate_nr = chip->debug_console->gate_nr;
>> u16 hsscr;
>>
>> + mmio_write32(clock_reg, mmio_read32(clock_sts_reg) & ~(1 << gate_nr));
> I don't get this line. You're reading from clock_sts_reg, unset bit
> gate_nr and write the result to clock_reg.
>
> Why can't you read from a clock register, set/clear the uart-specific
> gate bit and write it back to the same address? That's the pattern we
> use in all other UART drivers.
>
> Ralf
>> +
>> if (chip->debug_console->divider) {
>> hsscr = mmio_read16(chip->virt_base + HSCIF_HSSCR);
>> mmio_write16(chip->virt_base + HSCIF_HSSCR,
>>
--
Siemens AG, Corporate Technology, CT RDA ITP SES-DE
Corporate Competence Center Embedded Linux
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.