mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 11:26:02 +09:00
media: i2c: rk628: add version parse func
Change-Id: I079bcf7a95d38d1e902543fbc522e75a7695db72 Signed-off-by: Chen Shunqing <csq@rock-chips.com> Signed-off-by: Guochun Huang <hero.huang@rock-chips.com>
This commit is contained in:
@@ -475,6 +475,29 @@ void rk628_post_process_en(struct rk628 *rk628,
|
||||
}
|
||||
EXPORT_SYMBOL(rk628_post_process_en);
|
||||
|
||||
static const char * const rk628_version[] = {
|
||||
"UNKNOWN",
|
||||
"RK628D",
|
||||
"RK628F/H",
|
||||
};
|
||||
|
||||
void rk628_version_parse(struct rk628 *rk628)
|
||||
{
|
||||
u32 version;
|
||||
|
||||
rk628_i2c_read(rk628, GRF_SOC_VERSION, &version);
|
||||
if (version == 0x20200326)
|
||||
rk628->version = RK628D_VERSION;
|
||||
else if (version == 0x20230321)
|
||||
rk628->version = RK628F_VERSION;
|
||||
else
|
||||
rk628->version = RK628_UNKNOWN;
|
||||
|
||||
dev_info(rk628->dev, "rk628 version is: %s (%x)\n",
|
||||
rk628_version[rk628->version], version);
|
||||
}
|
||||
EXPORT_SYMBOL(rk628_version_parse);
|
||||
|
||||
MODULE_AUTHOR("Shunqing Chen <csq@rock-chips.com>");
|
||||
MODULE_DESCRIPTION("Rockchip RK628 driver");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
@@ -190,7 +190,7 @@
|
||||
#define GRF_OS_REG1 0x0144
|
||||
#define GRF_OS_REG2 0x0148
|
||||
#define GRF_OS_REG3 0x014c
|
||||
#define GRF_SOC_VERSION 0x0150
|
||||
#define GRF_SOC_VERSION 0x0200
|
||||
#define GRF_MAX_REGISTER GRF_SOC_VERSION
|
||||
|
||||
enum {
|
||||
@@ -236,10 +236,17 @@ enum {
|
||||
RK628_DEV_MAX,
|
||||
};
|
||||
|
||||
enum {
|
||||
RK628_UNKNOWN,
|
||||
RK628D_VERSION,
|
||||
RK628F_VERSION,
|
||||
};
|
||||
|
||||
struct rk628 {
|
||||
struct device *dev;
|
||||
struct i2c_client *client;
|
||||
struct regmap *regmap[RK628_DEV_MAX];
|
||||
u8 version;
|
||||
void *txphy;
|
||||
};
|
||||
|
||||
@@ -280,5 +287,6 @@ void rk628_post_process_en(struct rk628 *rk628,
|
||||
struct videomode *src,
|
||||
struct videomode *dst,
|
||||
u64 *dst_pclk);
|
||||
void rk628_version_parse(struct rk628 *rk628);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user