OpenBIC
OpenSource Bridge-IC
clock_shell.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <zephyr.h>
#include <logging/log.h>
#include <sys/slist.h>
#include "libutil.h"
#include "plat_i2c.h"
#include "clock_shell.h"
Include dependency graph for clock_shell.c:

Classes

struct  _clock_default_info
 

Macros

#define CLK_BUF_U85_ADDR   (0xCE >> 1)
 
#define CLK_BUF_U87_ADDR   (0xD8 >> 1)
 
#define CLK_BUF_U88_ADDR   (0xDE >> 1)
 
#define CLK_BUF_100M_WRITE_LOCK_CLEAR_LOS_EVENT_OFFSET   0x27
 
#define CLK_BUF_100M_BYTE_COUNT   0x7
 
#define REGISTER_BYTE_MAX   4
 

Typedefs

typedef struct _clock_default_info clock_default_info
 

Functions

 LOG_MODULE_REGISTER (clock_shell)
 
int find_clock_address_and_bus_by_clock_name_index (uint8_t clock_index, uint8_t *addr, uint8_t *bus)
 
bool clock_enum_get (uint8_t *name, uint8_t *num)
 
void cmd_set_clock (const struct shell *shell, size_t argc, char **argv)
 
void cmd_get_clock (const struct shell *shell, size_t argc, char **argv)
 
void cmd_get_clock_status (const struct shell *shell, size_t argc, char **argv)
 
void cmd_clear_clock_status (const struct shell *shell, size_t argc, char **argv)
 
bool clock_name_get (uint8_t index, uint8_t **name)
 
 SHELL_DYNAMIC_CMD_CREATE (clock_name, all_clock_name_get)
 
 SHELL_STATIC_SUBCMD_SET_CREATE (sub_clock_cmds, SHELL_CMD_ARG(set, &clock_name, "set <clock> <reg-offset> <value>|default", cmd_set_clock, 4, 3), SHELL_CMD_ARG(get, &clock_name, "get <clock> <reg-offset> <read_length>", cmd_get_clock, 4, 0), SHELL_SUBCMD_SET_END)
 
 SHELL_CMD_REGISTER (clock, &sub_clock_cmds, "Clock commands for AG", NULL)
 
 SHELL_STATIC_SUBCMD_SET_CREATE (sub_clock_status_cmds, SHELL_CMD_ARG(get, &clock_name, "get <clock>", cmd_get_clock_status, 2, 0), SHELL_CMD_ARG(clear, &clock_name, "clear <clock>", cmd_clear_clock_status, 2, 0), SHELL_SUBCMD_SET_END)
 
 SHELL_CMD_REGISTER (clock_status, &sub_clock_status_cmds, "Clock status commands for AG", NULL)
 

Variables

clock_compnt_mapping clock_compnt_mapping_table []
 

Macro Definition Documentation

◆ CLK_BUF_100M_BYTE_COUNT

#define CLK_BUF_100M_BYTE_COUNT   0x7

◆ CLK_BUF_100M_WRITE_LOCK_CLEAR_LOS_EVENT_OFFSET

#define CLK_BUF_100M_WRITE_LOCK_CLEAR_LOS_EVENT_OFFSET   0x27

◆ CLK_BUF_U85_ADDR

#define CLK_BUF_U85_ADDR   (0xCE >> 1)

◆ CLK_BUF_U87_ADDR

#define CLK_BUF_U87_ADDR   (0xD8 >> 1)

◆ CLK_BUF_U88_ADDR

#define CLK_BUF_U88_ADDR   (0xDE >> 1)

◆ REGISTER_BYTE_MAX

#define REGISTER_BYTE_MAX   4

Typedef Documentation

◆ clock_default_info

Function Documentation

◆ clock_enum_get()

bool clock_enum_get ( uint8_t *  name,
uint8_t *  num 
)

◆ clock_name_get()

bool clock_name_get ( uint8_t  index,
uint8_t **  name 
)

◆ cmd_clear_clock_status()

void cmd_clear_clock_status ( const struct shell *  shell,
size_t  argc,
char **  argv 
)
Here is the call graph for this function:

◆ cmd_get_clock()

void cmd_get_clock ( const struct shell *  shell,
size_t  argc,
char **  argv 
)
Here is the call graph for this function:

◆ cmd_get_clock_status()

void cmd_get_clock_status ( const struct shell *  shell,
size_t  argc,
char **  argv 
)
Here is the call graph for this function:

◆ cmd_set_clock()

void cmd_set_clock ( const struct shell *  shell,
size_t  argc,
char **  argv 
)
Here is the call graph for this function:

◆ find_clock_address_and_bus_by_clock_name_index()

int find_clock_address_and_bus_by_clock_name_index ( uint8_t  clock_index,
uint8_t *  addr,
uint8_t *  bus 
)

◆ LOG_MODULE_REGISTER()

LOG_MODULE_REGISTER ( clock_shell  )

◆ SHELL_CMD_REGISTER() [1/2]

SHELL_CMD_REGISTER ( clock  ,
sub_clock_cmds,
"Clock commands for AG"  ,
NULL   
)

◆ SHELL_CMD_REGISTER() [2/2]

SHELL_CMD_REGISTER ( clock_status  ,
sub_clock_status_cmds,
"Clock status commands for AG"  ,
NULL   
)

◆ SHELL_DYNAMIC_CMD_CREATE()

SHELL_DYNAMIC_CMD_CREATE ( clock_name  ,
all_clock_name_get   
)

◆ SHELL_STATIC_SUBCMD_SET_CREATE() [1/2]

SHELL_STATIC_SUBCMD_SET_CREATE ( sub_clock_cmds  ,
SHELL_CMD_ARG(set, &clock_name, "set <clock> <reg-offset> <value>|default", cmd_set_clock, 4, 3)  ,
SHELL_CMD_ARG(get, &clock_name, "get <clock> <reg-offset> <read_length>", cmd_get_clock, 4, 0)  ,
SHELL_SUBCMD_SET_END   
)

◆ SHELL_STATIC_SUBCMD_SET_CREATE() [2/2]

SHELL_STATIC_SUBCMD_SET_CREATE ( sub_clock_status_cmds  ,
SHELL_CMD_ARG(get, &clock_name, "get <clock>", cmd_get_clock_status, 2, 0)  ,
SHELL_CMD_ARG(clear, &clock_name, "clear <clock>", cmd_clear_clock_status, 2, 0)  ,
SHELL_SUBCMD_SET_END   
)

Variable Documentation

◆ clock_compnt_mapping_table

clock_compnt_mapping clock_compnt_mapping_table[]
Initial value:
= {
{ CLK_BUF_100M_U85, CLK_BUF_U85_ADDR, I2C_BUS1, "CLK_BUF_100M_U85" },
{ CLK_BUF_100M_U87, CLK_BUF_U87_ADDR, I2C_BUS1, "CLK_BUF_100M_U87" },
{ CLK_BUF_100M_U88, CLK_BUF_U88_ADDR, I2C_BUS3, "CLK_BUF_100M_U88" },
}
#define I2C_BUS3
Definition: plat_i2c.h:26
#define I2C_BUS1
Definition: plat_i2c.h:24
#define CLK_BUF_U87_ADDR
Definition: clock_shell.c:30
#define CLK_BUF_U85_ADDR
Definition: clock_shell.c:29
#define CLK_BUF_U88_ADDR
Definition: clock_shell.c:31
@ CLK_BUF_100M_U88
Definition: clock_shell.h:22
@ CLK_BUF_100M_U87
Definition: clock_shell.h:22
@ CLK_BUF_100M_U85
Definition: clock_shell.h:22