#clock-cells = <0>;
};
+ pd_edp: pd_edp {
+ compatible = "rockchip,rk-pd-clock";
+ clocks = <&pd_vio>;
+ clock-output-names = "pd_edp";
+ rockchip,pd-id = <CLK_PD_VIRT>;
+ #clock-cells = <0>;
+ };
+
+ pd_vop0: pd_vop0 {
+ compatible = "rockchip,rk-pd-clock";
+ clocks = <&pd_vio>;
+ clock-output-names = "pd_vop0";
+ rockchip,pd-id = <CLK_PD_VIRT>;
+ #clock-cells = <0>;
+ };
+
+ pd_vop1: pd_vop1 {
+ compatible = "rockchip,rk-pd-clock";
+ clocks = <&pd_vio>;
+ clock-output-names = "pd_vop1";
+ rockchip,pd-id = <CLK_PD_VIRT>;
+ #clock-cells = <0>;
+ };
+
+ pd_isp: pd_isp {
+ compatible = "rockchip,rk-pd-clock";
+ clocks = <&pd_vio>;
+ clock-output-names = "pd_isp";
+ rockchip,pd-id = <CLK_PD_VIRT>;
+ #clock-cells = <0>;
+ };
+
+ pd_iep: pd_iep {
+ compatible = "rockchip,rk-pd-clock";
+ clocks = <&pd_vio>;
+ clock-output-names = "pd_iep";
+ rockchip,pd-id = <CLK_PD_VIRT>;
+ #clock-cells = <0>;
+ };
+
+ pd_rga: pd_rga {
+ compatible = "rockchip,rk-pd-clock";
+ clocks = <&pd_vio>;
+ clock-output-names = "pd_rga";
+ rockchip,pd-id = <CLK_PD_VIRT>;
+ #clock-cells = <0>;
+ };
+
+ pd_mipicsi: pd_mipicsi {
+ compatible = "rockchip,rk-pd-clock";
+ clocks = <&pd_vio>;
+ clock-output-names = "pd_mipicsi";
+ rockchip,pd-id = <CLK_PD_VIRT>;
+ #clock-cells = <0>;
+ };
+
+ pd_mipidsi: pd_mipidsi {
+ compatible = "rockchip,rk-pd-clock";
+ clocks = <&pd_vio>;
+ clock-output-names = "pd_mipidsi";
+ rockchip,pd-id = <CLK_PD_VIRT>;
+ #clock-cells = <0>;
+ };
+
+ pd_lvds: pd_lvds {
+ compatible = "rockchip,rk-pd-clock";
+ clocks = <&pd_vio>;
+ clock-output-names = "pd_lvds";
+ rockchip,pd-id = <CLK_PD_VIRT>;
+ #clock-cells = <0>;
+ };
+
+ pd_hdmi: pd_hdmi {
+ compatible = "rockchip,rk-pd-clock";
+ clocks = <&pd_vio>;
+ clock-output-names = "pd_hdmi";
+ rockchip,pd-id = <CLK_PD_VIRT>;
+ #clock-cells = <0>;
+ };
+
};
.is_enabled = clk_pd_is_enabled,
};
+const struct clk_ops clk_pd_virt_ops = {
+
+};
+
+
struct clk *rk_clk_register_pd(struct device *dev, const char *name,
const char *parent_name, unsigned long flags,
u32 pd_id, spinlock_t *lock)
init.flags = flags | CLK_IS_BASIC;
init.parent_names = (parent_name ? &parent_name: NULL);
init.num_parents = (parent_name ? 1 : 0);
- init.ops = &clk_pd_ops;
+
+ if(pd_id == CLK_PD_VIRT)
+ init.ops = &clk_pd_virt_ops;
+ else
+ init.ops = &clk_pd_ops;
/* struct clk_pd assignments */
pd->id= pd_id;