Board and atmega 328p both are fine but there is problem in atmega16u2 I don't know wt the problem is.
Here are a couple of ways to re-burn the firmware on an atmega16u2. If you can not put the chip into DFU mode this may be the way to get it working again. You will need either a Arduino to use as "Arduino As ISP" or a regular ISP programmer.
https://www.sunfounder.com/forum/how-to-reburn-hardware-onto-atmega16u2