rk3368: scpi: add interface set cycle for tsadc
authorDavid Wu <wdc@rock-chips.com>
Tue, 4 Aug 2015 10:17:27 +0000 (18:17 +0800)
committerDavid Wu <wdc@rock-chips.com>
Tue, 4 Aug 2015 10:46:20 +0000 (18:46 +0800)
Signed-off-by: David Wu <wdc@rock-chips.com>
drivers/mailbox/scpi_cmd.h
drivers/mailbox/scpi_protocol.c
include/linux/scpi_protocol.h

index 8d285672e645d56319c2e133546e8e112ad5a820..a15ef87b547a55dd8d773be700388e73daecf120 100644 (file)
@@ -99,6 +99,7 @@ enum scpi_std_cmd {
 
 enum scpi_thermal_cmd {
        SCPI_THERMAL_GET_TSADC_DATA,
+       SCPI_THERMAL_SET_TSADC_CYCLE,
        SCPI_THERMAL_COUNT
 };
 
index 145397c1929585b2e6a01f0086349475b5437438..10cefa0bb2fcc1a9a5bf285396f5ee9d0e71df02 100644 (file)
@@ -597,6 +597,26 @@ int scpi_thermal_get_temperature(void)
 }
 EXPORT_SYMBOL_GPL(scpi_thermal_get_temperature);
 
+int scpi_thermal_set_clk_cycle(u32 cycle)
+{
+       struct scpi_data_buf sdata;
+       struct rockchip_mbox_msg mdata;
+       struct __packed1 {
+               u32 clk_cycle;
+       } tx_buf;
+
+       struct __packed2 {
+               u32 status;
+       } rx_buf;
+
+       tx_buf.clk_cycle = cycle;
+       SCPI_SETUP_DBUF(sdata, mdata, SCPI_CL_THERMAL,
+                       SCPI_THERMAL_SET_TSADC_CYCLE, tx_buf, rx_buf);
+
+       return scpi_execute_cmd(&sdata);
+}
+EXPORT_SYMBOL_GPL(scpi_thermal_set_clk_cycle);
+
 static struct of_device_id mobx_scpi_of_match[] = {
        { .compatible = "rockchip,mbox-scpi"},
        { },
index 8dc47a2b3dc48bc567035725da29009f9bebccff..dfa665ab034f58273e40794b77fe01fe7c0bd711 100644 (file)
@@ -48,4 +48,4 @@ int scpi_ddr_bandwidth_get(struct ddr_bw_info *ddr_bw_ch0,
                           struct ddr_bw_info *ddr_bw_ch1);
 int scpi_ddr_get_clk_rate(void);
 int scpi_thermal_get_temperature(void);
-
+int scpi_thermal_set_clk_cycle(u32 cycle);