diff --git a/XilinxProcessorIPLib/drivers/v_hdmirxss/data/v_hdmirxss.tcl b/XilinxProcessorIPLib/drivers/v_hdmirxss/data/v_hdmirxss.tcl index 53b999b5..fc79af9a 100755 --- a/XilinxProcessorIPLib/drivers/v_hdmirxss/data/v_hdmirxss.tcl +++ b/XilinxProcessorIPLib/drivers/v_hdmirxss/data/v_hdmirxss.tcl @@ -39,27 +39,27 @@ proc generate {drv_handle} { ::hsi::utils::define_include_file $drv_handle "xparameters.h" "XV_HdmiRxSs" \ - "NUM_INSTANCES" \ - "C_BASEADDR" \ - "C_HIGHADDR" \ - "DEVICE_ID" \ - "C_INPUT_PIXELS_PER_CLOCK" \ - "C_MAX_BITS_PER_COMPONENT" + "NUM_INSTANCES" \ + "C_BASEADDR" \ + "C_HIGHADDR" \ + "DEVICE_ID" \ + "C_INPUT_PIXELS_PER_CLOCK" \ + "C_MAX_BITS_PER_COMPONENT" hier_ip_define_config_file $drv_handle "xv_hdmirxss_g.c" "XV_HdmiRxSs" \ - "DEVICE_ID" \ - "C_BASEADDR" \ - "C_HIGHADDR" \ - "C_INPUT_PIXELS_PER_CLOCK" \ - "C_MAX_BITS_PER_COMPONENT" + "DEVICE_ID" \ + "C_BASEADDR" \ + "C_HIGHADDR" \ + "C_INPUT_PIXELS_PER_CLOCK" \ + "C_MAX_BITS_PER_COMPONENT" ::hsi::utils::define_canonical_xpars $drv_handle "xparameters.h" \ - "XV_HdmiRxSs" \ - "C_BASEADDR" \ - "C_HIGHADDR" \ - "DEVICE_ID" \ - "C_INPUT_PIXELS_PER_CLOCK" \ - "C_MAX_BITS_PER_COMPONENT" + "XV_HdmiRxSs" \ + "C_BASEADDR" \ + "C_HIGHADDR" \ + "DEVICE_ID" \ + "C_INPUT_PIXELS_PER_CLOCK" \ + "C_MAX_BITS_PER_COMPONENT" } @@ -81,11 +81,11 @@ proc hier_ip_define_config_file {drv_handle file_name drv_string args} { set periphs_g [::hsi::utils::get_common_driver_ips $drv_handle] - array set sub_core_inst { - axi_timer 1 - hdcp 1 - v_hdmi_rx 1 - } + array set sub_core_inst { + axi_timer 1 + hdcp 1 + v_hdmi_rx 1 + } #MAGS #foreach name [array names sub_core_inst] { @@ -93,113 +93,113 @@ proc hier_ip_define_config_file {drv_handle file_name drv_string args} { #} foreach periph_g $periphs_g { - set mem_ranges [::hsi::get_mem_ranges $periph_g] + set mem_ranges [::hsi::get_mem_ranges $periph_g] - ::hsi::current_hw_instance $periph_g; + ::hsi::current_hw_instance $periph_g; - set child_cells_g [::hsi::get_cells -hier] + set child_cells_g [::hsi::get_cells -hier] - foreach child_cell_g $child_cells_g { - set child_cell_vlnv [::common::get_property VLNV $child_cell_g] - set child_cell_name_g [common::get_property NAME $child_cell_g] - set vlnv_arr [split $child_cell_vlnv :] + foreach child_cell_g $child_cells_g { + set child_cell_vlnv [::common::get_property VLNV $child_cell_g] + set child_cell_name_g [common::get_property NAME $child_cell_g] + set vlnv_arr [split $child_cell_vlnv :] - lassign $vlnv_arr ip_vendor ip_library ip_name ip_version - set ip_type_g [common::get_property IP_TYPE $child_cell_g] + lassign $vlnv_arr ip_vendor ip_library ip_name ip_version + set ip_type_g [common::get_property IP_TYPE $child_cell_g] - puts "IP type $ip_type_g\n" - if { [string compare -nocase "BUS" $ip_type_g] != 0 } { - set interfaces [hsi::get_intf_pins -of_objects $child_cell_g] - set is_slave 0 + puts "IP type $ip_type_g\n" + if { [string compare -nocase "BUS" $ip_type_g] != 0 } { + set interfaces [hsi::get_intf_pins -of_objects $child_cell_g] + set is_slave 0 - foreach interface $interfaces { - set intf_type [common::get_property TYPE $interface] - #puts "Interface type $intf_type\n" - if { [string compare -nocase "SLAVE" $intf_type] == 0 } { - set is_slave 1 - } - } - if { $is_slave != 0 } { - #puts "Processing Periph: $ip_name $child_cell_name_g" + foreach interface $interfaces { + set intf_type [common::get_property TYPE $interface] + #puts "Interface type $intf_type\n" + if { [string compare -nocase "SLAVE" $intf_type] == 0 } { + set is_slave 1 + } + } + if { $is_slave != 0 } { + #puts "Processing Periph: $ip_name $child_cell_name_g" #puts $config_file "//Processing Periph: $ip_name $child_cell_name_g" - set final_child_cell_instance_name_present_g XPAR_${child_cell_name_g}_PRESENT - puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_name_present_g]\t 1\n" + set final_child_cell_instance_name_present_g XPAR_${child_cell_name_g}_PRESENT + puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_name_present_g]\t 1\n" - # create dictionary for ip name and it's instance names "ip_name {inst1_name inst2_name}" - dict lappend ss_ip_list $ip_name $child_cell_name_g - } - } - } + # create dictionary for ip name and it's instance names "ip_name {inst1_name inst2_name}" + dict lappend ss_ip_list $ip_name $child_cell_name_g + } + } + } - puts $config_file "\n\n/*" - puts $config_file "* List of Sub-cores excluded from the subsystem" - puts $config_file "* - Excluded sub-core device id is set to 255" - puts $config_file "* - Excluded sub-core baseaddr is set to 0" - puts $config_file "*/\n" + puts $config_file "\n\n/*" + puts $config_file "* List of Sub-cores excluded from the subsystem" + puts $config_file "* - Excluded sub-core device id is set to 255" + puts $config_file "* - Excluded sub-core baseaddr is set to 0" + puts $config_file "*/\n" - foreach sub_core [lsort [array names sub_core_inst]] { + foreach sub_core [lsort [array names sub_core_inst]] { #puts $config_file "//sub_core_inst: $sub_core $sub_core_inst($sub_core)" - if {[dict exists $ss_ip_list $sub_core]} { - set max_instances $sub_core_inst($sub_core) - #check if core can have multiple instances - #It is possible that not all instances are used in the design - if {$max_instances > 1} { - set ip_instances [dict get $ss_ip_list $sub_core] - set avail_instances [llength $ip_instances] + if {[dict exists $ss_ip_list $sub_core]} { + set max_instances $sub_core_inst($sub_core) + #check if core can have multiple instances + #It is possible that not all instances are used in the design + if {$max_instances > 1} { + set ip_instances [dict get $ss_ip_list $sub_core] + set avail_instances [llength $ip_instances] - #puts "Sub-Core: $sub_core" - #puts "instances: $ip_instances" + #puts "Sub-Core: $sub_core" + #puts "instances: $ip_instances" - #check if available instances are less than MAX - #if yes, mark the missing instance - #if all instances are present then skip the core - if {$avail_instances < $max_instances} { - if {[string compare -nocase "axi_gpio" $sub_core] == 0} { - set ip_inst_name [lindex $ip_instances 0] - set srcstr "${periph_g}_reset_sel_axi_mm" - if {[string compare -nocase $srcstr $ip_inst_name] == 0} { - set strval "RESET_SEL_AXIS" - } else { - set strval "RESET_SEL_AXI_MM" - } - } elseif {[string compare -nocase "v_vcresampler" $sub_core]} { - set ip_inst_name [lindex $ip_instances 0] - set srcstr "${periph_g}_v_vcresampler_in" - if {[string compare -nocase $srcstr $ip_inst_name] == 0} { - set strval "V_VCRESAMPLER_OUT" - } else { - set strval "V_VCRESAMPLER_IN" - } - } - #puts "String Selected: $strval" - set final_child_cell_instance_name_g "XPAR_${periph_g}_${strval}_PRESENT" - set final_child_cell_instance_devid_g "XPAR_${periph_g}_${strval}_DEVICE_ID" - set final_child_cell_instance_baseaddr_g "XPAR_${periph_g}_${strval}_BASEADDR" - puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_name_g] 0\n" - puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_devid_g] 255\n" - puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_baseaddr_g] 0\n\n" - } + #check if available instances are less than MAX + #if yes, mark the missing instance + #if all instances are present then skip the core + if {$avail_instances < $max_instances} { + if {[string compare -nocase "axi_gpio" $sub_core] == 0} { + set ip_inst_name [lindex $ip_instances 0] + set srcstr "${periph_g}_reset_sel_axi_mm" + if {[string compare -nocase $srcstr $ip_inst_name] == 0} { + set strval "RESET_SEL_AXIS" + } else { + set strval "RESET_SEL_AXI_MM" + } + } elseif {[string compare -nocase "v_vcresampler" $sub_core]} { + set ip_inst_name [lindex $ip_instances 0] + set srcstr "${periph_g}_v_vcresampler_in" + if {[string compare -nocase $srcstr $ip_inst_name] == 0} { + set strval "V_VCRESAMPLER_OUT" + } else { + set strval "V_VCRESAMPLER_IN" + } + } + #puts "String Selected: $strval" + set final_child_cell_instance_name_g "XPAR_${periph_g}_${strval}_PRESENT" + set final_child_cell_instance_devid_g "XPAR_${periph_g}_${strval}_DEVICE_ID" + set final_child_cell_instance_baseaddr_g "XPAR_${periph_g}_${strval}_BASEADDR" + puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_name_g] 0\n" + puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_devid_g] 255\n" + puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_baseaddr_g] 0\n\n" + } - } - #puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_name_g] 1\n" - } else { - set count 0 - while {$count<$sub_core_inst($sub_core)} { - set final_child_cell_instance_name_g "XPAR_${periph_g}_${sub_core}_${count}_PRESENT" - set final_child_cell_instance_devid_g "XPAR_${periph_g}_${sub_core}_${count}_DEVICE_ID" - set final_child_cell_instance_baseaddr_g "XPAR_${periph_g}_${sub_core}_${count}_BASEADDR" - puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_name_g] 0\n" - puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_devid_g] 255\n" - puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_baseaddr_g] 0\n\n" - incr count - } - } - } - ::hsi::current_hw_instance + } + #puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_name_g] 1\n" + } else { + set count 0 + while {$count<$sub_core_inst($sub_core)} { + set final_child_cell_instance_name_g "XPAR_${periph_g}_${sub_core}_${count}_PRESENT" + set final_child_cell_instance_devid_g "XPAR_${periph_g}_${sub_core}_${count}_DEVICE_ID" + set final_child_cell_instance_baseaddr_g "XPAR_${periph_g}_${sub_core}_${count}_BASEADDR" + puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_name_g] 0\n" + puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_devid_g] 255\n" + puts -nonewline $config_file "#define [string toupper $final_child_cell_instance_baseaddr_g] 0\n\n" + incr count + } + } + } + ::hsi::current_hw_instance } - puts $config_file "\n\n" + puts $config_file "\n\n" puts $config_file [format "%s_Config %s_ConfigTable\[\] =" $drv_string $drv_string] puts $config_file "\{" set periphs [::hsi::utils::get_common_driver_ips $drv_handle] @@ -237,113 +237,113 @@ proc hier_ip_define_config_file {drv_handle file_name drv_string args} { set comma ",\n" } - ::hsi::current_hw_instance $periph - set child_cells [::hsi::get_cells -hier] - puts $config_file ",\n" + ::hsi::current_hw_instance $periph + set child_cells [::hsi::get_cells -hier] + puts $config_file ",\n" - foreach sub_core [lsort [array names sub_core_inst]] { - set max_instances $sub_core_inst($sub_core) - #puts "\nProcessing sub-core: $sub_core" - #puts "Max Instances: $max_instances" + foreach sub_core [lsort [array names sub_core_inst]] { + set max_instances $sub_core_inst($sub_core) + #puts "\nProcessing sub-core: $sub_core" + #puts "Max Instances: $max_instances" - if {[dict exists $ss_ip_list $sub_core]} { - #puts "****Sub-core found in dictionary****" - if {[string match -nocase v_* $sub_core]} { - set base_addr_name "BASEADDR" - } else { - set base_addr_name "BASEADDR" - } + if {[dict exists $ss_ip_list $sub_core]} { + #puts "****Sub-core found in dictionary****" + if {[string match -nocase v_* $sub_core]} { + set base_addr_name "BASEADDR" + } else { + set base_addr_name "BASEADDR" + } - set ip_instances [dict get $ss_ip_list $sub_core] - set avail_instances [llength $ip_instances] + set ip_instances [dict get $ss_ip_list $sub_core] + set avail_instances [llength $ip_instances] - #check if core can have multiple instances - #It is possible that not all instances are used in the design - if {$max_instances > 1} { + #check if core can have multiple instances + #It is possible that not all instances are used in the design + if {$max_instances > 1} { - #check if available instances are less than MAX - #if yes, include the missing instance - if {$avail_instances < $max_instances} { - set ip_inst_name [lindex $ip_instances 0] - set count 0 - set str_name "unknown" - #puts "IP Inst. Name: $ip_inst_name" - while {$count < $max_instances} { - if {[string compare -nocase "axi_gpio" $sub_core] == 0} { - set str_name [expr {$count == 0 ? "RESET_SEL_AXI_MM" : "RESET_SEL_AXIS"}] - } elseif {[string compare -nocase "v_vcresampler" $sub_core]} { - set str_name [expr {$count == 0 ? "V_VCRESAMPLER_IN" : "V_VCRESAMPLER_OUT"}] - } - #write the ip instance entry to the table - set final_child_cell_instance_name_present "XPAR_${periph}_${str_name}_PRESENT" - set final_child_cell_instance_devid "XPAR_${periph}_${str_name}_DEVICE_ID" - set final_child_cell_instance_name_baseaddr "XPAR_${periph}_${str_name}_${base_addr_name}" + #check if available instances are less than MAX + #if yes, include the missing instance + if {$avail_instances < $max_instances} { + set ip_inst_name [lindex $ip_instances 0] + set count 0 + set str_name "unknown" + #puts "IP Inst. Name: $ip_inst_name" + while {$count < $max_instances} { + if {[string compare -nocase "axi_gpio" $sub_core] == 0} { + set str_name [expr {$count == 0 ? "RESET_SEL_AXI_MM" : "RESET_SEL_AXIS"}] + } elseif {[string compare -nocase "v_vcresampler" $sub_core]} { + set str_name [expr {$count == 0 ? "V_VCRESAMPLER_IN" : "V_VCRESAMPLER_OUT"}] + } + #write the ip instance entry to the table + set final_child_cell_instance_name_present "XPAR_${periph}_${str_name}_PRESENT" + set final_child_cell_instance_devid "XPAR_${periph}_${str_name}_DEVICE_ID" + set final_child_cell_instance_name_baseaddr "XPAR_${periph}_${str_name}_${base_addr_name}" - puts $config_file "\t\t\{" - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_present]] - puts $config_file "," - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_devid]] - puts $config_file "," - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_baseaddr]] - puts $config_file "\n\t\t\}," - incr count - } - } else { - foreach ip_inst $ip_instances { - #puts "instance = $ip_inst" - set final_child_cell_instance_name_present "XPAR_${ip_inst}_PRESENT" - set final_child_cell_instance_devid "XPAR_${ip_inst}_DEVICE_ID" - set final_child_cell_instance_name_baseaddr "XPAR_${ip_inst}_${base_addr_name}" + puts $config_file "\t\t\{" + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_present]] + puts $config_file "," + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_devid]] + puts $config_file "," + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_baseaddr]] + puts $config_file "\n\t\t\}," + incr count + } + } else { + foreach ip_inst $ip_instances { + #puts "instance = $ip_inst" + set final_child_cell_instance_name_present "XPAR_${ip_inst}_PRESENT" + set final_child_cell_instance_devid "XPAR_${ip_inst}_DEVICE_ID" + set final_child_cell_instance_name_baseaddr "XPAR_${ip_inst}_${base_addr_name}" - puts $config_file "\t\t\{" - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_present]] - puts $config_file "," - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_devid]] - puts $config_file "," - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_baseaddr]] - puts $config_file "\n\t\t\}," - } - } - } else { - set ip_inst_name [lindex $ip_instances 0] - #puts "instance = $ip_inst" - set final_child_cell_instance_name_present "XPAR_${ip_inst_name}_PRESENT" - set final_child_cell_instance_devid "XPAR_${ip_inst_name}_DEVICE_ID" - set final_child_cell_instance_name_baseaddr "XPAR_${ip_inst_name}_${base_addr_name}" + puts $config_file "\t\t\{" + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_present]] + puts $config_file "," + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_devid]] + puts $config_file "," + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_baseaddr]] + puts $config_file "\n\t\t\}," + } + } + } else { + set ip_inst_name [lindex $ip_instances 0] + #puts "instance = $ip_inst" + set final_child_cell_instance_name_present "XPAR_${ip_inst_name}_PRESENT" + set final_child_cell_instance_devid "XPAR_${ip_inst_name}_DEVICE_ID" + set final_child_cell_instance_name_baseaddr "XPAR_${ip_inst_name}_${base_addr_name}" - puts $config_file "\t\t\{" - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_present]] - puts $config_file "," - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_devid]] - puts $config_file "," - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_baseaddr]] - puts $config_file "\n\t\t\}," - } - } else { - #puts "****sub-core not in dictionary****" - set count 0 + puts $config_file "\t\t\{" + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_present]] + puts $config_file "," + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_devid]] + puts $config_file "," + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_baseaddr]] + puts $config_file "\n\t\t\}," + } + } else { + #puts "****sub-core not in dictionary****" + set count 0 - while {$count< $max_instances} { - set final_child_cell_instance_name_present "XPAR_${periph}_${sub_core}_${count}_PRESENT" - set final_child_cell_instance_devid "XPAR_${periph}_${sub_core}_${count}_DEVICE_ID" - set final_child_cell_instance_name_baseaddr "XPAR_${periph}_${sub_core}_${count}_BASEADDR" + while {$count< $max_instances} { + set final_child_cell_instance_name_present "XPAR_${periph}_${sub_core}_${count}_PRESENT" + set final_child_cell_instance_devid "XPAR_${periph}_${sub_core}_${count}_DEVICE_ID" + set final_child_cell_instance_name_baseaddr "XPAR_${periph}_${sub_core}_${count}_BASEADDR" - puts $config_file "\t\t\{" - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_present]] - puts $config_file "," - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_devid]] - puts $config_file "," - puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_baseaddr]] - puts $config_file "\n\t\t\}," - incr count - } - } - } + puts $config_file "\t\t\{" + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_present]] + puts $config_file "," + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_devid]] + puts $config_file "," + puts -nonewline $config_file [format "\t\t\t%s" [string toupper $final_child_cell_instance_name_baseaddr]] + puts $config_file "\n\t\t\}," + incr count + } + } + } - ::hsi::current_hw_instance + ::hsi::current_hw_instance - puts -nonewline $config_file "\t\}" - set start_comma ",\n" + puts -nonewline $config_file "\t\}" + set start_comma ",\n" } puts $config_file "\n\};" diff --git a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/Makefile b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/Makefile old mode 100755 new mode 100644 index 84cf930b..194ed1bb --- a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/Makefile +++ b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/Makefile @@ -22,19 +22,19 @@ OBJECTS = $(addsuffix .o, $(basename $(wildcard *.c))) libs: banner xvhdmirxss_libs clean %.o: %.c - ${COMPILER} $(CC_FLAGS) $(ECC_FLAGS) $(INCLUDES) -o $@ $< + ${COMPILER} $(CC_FLAGS) $(ECC_FLAGS) $(INCLUDES) -o $@ $< banner: - echo "Compiling HDMI RX Subsystem" + echo "Compiling HDMI RX Subsystem" xvhdmirxss_libs: ${OBJECTS} - $(ARCHIVER) -r ${RELEASEDIR}/${LIB} ${OBJECTS} + $(ARCHIVER) -r ${RELEASEDIR}/${LIB} ${OBJECTS} .PHONY: include include: xvhdmirxss_includes xvhdmirxss_includes: - ${CP} ${INCLUDEFILES} ${INCLUDEDIR} + ${CP} ${INCLUDEFILES} ${INCLUDEDIR} clean: - rm -rf ${OBJECTS} + rm -rf ${OBJECTS} diff --git a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss.c b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss.c old mode 100755 new mode 100644 index 9897854d..5860ef4e --- a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss.c +++ b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss.c @@ -74,13 +74,13 @@ typedef struct /**************************** Local Global ***********************************/ XV_HdmiRxSs_SubCores XV_HdmiRxSs_SubCoreRepo[XPAR_XV_HDMIRXSS_NUM_INSTANCES]; - /**< Define Driver instance of all sub-core + /**< Define Driver instance of all sub-core included in the design */ /************************** Function Prototypes ******************************/ static void XV_HdmiRxSs_GetIncludedSubcores(XV_HdmiRxSs *HdmiRxSsPtr, - u16 DevId); + u16 DevId); static XV_HdmiRxSs_SubCores *XV_HdmiRxSs_GetSubSysStruct(void *SubCorePtr); static void XV_HdmiRxSs_WaitUs(XV_HdmiRxSs *InstancePtr, u32 MicroSeconds); static int XV_HdmiRxSs_RegisterSubsysCallbacks(XV_HdmiRxSs *InstancePtr); @@ -93,7 +93,7 @@ static void XV_HdmiRxSs_StreamDownCallback(void *CallbackRef); static void XV_HdmiRxSs_StreamInitCallback(void *CallbackRef); static void XV_HdmiRxSs_StreamUpCallback(void *CallbackRef); static u32 XV_HdmiRxSs_HdcpTimerConvUsToTicks(u32 TimeoutInUs, - u32 ClockFrequency); + u32 ClockFrequency); static void XV_HdmiRxSs_HdcpTimerCallback(void *CallBackRef, u8 TimerChannel); /***************** Macros (Inline Functions) Definitions *********************/ @@ -138,27 +138,27 @@ void XV_HdmiRxSs_ReportCoreInfo(XV_HdmiRxSs *InstancePtr) * This function installs a custom delay/sleep function to be used by the XV_HdmiRxSs * driver. * - * @param InstancePtr is a pointer to the XDptx instance. - * @param CallbackFunc is the address to the callback function. - * @param CallbackRef is the user data item (microseconds to delay) that - * will be passed to the custom sleep/delay function when it is - * invoked. + * @param InstancePtr is a pointer to the XDptx instance. + * @param CallbackFunc is the address to the callback function. + * @param CallbackRef is the user data item (microseconds to delay) that + * will be passed to the custom sleep/delay function when it is + * invoked. * - * @return None. + * @return None. * - * @note None. + * @note None. * *******************************************************************************/ void XV_HdmiRxSs_SetUserTimerHandler(XV_HdmiRxSs *InstancePtr, - XVidC_DelayHandler CallbackFunc, void *CallbackRef) + XVidC_DelayHandler CallbackFunc, void *CallbackRef) { - /* Verify arguments. */ - Xil_AssertVoid(InstancePtr != NULL); - Xil_AssertVoid(CallbackFunc != NULL); - Xil_AssertVoid(CallbackRef != NULL); + /* Verify arguments. */ + Xil_AssertVoid(InstancePtr != NULL); + Xil_AssertVoid(CallbackFunc != NULL); + Xil_AssertVoid(CallbackRef != NULL); - InstancePtr->UserTimerWaitUs = CallbackFunc; - InstancePtr->UserTimerPtr = CallbackRef; + InstancePtr->UserTimerWaitUs = CallbackFunc; + InstancePtr->UserTimerPtr = CallbackRef; } /******************************************************************************/ @@ -172,38 +172,38 @@ void XV_HdmiRxSs_SetUserTimerHandler(XV_HdmiRxSs *InstancePtr, * to by InstancePtr->UserTimerWaitUs, which may have better accuracy if a * hardware timer is used. * - * @param InstancePtr is a pointer to the XDptx instance. - * @param MicroSeconds is the number of microseconds to delay/sleep for. + * @param InstancePtr is a pointer to the XDptx instance. + * @param MicroSeconds is the number of microseconds to delay/sleep for. * - * @return None. + * @return None. * - * @note None. + * @note None. * *******************************************************************************/ static void XV_HdmiRxSs_WaitUs(XV_HdmiRxSs *InstancePtr, u32 MicroSeconds) { - /* Verify arguments. */ - Xil_AssertVoid(InstancePtr != NULL); - Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY); + /* Verify arguments. */ + Xil_AssertVoid(InstancePtr != NULL); + Xil_AssertVoid(InstancePtr->IsReady == XIL_COMPONENT_IS_READY); - if (MicroSeconds == 0) { - return; - } + if (MicroSeconds == 0) { + return; + } #if defined(__MICROBLAZE__) - if (InstancePtr->UserTimerWaitUs != NULL) { - /* Use the timer handler specified by the user for better - * accuracy. */ - InstancePtr->UserTimerWaitUs(InstancePtr, MicroSeconds); - } - else { - /* MicroBlaze sleep only has millisecond accuracy. Round up. */ - u32 MilliSeconds = (MicroSeconds + 999) / 1000; - MB_Sleep(MilliSeconds); - } + if (InstancePtr->UserTimerWaitUs != NULL) { + /* Use the timer handler specified by the user for better + * accuracy. */ + InstancePtr->UserTimerWaitUs(InstancePtr, MicroSeconds); + } + else { + /* MicroBlaze sleep only has millisecond accuracy. Round up. */ + u32 MilliSeconds = (MicroSeconds + 999) / 1000; + MB_Sleep(MilliSeconds); + } #elif defined(__arm__) - /* Wait the requested amount of time. */ - usleep(MicroSeconds); + /* Wait the requested amount of time. */ + usleep(MicroSeconds); #endif } @@ -216,7 +216,7 @@ static void XV_HdmiRxSs_WaitUs(XV_HdmiRxSs *InstancePtr, u32 MicroSeconds) *****************************************************************************/ void XV_HdmiRxSS_HdmiRxIntrHandler(XV_HdmiRxSs *InstancePtr) { - XV_HdmiRx_IntrHandler(InstancePtr->HdmiRxPtr); + XV_HdmiRx_IntrHandler(InstancePtr->HdmiRxPtr); } /*****************************************************************************/ @@ -228,7 +228,7 @@ void XV_HdmiRxSS_HdmiRxIntrHandler(XV_HdmiRxSs *InstancePtr) *****************************************************************************/ void XV_HdmiRxSS_HdcpIntrHandler(XV_HdmiRxSs *InstancePtr) { - XHdcp1x_CipherIntrHandler(InstancePtr->HdcpPtr); + XHdcp1x_CipherIntrHandler(InstancePtr->HdcpPtr); } /*****************************************************************************/ @@ -240,7 +240,7 @@ void XV_HdmiRxSS_HdcpIntrHandler(XV_HdmiRxSs *InstancePtr) *****************************************************************************/ void XV_HdmiRxSS_HdcpTimerIntrHandler(XV_HdmiRxSs *InstancePtr) { - XTmrCtr_InterruptHandler(InstancePtr->HdcpTimerPtr); + XTmrCtr_InterruptHandler(InstancePtr->HdcpTimerPtr); } /*****************************************************************************/ @@ -259,48 +259,48 @@ static int XV_HdmiRxSs_RegisterSubsysCallbacks(XV_HdmiRxSs *InstancePtr) //Register HDMI Rx ISR if(HdmiRxSsPtr->HdmiRxPtr) { - /* - * Register call back for Rx Core Interrupts. - */ - XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, - XV_HDMIRX_HANDLER_CONNECT, - XV_HdmiRxSs_ConnectCallback, - InstancePtr); + /* + * Register call back for Rx Core Interrupts. + */ + XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, + XV_HDMIRX_HANDLER_CONNECT, + XV_HdmiRxSs_ConnectCallback, + InstancePtr); - XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, - XV_HDMIRX_HANDLER_AUX, - XV_HdmiRxSs_AuxCallback, - InstancePtr); + XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, + XV_HDMIRX_HANDLER_AUX, + XV_HdmiRxSs_AuxCallback, + InstancePtr); - XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, - XV_HDMIRX_HANDLER_AUD, - XV_HdmiRxSs_AudCallback, - InstancePtr); + XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, + XV_HDMIRX_HANDLER_AUD, + XV_HdmiRxSs_AudCallback, + InstancePtr); - XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, - XV_HDMIRX_HANDLER_LNKSTA, - XV_HdmiRxSs_LnkStaCallback, - InstancePtr); + XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, + XV_HDMIRX_HANDLER_LNKSTA, + XV_HdmiRxSs_LnkStaCallback, + InstancePtr); - XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, - XV_HDMIRX_HANDLER_DDC, - XV_HdmiRxSs_DdcCallback, - InstancePtr); + XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, + XV_HDMIRX_HANDLER_DDC, + XV_HdmiRxSs_DdcCallback, + InstancePtr); - XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, - XV_HDMIRX_HANDLER_STREAM_DOWN, - XV_HdmiRxSs_StreamDownCallback, - InstancePtr); + XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, + XV_HDMIRX_HANDLER_STREAM_DOWN, + XV_HdmiRxSs_StreamDownCallback, + InstancePtr); - XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, - XV_HDMIRX_HANDLER_STREAM_INIT, - XV_HdmiRxSs_StreamInitCallback, - InstancePtr); + XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, + XV_HDMIRX_HANDLER_STREAM_INIT, + XV_HdmiRxSs_StreamInitCallback, + InstancePtr); - XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, - XV_HDMIRX_HANDLER_STREAM_UP, - XV_HdmiRxSs_StreamUpCallback, - InstancePtr); + XV_HdmiRx_SetCallback(HdmiRxSsPtr->HdmiRxPtr, + XV_HDMIRX_HANDLER_STREAM_UP, + XV_HdmiRxSs_StreamUpCallback, + InstancePtr); } //Register HDCP RX ISR @@ -347,22 +347,22 @@ static void XV_HdmiRxSs_GetIncludedSubcores(XV_HdmiRxSs *HdmiRxSsPtr, u16 DevId) ******************************************************************************/ static XV_HdmiRxSs_SubCores *XV_HdmiRxSs_GetSubSysStruct(void *SubCorePtr) { - int i; + int i; - for (i=0; iConfig), (const void *)CfgPtr, - sizeof(XV_HdmiRxSs_Config)); + sizeof(XV_HdmiRxSs_Config)); HdmiRxSsPtr->Config.BaseAddress = EffectiveAddr; /* Determine sub-cores included in the provided instance of subsystem */ @@ -405,7 +405,7 @@ int XV_HdmiRxSs_CfgInitialize(XV_HdmiRxSs *InstancePtr, /* Initialize all included sub_cores */ if(HdmiRxSsPtr->HdmiRxPtr) { - if(XV_HdmiRxSs_SubcoreInitHdmiRx(HdmiRxSsPtr) != XST_SUCCESS) + if(XV_HdmiRxSs_SubcoreInitHdmiRx(HdmiRxSsPtr) != XST_SUCCESS) { return(XST_FAILURE); } @@ -413,15 +413,15 @@ int XV_HdmiRxSs_CfgInitialize(XV_HdmiRxSs *InstancePtr, if(HdmiRxSsPtr->HdcpPtr) { - if(XV_HdmiRxSs_SubcoreInitHdcp(HdmiRxSsPtr) != XST_SUCCESS) - { - return(XST_FAILURE); - } + if(XV_HdmiRxSs_SubcoreInitHdcp(HdmiRxSsPtr) != XST_SUCCESS) + { + return(XST_FAILURE); + } } if(HdmiRxSsPtr->HdcpTimerPtr) { - if(XV_HdmiRxSs_SubcoreInitHdcpTimer(HdmiRxSsPtr) != XST_SUCCESS) + if(XV_HdmiRxSs_SubcoreInitHdcpTimer(HdmiRxSsPtr) != XST_SUCCESS) { return(XST_FAILURE); } @@ -544,7 +544,7 @@ static void XV_HdmiRxSs_ConnectCallback(void *CallbackRef) // Check if user callback has been registered if (HdmiRxSsPtr->ConnectCallback) { - HdmiRxSsPtr->ConnectCallback(HdmiRxSsPtr->ConnectRef); + HdmiRxSsPtr->ConnectCallback(HdmiRxSsPtr->ConnectRef); } } @@ -567,7 +567,7 @@ static void XV_HdmiRxSs_AuxCallback(void *CallbackRef) // Check if user callback has been registered if (HdmiRxSsPtr->AuxCallback) { - HdmiRxSsPtr->AuxCallback(HdmiRxSsPtr->AuxRef); + HdmiRxSsPtr->AuxCallback(HdmiRxSsPtr->AuxRef); } } @@ -600,7 +600,7 @@ static void XV_HdmiRxSs_AudCallback(void *CallbackRef) // Check if user callback has been registered if (HdmiRxSsPtr->AudCallback) { - HdmiRxSsPtr->AudCallback(HdmiRxSsPtr->AudRef); + HdmiRxSsPtr->AudCallback(HdmiRxSsPtr->AudRef); } } @@ -621,11 +621,11 @@ static void XV_HdmiRxSs_LnkStaCallback(void *CallbackRef) XV_HdmiRxSs *HdmiRxSsPtr = (XV_HdmiRxSs *)CallbackRef; HdmiRxSsPtr->IsLinkStatusErrMax = - XV_HdmiRx_IsLinkStatusErrMax(HdmiRxSsPtr->HdmiRxPtr); + XV_HdmiRx_IsLinkStatusErrMax(HdmiRxSsPtr->HdmiRxPtr); // Check if user callback has been registered if (HdmiRxSsPtr->LnkStaCallback) { - HdmiRxSsPtr->LnkStaCallback(HdmiRxSsPtr->LnkStaRef); + HdmiRxSsPtr->LnkStaCallback(HdmiRxSsPtr->LnkStaRef); } } @@ -647,7 +647,7 @@ static void XV_HdmiRxSs_DdcCallback(void *CallbackRef) // Check if user callback has been registered if (HdmiRxSsPtr->DdcCallback) { - HdmiRxSsPtr->DdcCallback(HdmiRxSsPtr->DdcRef); + HdmiRxSsPtr->DdcCallback(HdmiRxSsPtr->DdcRef); } } @@ -672,15 +672,15 @@ static void XV_HdmiRxSs_StreamDownCallback(void *CallbackRef) if (HdmiRxSsPtr->HdcpPtr) { - XV_HdmiRx_DdcHdcpDisable(HdmiRxSsPtr->HdmiRxPtr); + XV_HdmiRx_DdcHdcpDisable(HdmiRxSsPtr->HdmiRxPtr); - /* Set the RX HDCP state to down */ - XHdcp1x_SetPhysicalState(HdmiRxSsPtr->HdcpPtr, FALSE); + /* Set the RX HDCP state to down */ + XHdcp1x_SetPhysicalState(HdmiRxSsPtr->HdcpPtr, FALSE); } // Check if user callback has been registered if (HdmiRxSsPtr->StreamDownCallback) { - HdmiRxSsPtr->StreamDownCallback(HdmiRxSsPtr->StreamDownRef); + HdmiRxSsPtr->StreamDownCallback(HdmiRxSsPtr->StreamDownRef); } } @@ -703,7 +703,7 @@ static void XV_HdmiRxSs_StreamInitCallback(void *CallbackRef) // Check if user callback has been registered if (HdmiRxSsPtr->StreamInitCallback) { - HdmiRxSsPtr->StreamInitCallback(HdmiRxSsPtr->StreamInitRef); + HdmiRxSsPtr->StreamInitCallback(HdmiRxSsPtr->StreamInitRef); } } @@ -730,19 +730,19 @@ static void XV_HdmiRxSs_StreamUpCallback(void *CallbackRef) if (HdmiRxSsPtr->HdcpPtr) { - XV_HdmiRx_DdcHdcpEnable(HdmiRxSsPtr->HdmiRxPtr); + XV_HdmiRx_DdcHdcpEnable(HdmiRxSsPtr->HdmiRxPtr); - do{ - count++; - }while (XHdcp1x_CipherXorInProgress(HdmiRxSsPtr->HdcpPtr)); + do{ + count++; + }while (XHdcp1x_CipherXorInProgress(HdmiRxSsPtr->HdcpPtr)); - /* Set the RX HDCP state to up */ - XHdcp1x_SetPhysicalState(HdmiRxSsPtr->HdcpPtr, TRUE); + /* Set the RX HDCP state to up */ + XHdcp1x_SetPhysicalState(HdmiRxSsPtr->HdcpPtr, TRUE); } // Check if user callback has been registered if (HdmiRxSsPtr->StreamUpCallback) { - HdmiRxSsPtr->StreamUpCallback(HdmiRxSsPtr->StreamUpRef); + HdmiRxSsPtr->StreamUpCallback(HdmiRxSsPtr->StreamUpRef); } } @@ -762,99 +762,99 @@ static void XV_HdmiRxSs_StreamUpCallback(void *CallbackRef) * (XV_HDMIRXSS_HANDLER_STREAM_UP) SreamUpCallback * * -* @param InstancePtr is a pointer to the HDMI RX Subsystem instance. -* @param HandlerType specifies the type of handler. -* @param CallbackFunc is the address of the callback function. -* @param CallbackRef is a user data item that will be passed to the -* callback function when it is invoked. +* @param InstancePtr is a pointer to the HDMI RX Subsystem instance. +* @param HandlerType specifies the type of handler. +* @param CallbackFunc is the address of the callback function. +* @param CallbackRef is a user data item that will be passed to the +* callback function when it is invoked. * * @return -* - XST_SUCCESS if callback function installed successfully. -* - XST_INVALID_PARAM when HandlerType is invalid. +* - XST_SUCCESS if callback function installed successfully. +* - XST_INVALID_PARAM when HandlerType is invalid. * -* @note Invoking this function for a handler that already has been -* installed replaces it with the new handler. +* @note Invoking this function for a handler that already has been +* installed replaces it with the new handler. * ******************************************************************************/ int XV_HdmiRxSs_SetCallback(XV_HdmiRxSs *InstancePtr, u32 HandlerType, - void *CallbackFunc, void *CallbackRef) + void *CallbackFunc, void *CallbackRef) { - u32 Status; + u32 Status; - /* Verify arguments. */ - Xil_AssertNonvoid(InstancePtr != NULL); - Xil_AssertNonvoid(HandlerType >= (XV_HDMIRXSS_HANDLER_CONNECT)); - Xil_AssertNonvoid(CallbackFunc != NULL); - Xil_AssertNonvoid(CallbackRef != NULL); + /* Verify arguments. */ + Xil_AssertNonvoid(InstancePtr != NULL); + Xil_AssertNonvoid(HandlerType >= (XV_HDMIRXSS_HANDLER_CONNECT)); + Xil_AssertNonvoid(CallbackFunc != NULL); + Xil_AssertNonvoid(CallbackRef != NULL); - /* Check for handler type */ - switch (HandlerType) { + /* Check for handler type */ + switch (HandlerType) { - case (XV_HDMIRXSS_HANDLER_CONNECT): - InstancePtr->ConnectCallback = (XV_HdmiRxSs_Callback)CallbackFunc; - InstancePtr->ConnectRef = CallbackRef; - Status = (XST_SUCCESS); - break; + case (XV_HDMIRXSS_HANDLER_CONNECT): + InstancePtr->ConnectCallback = (XV_HdmiRxSs_Callback)CallbackFunc; + InstancePtr->ConnectRef = CallbackRef; + Status = (XST_SUCCESS); + break; - case (XV_HDMIRXSS_HANDLER_AUX): - InstancePtr->AuxCallback = (XV_HdmiRxSs_Callback)CallbackFunc; - InstancePtr->AuxRef = CallbackRef; - Status = (XST_SUCCESS); - break; + case (XV_HDMIRXSS_HANDLER_AUX): + InstancePtr->AuxCallback = (XV_HdmiRxSs_Callback)CallbackFunc; + InstancePtr->AuxRef = CallbackRef; + Status = (XST_SUCCESS); + break; - case (XV_HDMIRXSS_HANDLER_AUD): - InstancePtr->AudCallback = (XV_HdmiRxSs_Callback)CallbackFunc; - InstancePtr->AudRef = CallbackRef; - Status = (XST_SUCCESS); - break; + case (XV_HDMIRXSS_HANDLER_AUD): + InstancePtr->AudCallback = (XV_HdmiRxSs_Callback)CallbackFunc; + InstancePtr->AudRef = CallbackRef; + Status = (XST_SUCCESS); + break; - case (XV_HDMIRXSS_HANDLER_LNKSTA): - InstancePtr->LnkStaCallback = (XV_HdmiRxSs_Callback)CallbackFunc; - InstancePtr->LnkStaRef = CallbackRef; - Status = (XST_SUCCESS); - break; + case (XV_HDMIRXSS_HANDLER_LNKSTA): + InstancePtr->LnkStaCallback = (XV_HdmiRxSs_Callback)CallbackFunc; + InstancePtr->LnkStaRef = CallbackRef; + Status = (XST_SUCCESS); + break; - // Ddc - case (XV_HDMIRXSS_HANDLER_DDC): - InstancePtr->DdcCallback = (XV_HdmiRxSs_Callback)CallbackFunc; - InstancePtr->DdcRef = CallbackRef; - Status = (XST_SUCCESS); - break; + // Ddc + case (XV_HDMIRXSS_HANDLER_DDC): + InstancePtr->DdcCallback = (XV_HdmiRxSs_Callback)CallbackFunc; + InstancePtr->DdcRef = CallbackRef; + Status = (XST_SUCCESS); + break; - // Stream down - case (XV_HDMIRXSS_HANDLER_STREAM_DOWN): - InstancePtr->StreamDownCallback = (XV_HdmiRxSs_Callback)CallbackFunc; - InstancePtr->StreamDownRef = CallbackRef; - Status = (XST_SUCCESS); - break; + // Stream down + case (XV_HDMIRXSS_HANDLER_STREAM_DOWN): + InstancePtr->StreamDownCallback = (XV_HdmiRxSs_Callback)CallbackFunc; + InstancePtr->StreamDownRef = CallbackRef; + Status = (XST_SUCCESS); + break; - // Stream Init - case (XV_HDMIRXSS_HANDLER_STREAM_INIT): - InstancePtr->StreamInitCallback = (XV_HdmiRxSs_Callback)CallbackFunc; - InstancePtr->StreamInitRef = CallbackRef; - Status = (XST_SUCCESS); - break; + // Stream Init + case (XV_HDMIRXSS_HANDLER_STREAM_INIT): + InstancePtr->StreamInitCallback = (XV_HdmiRxSs_Callback)CallbackFunc; + InstancePtr->StreamInitRef = CallbackRef; + Status = (XST_SUCCESS); + break; - // Stream up - case (XV_HDMIRXSS_HANDLER_STREAM_UP): - InstancePtr->StreamUpCallback = (XV_HdmiRxSs_Callback)CallbackFunc; - InstancePtr->StreamUpRef = CallbackRef; - Status = (XST_SUCCESS); - break; + // Stream up + case (XV_HDMIRXSS_HANDLER_STREAM_UP): + InstancePtr->StreamUpCallback = (XV_HdmiRxSs_Callback)CallbackFunc; + InstancePtr->StreamUpRef = CallbackRef; + Status = (XST_SUCCESS); + break; - // HDCP - case (XV_HDMIRXSS_HANDLER_HDCP): - InstancePtr->HdcpCallback = (XV_HdmiRxSs_Callback)CallbackFunc; - InstancePtr->HdcpRef = CallbackRef; - Status = (XST_SUCCESS); - break; + // HDCP + case (XV_HDMIRXSS_HANDLER_HDCP): + InstancePtr->HdcpCallback = (XV_HdmiRxSs_Callback)CallbackFunc; + InstancePtr->HdcpRef = CallbackRef; + Status = (XST_SUCCESS); + break; - default: - Status = (XST_INVALID_PARAM); - break; - } + default: + Status = (XST_INVALID_PARAM); + break; + } - return Status; + return Status; } /*****************************************************************************/ @@ -867,10 +867,10 @@ int XV_HdmiRxSs_SetCallback(XV_HdmiRxSs *InstancePtr, u32 HandlerType, * ******************************************************************************/ void XV_HdmiRxSs_SetEdidParam(XV_HdmiRxSs *InstancePtr, u8 *EdidDataPtr, - u16 Length) + u16 Length) { - InstancePtr->EdidPtr = EdidDataPtr; - InstancePtr->EdidLength = Length; + InstancePtr->EdidPtr = EdidDataPtr; + InstancePtr->EdidLength = Length; } /*****************************************************************************/ @@ -886,7 +886,7 @@ void XV_HdmiRxSs_LoadDefaultEdid(XV_HdmiRxSs *InstancePtr) { // Load new EDID XV_HdmiRx_DdcLoadEdid(InstancePtr->HdmiRxPtr, InstancePtr->EdidPtr, - InstancePtr->EdidLength); + InstancePtr->EdidLength); print("\n\r"); print("Succesfully loaded edid.\n\r"); @@ -902,7 +902,7 @@ void XV_HdmiRxSs_LoadDefaultEdid(XV_HdmiRxSs *InstancePtr) * ******************************************************************************/ void XV_HdmiRxSs_LoadEdid(XV_HdmiRxSs *InstancePtr, u8 *EdidDataPtr, - u16 Length) + u16 Length) { // Load new EDID XV_HdmiRx_DdcLoadEdid(InstancePtr->HdmiRxPtr, EdidDataPtr, Length); @@ -942,7 +942,7 @@ void XV_HdmiRxSs_ToggleHpd(XV_HdmiRxSs *InstancePtr) ******************************************************************************/ XV_HdmiRx_Aux *XV_HdmiRxSs_GetAuxiliary(XV_HdmiRxSs *InstancePtr) { - return (&InstancePtr->HdmiRxPtr->Aux); + return (&InstancePtr->HdmiRxPtr->Aux); } /*****************************************************************************/ @@ -957,22 +957,18 @@ XV_HdmiRx_Aux *XV_HdmiRxSs_GetAuxiliary(XV_HdmiRxSs *InstancePtr) * @note None. * ******************************************************************************/ -u32 XV_HdmiRxSs_SetStream(XV_HdmiRxSs *InstancePtr, XVidC_PixelsPerClock Ppc, - u32 Clock, u32 LineRate) +u32 XV_HdmiRxSs_SetStream(XV_HdmiRxSs *InstancePtr, + u32 Clock, u32 LineRate) { + + XV_HdmiRx_SetStream(InstancePtr->HdmiRxPtr, InstancePtr->Config.Ppc, Clock); + // Check line rate // For 4k60p select 4 pixels per clock if (LineRate > 3400) { - XV_HdmiRx_SetStream(InstancePtr->HdmiRxPtr, XVIDC_PPC_4, Clock); InstancePtr->HdmiRxPtr->Stream.PixelClk = Clock * 4; } - // Other line rate 2 pixels per clock - else - { - XV_HdmiRx_SetStream(InstancePtr->HdmiRxPtr, XVIDC_PPC_2, Clock); - } - return (XST_SUCCESS); } @@ -990,7 +986,7 @@ u32 XV_HdmiRxSs_SetStream(XV_HdmiRxSs *InstancePtr, XVidC_PixelsPerClock Ppc, ******************************************************************************/ XVidC_VideoStream *XV_HdmiRxSs_GetVideoStream(XV_HdmiRxSs *InstancePtr) { - return (&InstancePtr->HdmiRxPtr->Stream.Video); + return (&InstancePtr->HdmiRxPtr->Stream.Video); } /*****************************************************************************/ @@ -1007,7 +1003,7 @@ XVidC_VideoStream *XV_HdmiRxSs_GetVideoStream(XV_HdmiRxSs *InstancePtr) ******************************************************************************/ u8 XV_HdmiRxSs_GetVideoIDCode(XV_HdmiRxSs *InstancePtr) { - return (InstancePtr->HdmiRxPtr->Stream.Vic); + return (InstancePtr->HdmiRxPtr->Stream.Vic); } /*****************************************************************************/ @@ -1024,7 +1020,7 @@ u8 XV_HdmiRxSs_GetVideoIDCode(XV_HdmiRxSs *InstancePtr) ******************************************************************************/ u8 XV_HdmiRxSs_GetVideoStreamType(XV_HdmiRxSs *InstancePtr) { - return (InstancePtr->HdmiRxPtr->Stream.IsHdmi); + return (InstancePtr->HdmiRxPtr->Stream.IsHdmi); } /*****************************************************************************/ @@ -1041,7 +1037,7 @@ u8 XV_HdmiRxSs_GetVideoStreamType(XV_HdmiRxSs *InstancePtr) ******************************************************************************/ u8 XV_HdmiRxSs_GetVideoStreamScramblingFlag(XV_HdmiRxSs *InstancePtr) { - return (InstancePtr->HdmiRxPtr->Stream.IsScrambled); + return (InstancePtr->HdmiRxPtr->Stream.IsScrambled); } /*****************************************************************************/ @@ -1058,7 +1054,7 @@ u8 XV_HdmiRxSs_GetVideoStreamScramblingFlag(XV_HdmiRxSs *InstancePtr) ******************************************************************************/ u8 XV_HdmiRxSs_GetAudioChannels(XV_HdmiRxSs *InstancePtr) { - return (InstancePtr->AudioChannels); + return (InstancePtr->AudioChannels); } /*****************************************************************************/ @@ -1077,7 +1073,7 @@ void XV_HdmiRxSs_RefClockChangeInit(XV_HdmiRxSs *InstancePtr) { // Set TMDS Clock ratio InstancePtr->TMDSClockRatio = - XV_HdmiRx_GetTmdsClockRatio(InstancePtr->HdmiRxPtr); + XV_HdmiRx_GetTmdsClockRatio(InstancePtr->HdmiRxPtr); } /*****************************************************************************/ @@ -1094,21 +1090,21 @@ void XV_HdmiRxSs_RefClockChangeInit(XV_HdmiRxSs *InstancePtr) ******************************************************************************/ void XV_HdmiRxSs_ReportTiming(XV_HdmiRxSs *InstancePtr) { - // Check is the RX stream is up - if (XV_HdmiRx_IsStreamUp(InstancePtr->HdmiRxPtr)) { - XV_HdmiRx_DebugInfo(InstancePtr->HdmiRxPtr); - xil_printf("VIC: %0d\n\r", InstancePtr->HdmiRxPtr->Stream.Vic); - xil_printf("Scrambled: %0d\n\r", - (XV_HdmiRx_IsStreamScrambled(InstancePtr->HdmiRxPtr))); - xil_printf("Audio channels: %0d\n\r", - (XV_HdmiRx_GetAudioChannels(InstancePtr->HdmiRxPtr))); - print("\n\r"); - } + // Check is the RX stream is up + if (XV_HdmiRx_IsStreamUp(InstancePtr->HdmiRxPtr)) { + XV_HdmiRx_DebugInfo(InstancePtr->HdmiRxPtr); + xil_printf("VIC: %0d\n\r", InstancePtr->HdmiRxPtr->Stream.Vic); + xil_printf("Scrambled: %0d\n\r", + (XV_HdmiRx_IsStreamScrambled(InstancePtr->HdmiRxPtr))); + xil_printf("Audio channels: %0d\n\r", + (XV_HdmiRx_GetAudioChannels(InstancePtr->HdmiRxPtr))); + print("\n\r"); + } - // No stream - else { - print("No HDMI RX stream\n\r\n\r"); - } + // No stream + else { + print("No HDMI RX stream\n\r\n\r"); + } } /*****************************************************************************/ @@ -1130,27 +1126,27 @@ void XV_HdmiRxSs_ReportLinkQuality(XV_HdmiRxSs *InstancePtr) for (Channel = 0; Channel < 3; Channel++) { - Errors = XV_HdmiRx_GetLinkStatus(InstancePtr->HdmiRxPtr, Channel); + Errors = XV_HdmiRx_GetLinkStatus(InstancePtr->HdmiRxPtr, Channel); - xil_printf("Link quality channel %0d : ", Channel); + xil_printf("Link quality channel %0d : ", Channel); - if (Errors == 0) { - xil_printf("excellent"); - } + if (Errors == 0) { + xil_printf("excellent"); + } - else if ((Errors > 0) && (Errors < 1024)) { - xil_printf("good"); - } + else if ((Errors > 0) && (Errors < 1024)) { + xil_printf("good"); + } - else if ((Errors > 1024) && (Errors < 16384)) { - xil_printf("average"); - } + else if ((Errors > 1024) && (Errors < 16384)) { + xil_printf("average"); + } - else { - xil_printf("bad"); - } + else { + xil_printf("bad"); + } - xil_printf(" (%0d)\n\r", Errors); + xil_printf(" (%0d)\n\r", Errors); } /* Clear link error counters */ @@ -1172,7 +1168,7 @@ void XV_HdmiRxSs_ReportLinkQuality(XV_HdmiRxSs *InstancePtr) void XV_HdmiRxSs_ReportAudio(XV_HdmiRxSs *InstancePtr) { xil_printf("Channels : %d\n\r", - XV_HdmiRx_GetAudioChannels(InstancePtr->HdmiRxPtr)); + XV_HdmiRx_GetAudioChannels(InstancePtr->HdmiRxPtr)); xil_printf("ARC CTS : %d\n\r", XV_HdmiRx_GetAcrCts(InstancePtr->HdmiRxPtr)); xil_printf("ARC N : %d\n\r", XV_HdmiRx_GetAcrN(InstancePtr->HdmiRxPtr)); print("\n\r"); @@ -1214,14 +1210,14 @@ void XV_HdmiRxSs_ReportSubcoreVersion(XV_HdmiRxSs *InstancePtr) if(InstancePtr->HdmiRxPtr) { Data = XV_HdmiRx_GetVersion(InstancePtr->HdmiRxPtr); - xil_printf(" HDMI RX version : %02d.%02d (%04x)\n\r", - ((Data >> 24) & 0xFF), ((Data >> 16) & 0xFF), (Data & 0xFFFF)); + xil_printf(" HDMI RX version : %02d.%02d (%04x)\n\r", + ((Data >> 24) & 0xFF), ((Data >> 16) & 0xFF), (Data & 0xFFFF)); } if (InstancePtr->HdcpPtr){ - Data = XHdcp1x_GetVersion(InstancePtr->HdcpPtr); - xil_printf(" HDCP RX version : %02d.%02d (%04x)\n\r", - ((Data >> 24) & 0xFF), ((Data >> 16) & 0xFF), (Data & 0xFFFF)); + Data = XHdcp1x_GetVersion(InstancePtr->HdcpPtr); + xil_printf(" HDCP RX version : %02d.%02d (%04x)\n\r", + ((Data >> 24) & 0xFF), ((Data >> 16) & 0xFF), (Data & 0xFFFF)); } } @@ -1242,22 +1238,22 @@ void XV_HdmiRxSs_ReportSubcoreVersion(XV_HdmiRxSs *InstancePtr) ******************************************************************************/ void XV_HdmiRxSs_HdcpEnable(XV_HdmiRxSs *InstancePtr, u8 Enable) { - XV_HdmiRxSs *HdmiRxSsPtr = InstancePtr; + XV_HdmiRxSs *HdmiRxSsPtr = InstancePtr; - if(Enable){ - /* Enable hdcp interface */ - XHdcp1x_Enable(HdmiRxSsPtr->HdcpPtr); + if(Enable){ + /* Enable hdcp interface */ + XHdcp1x_Enable(HdmiRxSsPtr->HdcpPtr); - /* Set the RX HDCP state to up */ - XHdcp1x_SetPhysicalState(HdmiRxSsPtr->HdcpPtr, TRUE); - } - else { - /* Set the RX HDCP state to down */ - XHdcp1x_SetPhysicalState(HdmiRxSsPtr->HdcpPtr, FALSE); + /* Set the RX HDCP state to up */ + XHdcp1x_SetPhysicalState(HdmiRxSsPtr->HdcpPtr, TRUE); + } + else { + /* Set the RX HDCP state to down */ + XHdcp1x_SetPhysicalState(HdmiRxSsPtr->HdcpPtr, FALSE); - /* Disable hdcp interface */ - XHdcp1x_Disable(HdmiRxSsPtr->HdcpPtr); - } + /* Disable hdcp interface */ + XHdcp1x_Disable(HdmiRxSsPtr->HdcpPtr); + } } /*****************************************************************************/ @@ -1267,7 +1263,7 @@ void XV_HdmiRxSs_HdcpEnable(XV_HdmiRxSs *InstancePtr, u8 Enable) * stream is encrypted. The traffic is encrypted if the encryption bit map * is non-zero and the interface is authenticated. * -* @return Truth value indicating encrypted (TRUE) or not (FALSE). +* @return Truth value indicating encrypted (TRUE) or not (FALSE). * * @note * This function is intended to be called from within the main loop of the @@ -1276,14 +1272,14 @@ void XV_HdmiRxSs_HdcpEnable(XV_HdmiRxSs *InstancePtr, u8 Enable) ******************************************************************************/ u8 XV_HdmiRxSs_HdcpPoll(XV_HdmiRxSs *InstancePtr) { - /* Locals */ - XV_HdmiRxSs *HdmiRxSsPtr = InstancePtr; + /* Locals */ + XV_HdmiRxSs *HdmiRxSsPtr = InstancePtr; - /* Poll hdcp interface */ - XHdcp1x_Poll(HdmiRxSsPtr->HdcpPtr); + /* Poll hdcp interface */ + XHdcp1x_Poll(HdmiRxSsPtr->HdcpPtr); - /* Return */ - return ((u8) XHdcp1x_IsEncrypted(HdmiRxSsPtr->HdcpPtr)); + /* Return */ + return ((u8) XHdcp1x_IsEncrypted(HdmiRxSsPtr->HdcpPtr)); } /******************************************************************************/ @@ -1302,34 +1298,34 @@ u8 XV_HdmiRxSs_HdcpPoll(XV_HdmiRxSs *InstancePtr) * ******************************************************************************/ static u32 XV_HdmiRxSs_HdcpTimerConvUsToTicks(u32 TimeoutInUs, - u32 ClockFrequency) + u32 ClockFrequency) { - u32 TimeoutFreq = 0; - u32 NumTicks = 0; + u32 TimeoutFreq = 0; + u32 NumTicks = 0; - /* Check for greater than one second */ - if (TimeoutInUs > 1000000ul) { - u32 NumSeconds = 0; + /* Check for greater than one second */ + if (TimeoutInUs > 1000000ul) { + u32 NumSeconds = 0; - /* Determine theNumSeconds */ - NumSeconds = (TimeoutInUs/1000000ul); + /* Determine theNumSeconds */ + NumSeconds = (TimeoutInUs/1000000ul); - /* Update theNumTicks */ - NumTicks = (NumSeconds*ClockFrequency); + /* Update theNumTicks */ + NumTicks = (NumSeconds*ClockFrequency); - /* Adjust theTimeoutInUs */ - TimeoutInUs -= (NumSeconds*1000000ul); - } + /* Adjust theTimeoutInUs */ + TimeoutInUs -= (NumSeconds*1000000ul); + } - /* Convert TimeoutFreq to a frequency */ - TimeoutFreq = 1000; - TimeoutFreq *= 1000; - TimeoutFreq /= TimeoutInUs; + /* Convert TimeoutFreq to a frequency */ + TimeoutFreq = 1000; + TimeoutFreq *= 1000; + TimeoutFreq /= TimeoutInUs; - /* Update NumTicks */ - NumTicks += ((ClockFrequency / TimeoutFreq) + 1); + /* Update NumTicks */ + NumTicks += ((ClockFrequency / TimeoutFreq) + 1); - return (NumTicks); + return (NumTicks); } /*****************************************************************************/ @@ -1349,10 +1345,10 @@ static u32 XV_HdmiRxSs_HdcpTimerConvUsToTicks(u32 TimeoutInUs, ******************************************************************************/ static void XV_HdmiRxSs_HdcpTimerCallback(void* CallBackRef, u8 TimerChannel) { - XHdcp1x* HdcpPtr = CallBackRef; + XHdcp1x* HdcpPtr = CallBackRef; - XHdcp1x_HandleTimeout(HdcpPtr); - return; + XHdcp1x_HandleTimeout(HdcpPtr); + return; } /******************************************************************************/ @@ -1372,38 +1368,38 @@ static void XV_HdmiRxSs_HdcpTimerCallback(void* CallBackRef, u8 TimerChannel) ******************************************************************************/ int XV_HdmiRxSs_HdcpTimerStart(const XHdcp1x* InstancePtr, u16 TimeoutInMs) { - XV_HdmiRxSs_SubCores *SubCorePtr; - XTmrCtr *TimerPtr; - u8 TimerChannel = 0; - u32 TimerOptions = 0; - u32 NumTicks = 0; + XV_HdmiRxSs_SubCores *SubCorePtr; + XTmrCtr *TimerPtr; + u8 TimerChannel = 0; + u32 TimerOptions = 0; + u32 NumTicks = 0; - SubCorePtr = XV_HdmiRxSs_GetSubSysStruct((void*)InstancePtr); - TimerPtr = &SubCorePtr->HdcpTimer; + SubCorePtr = XV_HdmiRxSs_GetSubSysStruct((void*)InstancePtr); + TimerPtr = &SubCorePtr->HdcpTimer; - /* Determine NumTicks */ - NumTicks = XV_HdmiRxSs_HdcpTimerConvUsToTicks((TimeoutInMs*1000ul), - XPAR_CPU_CORE_CLOCK_FREQ_HZ); + /* Determine NumTicks */ + NumTicks = XV_HdmiRxSs_HdcpTimerConvUsToTicks((TimeoutInMs*1000ul), + XPAR_CPU_CORE_CLOCK_FREQ_HZ); - /* Stop it */ - XTmrCtr_Stop(TimerPtr, TimerChannel); + /* Stop it */ + XTmrCtr_Stop(TimerPtr, TimerChannel); - /* Configure the callback */ - XTmrCtr_SetHandler(TimerPtr, &XV_HdmiRxSs_HdcpTimerCallback, - (void*) InstancePtr); + /* Configure the callback */ + XTmrCtr_SetHandler(TimerPtr, &XV_HdmiRxSs_HdcpTimerCallback, + (void*) InstancePtr); - /* Configure the timer options */ - TimerOptions = XTmrCtr_GetOptions(TimerPtr, TimerChannel); - TimerOptions |= XTC_DOWN_COUNT_OPTION; - TimerOptions |= XTC_INT_MODE_OPTION; - TimerOptions &= ~XTC_AUTO_RELOAD_OPTION; - XTmrCtr_SetOptions(TimerPtr, TimerChannel, TimerOptions); + /* Configure the timer options */ + TimerOptions = XTmrCtr_GetOptions(TimerPtr, TimerChannel); + TimerOptions |= XTC_DOWN_COUNT_OPTION; + TimerOptions |= XTC_INT_MODE_OPTION; + TimerOptions &= ~XTC_AUTO_RELOAD_OPTION; + XTmrCtr_SetOptions(TimerPtr, TimerChannel, TimerOptions); - /* Set the timeout and start */ - XTmrCtr_SetResetValue(TimerPtr, TimerChannel, NumTicks); - XTmrCtr_Start(TimerPtr, TimerChannel); + /* Set the timeout and start */ + XTmrCtr_SetResetValue(TimerPtr, TimerChannel, NumTicks); + XTmrCtr_Start(TimerPtr, TimerChannel); - return (XST_SUCCESS); + return (XST_SUCCESS); } @@ -1423,17 +1419,17 @@ int XV_HdmiRxSs_HdcpTimerStart(const XHdcp1x* InstancePtr, u16 TimeoutInMs) ******************************************************************************/ int XV_HdmiRxSs_HdcpTimerStop(const XHdcp1x* InstancePtr) { - XV_HdmiRxSs_SubCores *SubCorePtr; - XTmrCtr *TimerPtr; - u8 TimerChannel = 0; + XV_HdmiRxSs_SubCores *SubCorePtr; + XTmrCtr *TimerPtr; + u8 TimerChannel = 0; - SubCorePtr = XV_HdmiRxSs_GetSubSysStruct((void*)InstancePtr); - TimerPtr = &SubCorePtr->HdcpTimer; + SubCorePtr = XV_HdmiRxSs_GetSubSysStruct((void*)InstancePtr); + TimerPtr = &SubCorePtr->HdcpTimer; - /* Stop it */ - XTmrCtr_Stop(TimerPtr, TimerChannel); + /* Stop it */ + XTmrCtr_Stop(TimerPtr, TimerChannel); - return (XST_SUCCESS); + return (XST_SUCCESS); } @@ -1454,35 +1450,35 @@ int XV_HdmiRxSs_HdcpTimerStop(const XHdcp1x* InstancePtr) ******************************************************************************/ int XV_HdmiRxSs_HdcpTimerBusyDelay(const XHdcp1x* InstancePtr, u16 DelayInMs) { - XV_HdmiRxSs_SubCores *SubCorePtr; - XTmrCtr *TimerPtr; - u8 TimerChannel = 0; - u32 TimerOptions = 0; - u32 NumTicks = 0; + XV_HdmiRxSs_SubCores *SubCorePtr; + XTmrCtr *TimerPtr; + u8 TimerChannel = 0; + u32 TimerOptions = 0; + u32 NumTicks = 0; - SubCorePtr = XV_HdmiRxSs_GetSubSysStruct((void*)InstancePtr); - TimerPtr = &SubCorePtr->HdcpTimer; + SubCorePtr = XV_HdmiRxSs_GetSubSysStruct((void*)InstancePtr); + TimerPtr = &SubCorePtr->HdcpTimer; - /* Determine NumTicks */ - NumTicks = XV_HdmiRxSs_HdcpTimerConvUsToTicks((DelayInMs*1000ul), - XPAR_CPU_CORE_CLOCK_FREQ_HZ); + /* Determine NumTicks */ + NumTicks = XV_HdmiRxSs_HdcpTimerConvUsToTicks((DelayInMs*1000ul), + XPAR_CPU_CORE_CLOCK_FREQ_HZ); - /* Stop it */ - XTmrCtr_Stop(TimerPtr, TimerChannel); + /* Stop it */ + XTmrCtr_Stop(TimerPtr, TimerChannel); - /* Configure the timer options */ - TimerOptions = XTmrCtr_GetOptions(TimerPtr, TimerChannel); - TimerOptions |= XTC_DOWN_COUNT_OPTION; - TimerOptions &= ~XTC_INT_MODE_OPTION; - TimerOptions &= ~XTC_AUTO_RELOAD_OPTION; - XTmrCtr_SetOptions(TimerPtr, TimerChannel, TimerOptions); + /* Configure the timer options */ + TimerOptions = XTmrCtr_GetOptions(TimerPtr, TimerChannel); + TimerOptions |= XTC_DOWN_COUNT_OPTION; + TimerOptions &= ~XTC_INT_MODE_OPTION; + TimerOptions &= ~XTC_AUTO_RELOAD_OPTION; + XTmrCtr_SetOptions(TimerPtr, TimerChannel, TimerOptions); - /* Set the timeout and start */ - XTmrCtr_SetResetValue(TimerPtr, TimerChannel, NumTicks); - XTmrCtr_Start(TimerPtr, TimerChannel); + /* Set the timeout and start */ + XTmrCtr_SetResetValue(TimerPtr, TimerChannel, NumTicks); + XTmrCtr_Start(TimerPtr, TimerChannel); - /* Wait until done */ - while (!XTmrCtr_IsExpired(TimerPtr, TimerChannel)); + /* Wait until done */ + while (!XTmrCtr_IsExpired(TimerPtr, TimerChannel)); - return (XST_SUCCESS); + return (XST_SUCCESS); } diff --git a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss.h b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss.h old mode 100755 new mode 100644 index 6f9e8b33..b7c3e210 --- a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss.h +++ b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss.h @@ -45,12 +45,12 @@ * Subsystem Driver Features * * Video Subsystem supports following features -* - AXI Stream Input/Output interface -* - 1, 2 or 4 pixel-wide video interface -* - 8/10/12/16 bits per component -* - RGB & YCbCr color space -* - Up to 4k2k 60Hz resolution at both Input and Output interface -* - Interlaced input support (1080i 50Hz/60Hz) +* - AXI Stream Input/Output interface +* - 1, 2 or 4 pixel-wide video interface +* - 8/10/12/16 bits per component +* - RGB & YCbCr color space +* - Up to 4k2k 60Hz resolution at both Input and Output interface +* - Interlaced input support (1080i 50Hz/60Hz) * *
 * MODIFICATION HISTORY:
@@ -88,15 +88,15 @@ extern "C" {
 * interrupt requests from peripheral.
 */
 typedef enum {
-  XV_HDMIRXSS_HANDLER_CONNECT = 1,     /**< A connect event interrupt type */
-  XV_HDMIRXSS_HANDLER_AUX,                     /**< Interrupt type for AUX peripheral */
-  XV_HDMIRXSS_HANDLER_AUD,                     /**< Interrupt type for AUD peripheral */
-  XV_HDMIRXSS_HANDLER_LNKSTA,          /**< Interrupt type for LNKSTA peripheral */
-  XV_HDMIRXSS_HANDLER_DDC,                     /**< Interrupt type for DDC     peripheral */
-  XV_HDMIRXSS_HANDLER_STREAM_DOWN,     /**< Interrupt type for stream down */
-  XV_HDMIRXSS_HANDLER_STREAM_INIT,     /**< Interrupt type for stream init */
-  XV_HDMIRXSS_HANDLER_STREAM_UP,       /**< Interrupt type for stream up */
-  XV_HDMIRXSS_HANDLER_HDCP                     /**< Interrupt type for hdcp */
+  XV_HDMIRXSS_HANDLER_CONNECT = 1,	/**< A connect event interrupt type */
+  XV_HDMIRXSS_HANDLER_AUX,			/**< Interrupt type for AUX peripheral */
+  XV_HDMIRXSS_HANDLER_AUD,			/**< Interrupt type for AUD peripheral */
+  XV_HDMIRXSS_HANDLER_LNKSTA,		/**< Interrupt type for LNKSTA peripheral */
+  XV_HDMIRXSS_HANDLER_DDC,			/**< Interrupt type for DDC	peripheral */
+  XV_HDMIRXSS_HANDLER_STREAM_DOWN,	/**< Interrupt type for stream down */
+  XV_HDMIRXSS_HANDLER_STREAM_INIT,	/**< Interrupt type for stream init */
+  XV_HDMIRXSS_HANDLER_STREAM_UP,	/**< Interrupt type for stream up */
+  XV_HDMIRXSS_HANDLER_HDCP			/**< Interrupt type for hdcp */
 } XV_HdmiRxSs_HandlerType;
 /*@}*/
 
@@ -118,11 +118,11 @@ typedef struct
 
 typedef struct
 {
-  u16 DeviceId;                /**< DeviceId is the unique ID  of the device */
-  u32 BaseAddress;     /**< BaseAddress is the physical base address of the
-                                               subsystem address range */
-  u32 HighAddress;     /**< HighAddress is the physical MAX address of the
-                                               subsystem address range */
+  u16 DeviceId;	   	/**< DeviceId is the unique ID  of the device */
+  u32 BaseAddress; 	/**< BaseAddress is the physical base address of the
+						subsystem address range */
+  u32 HighAddress; 	/**< HighAddress is the physical MAX address of the
+						subsystem address range */
   XVidC_PixelsPerClock Ppc;         /**< Supported Pixel per Clock */
   u8 MaxBitsPerPixel;               /**< Maximum  Supported Color Depth */
   XV_HdmiRxSs_SubCore HdcpTimer;    /**< Sub-core instance configuration */
@@ -151,44 +151,44 @@ typedef void (*XV_HdmiRxSs_Callback)(void *CallbackRef);
 */
 typedef struct
 {
-  XV_HdmiRxSs_Config Config;   /**< Hardware configuration */
-  u32 IsReady;                     /**< Device and the driver instance are
+  XV_HdmiRxSs_Config Config;	/**< Hardware configuration */
+  u32 IsReady;		            /**< Device and the driver instance are
                                      initialized */
   XTmrCtr *HdcpTimerPtr;           /**< handle to sub-core driver instance */
   XHdcp1x *HdcpPtr;                /**< handle to sub-core driver instance */
   XV_HdmiRx *HdmiRxPtr;             /**< handle to sub-core driver instance */
 
   /*Callbacks */
-  XV_HdmiRxSs_Callback ConnectCallback;        /**< Callback for connect event
-                                                                               * interrupt */
-  void *ConnectRef;    /**< To be passed to the connect interrupt callback */
+  XV_HdmiRxSs_Callback ConnectCallback;	/**< Callback for connect event
+										* interrupt */
+  void *ConnectRef;	/**< To be passed to the connect interrupt callback */
 
-  XV_HdmiRxSs_Callback AuxCallback;            /**< Callback for AUX event interrupt */
-  void *AuxRef;                /**< To be passed to the AUX interrupt callback */
+  XV_HdmiRxSs_Callback AuxCallback;		/**< Callback for AUX event interrupt */
+  void *AuxRef;		/**< To be passed to the AUX interrupt callback */
 
-  XV_HdmiRxSs_Callback AudCallback;            /**< Callback for AUD event interrupt */
-  void *AudRef;                /**< To be passed to the Audio interrupt callback */
+  XV_HdmiRxSs_Callback AudCallback;		/**< Callback for AUD event interrupt */
+  void *AudRef;		/**< To be passed to the Audio interrupt callback */
 
-  XV_HdmiRxSs_Callback LnkStaCallback; /**< Callback for LNKSTA event
-                                                                               * interrupt */
-  void *LnkStaRef;     /**< To be passed to the LNKSTA interrupt callback */
+  XV_HdmiRxSs_Callback LnkStaCallback;	/**< Callback for LNKSTA event
+										* interrupt */
+  void *LnkStaRef;	/**< To be passed to the LNKSTA interrupt callback */
 
-  XV_HdmiRxSs_Callback DdcCallback;            /**< Callback for PDDC interrupt */
-  void *DdcRef;                /**< To be passed to the DDC interrupt callback */
+  XV_HdmiRxSs_Callback DdcCallback;		/**< Callback for PDDC interrupt */
+  void *DdcRef;		/**< To be passed to the DDC interrupt callback */
 
   XV_HdmiRxSs_Callback StreamDownCallback; /**< Callback for stream down
-                                                                                       * callback */
-  void *StreamDownRef; /**< To be passed to the stream down callback */
+											* callback */
+  void *StreamDownRef;	/**< To be passed to the stream down callback */
 
-  XV_HdmiRxSs_Callback StreamInitCallback;     /**< Callback for stream init
-                                                                                       * callback */
-  void *StreamInitRef; /**< To be passed to the stream start callback */
+  XV_HdmiRxSs_Callback StreamInitCallback;	/**< Callback for stream init
+											* callback */
+  void *StreamInitRef;	/**< To be passed to the stream start callback */
 
   XV_HdmiRxSs_Callback StreamUpCallback; /**< Callback for stream up callback */
-  void *StreamUpRef;   /**< To be passed to the stream up callback */
+  void *StreamUpRef;	/**< To be passed to the stream up callback */
 
-  XV_HdmiRxSs_Callback HdcpCallback;   /**< Callback for hdcp callback */
-  void *HdcpRef;               /**< To be passed to the hdcp callback */
+  XV_HdmiRxSs_Callback HdcpCallback;	/**< Callback for hdcp callback */
+  void *HdcpRef;		/**< To be passed to the hdcp callback */
 
   // Scratch pad
   u8 IsStreamConnected;         /**< HDMI RX Stream Connected */
@@ -198,11 +198,11 @@ typedef struct
   u16 EdidLength;               /**< Default Edid Length */
   u8 TMDSClockRatio;            /**< HDMI RX TMDS clock ratio */
 
-       XVidC_DelayHandler UserTimerWaitUs;     /**< Custom user function for
-                                                       delay/sleep. */
-       void *UserTimerPtr;           /**< Pointer to a timer instance
-                                                       used by the custom user
-                                                       delay/sleep function. */
+	XVidC_DelayHandler UserTimerWaitUs;	/**< Custom user function for
+							delay/sleep. */
+	void *UserTimerPtr;           /**< Pointer to a timer instance
+							used by the custom user
+							delay/sleep function. */
 } XV_HdmiRxSs;
 
 /************************** Macros Definitions *******************************/
@@ -211,31 +211,30 @@ typedef struct
 XV_HdmiRxSs_Config* XV_HdmiRxSs_LookupConfig(u32 DeviceId);
 void XV_HdmiRxSs_ReportCoreInfo(XV_HdmiRxSs *InstancePtr);
 void XV_HdmiRxSs_SetUserTimerHandler(XV_HdmiRxSs *InstancePtr,
-               XVidC_DelayHandler CallbackFunc, void *CallbackRef);
+		XVidC_DelayHandler CallbackFunc, void *CallbackRef);
 void XV_HdmiRxSS_HdmiRxIntrHandler(XV_HdmiRxSs *InstancePtr);
 void XV_HdmiRxSS_HdcpIntrHandler(XV_HdmiRxSs *InstancePtr);
 void XV_HdmiRxSS_HdcpTimerIntrHandler(XV_HdmiRxSs *InstancePtr);
 int XV_HdmiRxSs_CfgInitialize(XV_HdmiRxSs *InstancePtr,
-       XV_HdmiRxSs_Config *CfgPtr,
-       u32 EffectiveAddr);
+	XV_HdmiRxSs_Config *CfgPtr,
+	u32 EffectiveAddr);
 void XV_HdmiRxSs_Start(XV_HdmiRxSs *InstancePtr);
 void XV_HdmiRxSs_Stop(XV_HdmiRxSs *InstancePtr);
 void XV_HdmiRxSs_Reset(XV_HdmiRxSs *InstancePtr);
 int XV_HdmiRxSs_SetCallback(XV_HdmiRxSs *InstancePtr,
-       u32 HandlerType,
-       void *CallbackFunc,
-       void *CallbackRef);
+	u32 HandlerType,
+	void *CallbackFunc,
+	void *CallbackRef);
 void XV_HdmiRxSs_SetEdidParam(XV_HdmiRxSs *InstancePtr, u8 *EdidDataPtr,
-                                                                                                                               u16 Length);
+																u16 Length);
 void XV_HdmiRxSs_LoadDefaultEdid(XV_HdmiRxSs *InstancePtr);
 void XV_HdmiRxSs_LoadEdid(XV_HdmiRxSs *InstancePtr, u8 *EdidDataPtr,
-                                                                                                                               u16 Length);
+																u16 Length);
 void XV_HdmiRxSs_ToggleHpd(XV_HdmiRxSs *InstancePtr);
 XV_HdmiRx_Aux *XV_HdmiRxSs_GetAuxiliary(XV_HdmiRxSs *InstancePtr);
 u32 XV_HdmiRxSs_SetStream(XV_HdmiRxSs *InstancePtr,
-       XVidC_PixelsPerClock Ppc,
-       u32 Clock,
-       u32 LineRate);
+	u32 Clock,
+	u32 LineRate);
 XVidC_VideoStream *XV_HdmiRxSs_GetVideoStream(XV_HdmiRxSs *InstancePtr);
 u8 XV_HdmiRxSs_GetVideoIDCode(XV_HdmiRxSs *InstancePtr);
 u8 XV_HdmiRxSs_GetVideoStreamType(XV_HdmiRxSs *InstancePtr);
diff --git a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_coreinit.c b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_coreinit.c
old mode 100755
new mode 100644
index be3dc9ed..d404181a
--- a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_coreinit.c
+++ b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_coreinit.c
@@ -63,9 +63,9 @@
 
 /************************** Function Prototypes ******************************/
 static int XV_HdmiRxSs_ComputeSubcoreAbsAddr(u32 SubSys_BaseAddr,
-                                        u32 SubSys_HighAddr,
-                                        u32 subcore_offset,
-                                        u32 *SubCore_BaseAddr);
+		                         u32 SubSys_HighAddr,
+		                         u32 subcore_offset,
+		                         u32 *SubCore_BaseAddr);
 
 
 /*****************************************************************************/
@@ -86,9 +86,9 @@ static int XV_HdmiRxSs_ComputeSubcoreAbsAddr(u32 SubSys_BaseAddr,
 *
 ******************************************************************************/
 static int XV_HdmiRxSs_ComputeSubcoreAbsAddr(u32 SubSys_BaseAddr,
-                                        u32 SubSys_HighAddr,
-                                        u32 SubCore_Offset,
-                                        u32 *SubCore_BaseAddr)
+		                         u32 SubSys_HighAddr,
+		                         u32 SubCore_Offset,
+		                         u32 *SubCore_BaseAddr)
 {
   int Status;
   u32 absAddr;
@@ -101,8 +101,8 @@ static int XV_HdmiRxSs_ComputeSubcoreAbsAddr(u32 SubSys_BaseAddr,
   }
   else
   {
-       *SubCore_BaseAddr = 0;
-       Status = XST_FAILURE;
+	*SubCore_BaseAddr = 0;
+	Status = XST_FAILURE;
   }
 
   return(Status);
@@ -125,7 +125,7 @@ int XV_HdmiRxSs_SubcoreInitHdmiRx(XV_HdmiRxSs *HdmiRxSsPtr)
 
   if(HdmiRxSsPtr->HdmiRxPtr)
   {
-       /* Get core configuration */
+	/* Get core configuration */
     xdbg_printf(XDBG_DEBUG_GENERAL,"    ->Initializing HDMI RX core.... \r\n");
     ConfigPtr  = XV_HdmiRx_LookupConfig(HdmiRxSsPtr->Config.HdmiRx.DeviceId);
     if(ConfigPtr == NULL)
@@ -134,28 +134,28 @@ int XV_HdmiRxSs_SubcoreInitHdmiRx(XV_HdmiRxSs *HdmiRxSsPtr)
       return(XST_FAILURE);
     }
 
-       /* Compute absolute base address */
+	/* Compute absolute base address */
     AbsAddr = 0;
     Status = XV_HdmiRxSs_ComputeSubcoreAbsAddr(HdmiRxSsPtr->Config.BaseAddress,
-                                      HdmiRxSsPtr->Config.HighAddress,
-                                      HdmiRxSsPtr->Config.HdmiRx.AddrOffset,
-                                      &AbsAddr);
+		                       HdmiRxSsPtr->Config.HighAddress,
+		                       HdmiRxSsPtr->Config.HdmiRx.AddrOffset,
+		                       &AbsAddr);
 
     if(Status != XST_SUCCESS)
     {
       xil_printf("HDMIRXSS ERR:: HDMI RX core base address (0x%x) \
-               invalid %d\r\n", AbsAddr);
+		invalid %d\r\n", AbsAddr);
       return(XST_FAILURE);
     }
 
-       /* Initialize core */
+	/* Initialize core */
     Status = XV_HdmiRx_CfgInitialize(HdmiRxSsPtr->HdmiRxPtr,
                                     ConfigPtr,
                                     AbsAddr);
 
     // Load EDID
     XV_HdmiRx_DdcLoadEdid(HdmiRxSsPtr->HdmiRxPtr, HdmiRxSsPtr->EdidPtr,
-               HdmiRxSsPtr->EdidLength);
+		HdmiRxSsPtr->EdidLength);
 
     /* Reset the hardware and set the flag to indicate the
        subsystem is ready
@@ -190,9 +190,9 @@ int XV_HdmiRxSs_SubcoreInitHdcpTimer(XV_HdmiRxSs *HdmiRxSsPtr)
 
   if(HdmiRxSsPtr->HdcpTimerPtr)
   {
-       /* Get core configuration */
+	/* Get core configuration */
     xdbg_printf(XDBG_DEBUG_GENERAL,"    \
-               ->Initializing AXI Timer core.... \r\n");
+		->Initializing AXI Timer core.... \r\n");
     ConfigPtr  = XTmrCtr_LookupConfig(HdmiRxSsPtr->Config.HdcpTimer.DeviceId);
     if(ConfigPtr == NULL)
     {
@@ -200,26 +200,26 @@ int XV_HdmiRxSs_SubcoreInitHdcpTimer(XV_HdmiRxSs *HdmiRxSsPtr)
       return(XST_FAILURE);
     }
 
-       /* Compute absolute base address */
+	/* Compute absolute base address */
     AbsAddr = 0;
     Status = XV_HdmiRxSs_ComputeSubcoreAbsAddr(HdmiRxSsPtr->Config.BaseAddress,
-                                      HdmiRxSsPtr->Config.HighAddress,
-                                      HdmiRxSsPtr->Config.HdcpTimer.AddrOffset,
-                                      &AbsAddr);
+		                       HdmiRxSsPtr->Config.HighAddress,
+		                       HdmiRxSsPtr->Config.HdcpTimer.AddrOffset,
+		                       &AbsAddr);
 
     if(Status != XST_SUCCESS)
     {
       xil_printf("HDMIRXSS ERR:: AXI Timer core base address (0x%x) \
-               invalid %d\r\n", AbsAddr);
+		invalid %d\r\n", AbsAddr);
       return(XST_FAILURE);
     }
 
-       /* Setup the instance */
-       memset(HdmiRxSsPtr->HdcpTimerPtr, 0, sizeof(XTmrCtr));
+	/* Setup the instance */
+	memset(HdmiRxSsPtr->HdcpTimerPtr, 0, sizeof(XTmrCtr));
 
-       /* Initialize core */
-       XTmrCtr_CfgInitialize(HdmiRxSsPtr->HdcpTimerPtr, ConfigPtr, AbsAddr);
-       Status = XTmrCtr_InitHw(HdmiRxSsPtr->HdcpTimerPtr);
+	/* Initialize core */
+	XTmrCtr_CfgInitialize(HdmiRxSsPtr->HdcpTimerPtr, ConfigPtr, AbsAddr);
+	Status = XTmrCtr_InitHw(HdmiRxSsPtr->HdcpTimerPtr);
 
     if(Status != XST_SUCCESS)
     {
@@ -247,7 +247,7 @@ int XV_HdmiRxSs_SubcoreInitHdcp(XV_HdmiRxSs *HdmiRxSsPtr)
 
   if(HdmiRxSsPtr->HdcpPtr)
   {
-       /* Get core configuration */
+	/* Get core configuration */
     xdbg_printf(XDBG_DEBUG_GENERAL,"    ->Initializing HDCP core.... \r\n");
     ConfigPtr  = XHdcp1x_LookupConfig(HdmiRxSsPtr->Config.Hdcp.DeviceId);
     if(ConfigPtr == NULL)
@@ -256,39 +256,39 @@ int XV_HdmiRxSs_SubcoreInitHdcp(XV_HdmiRxSs *HdmiRxSsPtr)
       return(XST_FAILURE);
     }
 
-       /* Compute absolute base address */
+	/* Compute absolute base address */
     AbsAddr = 0;
     Status = XV_HdmiRxSs_ComputeSubcoreAbsAddr(HdmiRxSsPtr->Config.BaseAddress,
-                                      HdmiRxSsPtr->Config.HighAddress,
-                                      HdmiRxSsPtr->Config.Hdcp.AddrOffset,
-                                      &AbsAddr);
+		                       HdmiRxSsPtr->Config.HighAddress,
+		                       HdmiRxSsPtr->Config.Hdcp.AddrOffset,
+		                       &AbsAddr);
 
     if(Status != XST_SUCCESS)
     {
       xil_printf("HDMIRXSS ERR:: HDCP core base address (0x%x) invalid %d\r\n",
-               AbsAddr);
+		AbsAddr);
       return(XST_FAILURE);
     }
 
-       /* Initialize core */
+	/* Initialize core */
     void *PhyIfPtr = HdmiRxSsPtr->HdmiRxPtr;
     Status = XHdcp1x_CfgInitialize(HdmiRxSsPtr->HdcpPtr,
                                       ConfigPtr,
                                       PhyIfPtr,
-                                                                         AbsAddr);
+									  AbsAddr);
 
-       /* Self-test the hdcp interface */
-       if (XHdcp1x_SelfTest(HdmiRxSsPtr->HdcpPtr) != XST_SUCCESS) {
-               Status = XST_FAILURE;
-       }
+	/* Self-test the hdcp interface */
+	if (XHdcp1x_SelfTest(HdmiRxSsPtr->HdcpPtr) != XST_SUCCESS) {
+		Status = XST_FAILURE;
+	}
 
-       if(Status != XST_SUCCESS)
+	if(Status != XST_SUCCESS)
     {
       xil_printf("HDMIRXSS ERR:: HDCP Initialization failed\r\n");
       return(XST_FAILURE);
     }
 
-       XHdcp1x_SetKeySelect(HdmiRxSsPtr->HdcpPtr, XV_HDMIRXSS_HDCP_KEYSEL);
+	XHdcp1x_SetKeySelect(HdmiRxSsPtr->HdcpPtr, XV_HDMIRXSS_HDCP_KEYSEL);
   }
   return(XST_SUCCESS);
 }
diff --git a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_coreinit.h b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_coreinit.h
old mode 100755
new mode 100644
diff --git a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_g.c b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_g.c
old mode 100755
new mode 100644
index b3afe894..316bcb5e
--- a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_g.c
+++ b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_g.c
@@ -48,15 +48,15 @@
 */
 
 #ifndef XPAR_V_HDMI_RX_SS_0_AXI_TIMER_DEVICE_ID
-#define XPAR_V_HDMI_RX_SS_0_AXI_TIMER_PRESENT  0
+#define XPAR_V_HDMI_RX_SS_0_AXI_TIMER_PRESENT 	0
 #define XPAR_V_HDMI_RX_SS_0_AXI_TIMER_DEVICE_ID 255
-#define XPAR_V_HDMI_RX_SS_0_AXI_TIMER_BASEADDR         0xFFFFFFFF
+#define XPAR_V_HDMI_RX_SS_0_AXI_TIMER_BASEADDR 	0xFFFFFFFF
 #endif
 
 #ifndef XPAR_V_HDMI_RX_SS_0_HDCP_1_4_DEVICE_ID
-#define XPAR_V_HDMI_RX_SS_0_HDCP_1_4_PRESENT   0
-#define XPAR_V_HDMI_RX_SS_0_HDCP_1_4_DEVICE_ID         255
-#define XPAR_V_HDMI_RX_SS_0_HDCP_1_4_BASEADDR  0xFFFFFFFF
+#define XPAR_V_HDMI_RX_SS_0_HDCP_1_4_PRESENT 	0
+#define XPAR_V_HDMI_RX_SS_0_HDCP_1_4_DEVICE_ID 	255
+#define XPAR_V_HDMI_RX_SS_0_HDCP_1_4_BASEADDR 	0xFFFFFFFF
 #endif
 
 #ifndef XPAR_V_HDMI_RX_SS_0_V_HDMI_RX_DEVICE_ID
@@ -67,27 +67,27 @@
 
 XV_HdmiRxSs_Config XV_HdmiRxSs_ConfigTable[] =
 {
-       {
-               XPAR_V_HDMI_RX_SS_0_DEVICE_ID,
-               XPAR_V_HDMI_RX_SS_0_BASEADDR,
-               XPAR_V_HDMI_RX_SS_0_HIGHADDR,
-               XPAR_V_HDMI_RX_SS_0_INPUT_PIXELS_PER_CLOCK,
-               XPAR_V_HDMI_RX_SS_0_MAX_BITS_PER_COMPONENT,
+	{
+		XPAR_V_HDMI_RX_SS_0_DEVICE_ID,
+		XPAR_V_HDMI_RX_SS_0_BASEADDR,
+		XPAR_V_HDMI_RX_SS_0_HIGHADDR,
+		XPAR_V_HDMI_RX_SS_0_INPUT_PIXELS_PER_CLOCK,
+		XPAR_V_HDMI_RX_SS_0_MAX_BITS_PER_COMPONENT,
 
-               {
-                       XPAR_V_HDMI_RX_SS_0_AXI_TIMER_PRESENT,
-                       XPAR_V_HDMI_RX_SS_0_AXI_TIMER_DEVICE_ID,
-                       XPAR_V_HDMI_RX_SS_0_AXI_TIMER_BASEADDR
-               },
-               {
-                       XPAR_V_HDMI_RX_SS_0_HDCP_1_4_PRESENT,
-                       XPAR_V_HDMI_RX_SS_0_HDCP_1_4_DEVICE_ID,
-                       XPAR_V_HDMI_RX_SS_0_HDCP_1_4_BASEADDR
-               },
-               {
-                       XPAR_V_HDMI_RX_SS_0_V_HDMI_RX_PRESENT,
-                       XPAR_V_HDMI_RX_SS_0_V_HDMI_RX_DEVICE_ID,
-                       XPAR_V_HDMI_RX_SS_0_V_HDMI_RX_BASEADDR
-               },
-       }
+		{
+			XPAR_V_HDMI_RX_SS_0_AXI_TIMER_PRESENT,
+			XPAR_V_HDMI_RX_SS_0_AXI_TIMER_DEVICE_ID,
+			XPAR_V_HDMI_RX_SS_0_AXI_TIMER_BASEADDR
+		},
+		{
+			XPAR_V_HDMI_RX_SS_0_HDCP_1_4_PRESENT,
+			XPAR_V_HDMI_RX_SS_0_HDCP_1_4_DEVICE_ID,
+			XPAR_V_HDMI_RX_SS_0_HDCP_1_4_BASEADDR
+		},
+		{
+			XPAR_V_HDMI_RX_SS_0_V_HDMI_RX_PRESENT,
+			XPAR_V_HDMI_RX_SS_0_V_HDMI_RX_DEVICE_ID,
+			XPAR_V_HDMI_RX_SS_0_V_HDMI_RX_BASEADDR
+		},
+	}
 };
diff --git a/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_sinit.c b/XilinxProcessorIPLib/drivers/v_hdmirxss/src/xv_hdmirxss_sinit.c
old mode 100755
new mode 100644