class SpiConfig

Defined at line 442 of file fidling/gen/sdk/fidl/fuchsia.hardware.amlogic.metadata/fuchsia.hardware.amlogic.metadata/cpp/fidl/fuchsia.hardware.amlogic.metadata/cpp/natural_types.h

Public Members

static const char[] kSerializableName

Public Methods

void SpiConfig (uint32_t bus_id, ::std::vector<uint32_t> cs, uint32_t clock_divider_register_value, bool use_enhanced_clock_mode, bool client_reverses_dma_transfers, uint32_t delay_control)
void SpiConfig ()

Default constructs a |SpiConfig| only if all of its members are default constructible.

Defined at line 454 of file fidling/gen/sdk/fidl/fuchsia.hardware.amlogic.metadata/fuchsia.hardware.amlogic.metadata/cpp/fidl/fuchsia.hardware.amlogic.metadata/cpp/natural_types.h

void SpiConfig (SpiConfig && )

Defined at line 457 of file fidling/gen/sdk/fidl/fuchsia.hardware.amlogic.metadata/fuchsia.hardware.amlogic.metadata/cpp/fidl/fuchsia.hardware.amlogic.metadata/cpp/natural_types.h

void SpiConfig (Storage_ storage)
void SpiConfig (const SpiConfig & other)
SpiConfig & operator= (const SpiConfig & other)
bool operator== (const SpiConfig & other)
bool operator!= (const SpiConfig & other)
uint32_t bus_id ()
uint32_t & bus_id ()
SpiConfig & bus_id (uint32_t value)

Setter for bus_id.

const ::std::vector<uint32_t> & cs ()

The index of the GPIO to use for each SPI device. GPIOs are expected to be fragments named

"gpio-cs-n", where n is the valued stored in `cs`.

Alternatively, entries may be set to `CS_CLIENT_MANAGED` to indicate that the client driver

will manage the cs GPIO for this chip (or that cs isn't needed).

::std::vector<uint32_t> & cs ()

The index of the GPIO to use for each SPI device. GPIOs are expected to be fragments named

"gpio-cs-n", where n is the valued stored in `cs`.

Alternatively, entries may be set to `CS_CLIENT_MANAGED` to indicate that the client driver

will manage the cs GPIO for this chip (or that cs isn't needed).

SpiConfig & cs (::std::vector<uint32_t> value)

The index of the GPIO to use for each SPI device. GPIOs are expected to be fragments named

"gpio-cs-n", where n is the valued stored in `cs`.

Alternatively, entries may be set to `CS_CLIENT_MANAGED` to indicate that the client driver

will manage the cs GPIO for this chip (or that cs isn't needed).

uint32_t clock_divider_register_value ()

The clock divider register value (NOT the actual clock divider) to use for SCLK.

If `use_enhanced_clock_mode` is true:

- `clock_divider_register_value` is written to ENHANCE_CNTL, and must be in [0, 255].

- The bus clock frequency is: core clock / (2 * (`clock_divider_register_value` + 1))

If `use_enhanced_clock_mode` is false:

- `clock_divider_register_value` is written to CONREG, and must be in [0, 7].

- The bus clock frequency is: core clock / (2 ^ (`clock_divider_register_value` + 2))

uint32_t & clock_divider_register_value ()

The clock divider register value (NOT the actual clock divider) to use for SCLK.

If `use_enhanced_clock_mode` is true:

- `clock_divider_register_value` is written to ENHANCE_CNTL, and must be in [0, 255].

- The bus clock frequency is: core clock / (2 * (`clock_divider_register_value` + 1))

If `use_enhanced_clock_mode` is false:

- `clock_divider_register_value` is written to CONREG, and must be in [0, 7].

- The bus clock frequency is: core clock / (2 ^ (`clock_divider_register_value` + 2))

SpiConfig & clock_divider_register_value (uint32_t value)

The clock divider register value (NOT the actual clock divider) to use for SCLK.

If `use_enhanced_clock_mode` is true:

- `clock_divider_register_value` is written to ENHANCE_CNTL, and must be in [0, 255].

- The bus clock frequency is: core clock / (2 * (`clock_divider_register_value` + 1))

If `use_enhanced_clock_mode` is false:

- `clock_divider_register_value` is written to CONREG, and must be in [0, 7].

- The bus clock frequency is: core clock / (2 ^ (`clock_divider_register_value` + 2))

SpiConfig & operator= (SpiConfig && )

Defined at line 458 of file fidling/gen/sdk/fidl/fuchsia.hardware.amlogic.metadata/fuchsia.hardware.amlogic.metadata/cpp/fidl/fuchsia.hardware.amlogic.metadata/cpp/natural_types.h

bool use_enhanced_clock_mode ()

If true, the SPI driver uses the enhanced clock mode instead of the regular clock mode.

bool & use_enhanced_clock_mode ()

If true, the SPI driver uses the enhanced clock mode instead of the regular clock mode.

SpiConfig & use_enhanced_clock_mode (bool value)

If true, the SPI driver uses the enhanced clock mode instead of the regular clock mode.

bool client_reverses_dma_transfers ()

If true, the client is responsible for reversing the endianness of transfers when using DMA.

bool & client_reverses_dma_transfers ()

If true, the client is responsible for reversing the endianness of transfers when using DMA.

SpiConfig & client_reverses_dma_transfers (bool value)

If true, the client is responsible for reversing the endianness of transfers when using DMA.

uint32_t delay_control ()

The value to use for the dlyctl field in TESTREG. The default value should work for

low-speed peripherals.

uint32_t & delay_control ()

The value to use for the dlyctl field in TESTREG. The default value should work for

low-speed peripherals.

SpiConfig & delay_control (uint32_t value)

The value to use for the dlyctl field in TESTREG. The default value should work for

low-speed peripherals.

void SpiConfig (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalStructCodingTraits