MCPcopy Index your code
hub / github.com/cloud-hypervisor/cloud-hypervisor / create_serial_node

Function create_serial_node

arch/src/aarch64/fdt.rs:781–802  ·  view source on GitHub ↗
(
    fdt: &mut FdtWriter,
    dev_info: &T,
)

Source from the content-addressed store, hash-verified

779}
780
781fn create_serial_node<T: DeviceInfoForFdt + Clone + Debug>(
782 fdt: &mut FdtWriter,
783 dev_info: &T,
784) -> FdtWriterResult<()> {
785 let compatible = b"arm,pl011\0arm,primecell\0";
786 let serial_reg_prop = [dev_info.addr(), dev_info.length()];
787 let irq = [
788 GIC_FDT_IRQ_TYPE_SPI,
789 dev_info.irq() - IRQ_BASE,
790 IRQ_TYPE_EDGE_RISING,
791 ];
792
793 let serial_node = fdt.begin_node(&format!("pl011@{:x}", dev_info.addr()))?;
794 fdt.property("compatible", compatible)?;
795 fdt.property_array_u64("reg", &serial_reg_prop)?;
796 fdt.property_u32("clocks", CLOCK_PHANDLE)?;
797 fdt.property_string("clock-names", "apb_pclk")?;
798 fdt.property_array_u32("interrupts", &irq)?;
799 fdt.end_node(serial_node)?;
800
801 Ok(())
802}
803
804fn create_rtc_node<T: DeviceInfoForFdt + Clone + Debug>(
805 fdt: &mut FdtWriter,

Callers 1

create_devices_nodeFunction · 0.70

Calls 3

addrMethod · 0.45
lengthMethod · 0.45
irqMethod · 0.45

Tested by

no test coverage detected