Thanks. I have applied on top of linaro acpi kernel and verified it on the foundation-v8 model. Acked-by: naresh.bhat@xxxxxxxxxx On 22 October 2013 06:03, <brandon.anderson@xxxxxxx> wrote: > From: Brandon Anderson <brandon.anderson@xxxxxxx> > > This is a proposal for ACPI driver probing of the ARM AMBA devices currently listed under ‘iofpga’ in the RTSM dts file. The main addition is drivers/amba/acpi.c which fits the role of an AMBA bus ‘connector resource’ for ACPI using struct amba_device. > > I have not yet figured out the implementation details regarding clocks (handled in the dts file with clock-names). However, I have included a proposed ASL format for clock information in the DSDT example below. With the last patch that hacks the clock info, this prototype will run on the Foundation and RTSM models. > > These patches require Hanjun’s fixed-clock patches to be applied first on top of a Linaro ACPI kernel: https://git.linaro.org/gitweb?p=arm/acpi/leg-kernel.git;a=summary > > Please comment on both the concept and the implementation. > > Brandon Anderson (3): > Remove UART and KMI entries from DTS file > Prototype of AMBA bus 'connector resource' for ACPI > Hack clock names to get prototype running > > arch/arm64/boot/dts/foundation-v8-acpi.dts | 10 +- > arch/arm64/boot/dts/rtsm_ve-aemv8a-acpi.dts | 4 + > arch/arm64/boot/dts/rtsm_ve-motherboard-acpi.dtsi | 4 + > drivers/acpi/acpi_platform.c | 2 + > drivers/amba/Makefile | 2 +- > drivers/amba/acpi.c | 172 +++++++++++++++++++++ > drivers/clk/clk-fixed-rate.c | 15 +- > 7 files changed, 203 insertions(+), 6 deletions(-) > create mode 100644 drivers/amba/acpi.c > > -- > 1.7.9.5 > > > --- > > Device (AMBA) { > Name (_HID, "AMBA0000") /* the parallel to "arm,primecell" in DTS */ > Name (_UID, 0) > > /* Define 'apb_pclk' as a default clock source since it is > common with devices below */ > Method(_DSM, 4, NotSerialized) { > Store (Package (3) > { > "clock-name", "apb_pclk", "\\_SB_.CLK0", > }, Local0) > > Return (Local0) > } > > Device (KMI0) { > Name (_ADR,0x1c060000) > Method (_CRS, 0x0, Serialized) { > Name (RBUF, ResourceTemplate () { > Memory32Fixed (ReadWrite, 0x1c060000, 0x00010000) > Interrupt (ResourceConsumer, Edge, ActiveBoth, > Exclusive, , , ) {44} > }) > Return (RBUF) > } > } > > Device (KMI1) { > Name (_ADR,0x1c070000) > Method (_CRS, 0x0, Serialized) { > Name (RBUF, ResourceTemplate () { > Memory32Fixed (ReadWrite, 0x1c070000, 0x00010000) > Interrupt (ResourceConsumer, Edge, ActiveBoth, > Exclusive, , , ) {45} > }) > Return (RBUF) > } > } > > Device (SER0) { > Name (_ADR,0x1c090000) // UART0 > Method (_CRS, 0x0, Serialized) { > Name (RBUF, ResourceTemplate () { > Memory32Fixed (ReadWrite, 0x1c090000, 0x00010000) > Interrupt (ResourceConsumer, Edge, ActiveBoth, > Exclusive, , , ) {37} > }) > Return (RBUF) > } > } > > Device (SER1) { > Name (_ADR,0x1c0a0000) // UART1 > Method (_CRS, 0x0, Serialized) { > Name (RBUF, ResourceTemplate () { > Memory32Fixed (ReadWrite, 0x1c0a0000, 0x00010000) > Interrupt (ResourceConsumer, Edge, ActiveBoth, > Exclusive, , , ) {38} > }) > Return (RBUF) > } > } > Device (SER2) { > Name (_ADR,0x1c0b0000) // UART2 > Method (_CRS, 0x0, Serialized) { > Name (RBUF, ResourceTemplate () { > Memory32Fixed (ReadWrite, 0x1c0b0000, 0x00010000) > Interrupt (ResourceConsumer, Edge, ActiveBoth, > Exclusive, , , ) {39} > }) > Return (RBUF) > } > } > > Device (SER3) { > Name (_ADR,0x1c0c0000) // UART3 > Method (_CRS, 0x0, Serialized) { > Name (RBUF, ResourceTemplate () { > Memory32Fixed (ReadWrite, 0x1c0c0000, 0x00010000) > Interrupt (ResourceConsumer, Edge, ActiveBoth, > Exclusive, , , ) {40} > }) > Return (RBUF) > } > } > } > > -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html