Well if you connector is 10 pin then you aren't using a Xilinx JTAG programming pod. Did you make sure the pinout of your pod matches the connector pinout on the PCB?
You say the connections are true and you checked them carefully. Did you check them on the PCB with an ohm meter?
JTAG supersedes all other programming modes, so it shouldn't matter how you connect the rest of the circuit outside of correctly connecting power and ground to the FPGA and making sure that the dedicated programming pins aren't shorted/force to the wrong state after power is applied.
As your original post stated.
when I scan JTAG it said no hardware connected.
That means you must have the wrong connections to the JTAG programming pod (with the 10-pin connector) that you are using. Make sure that the programming pod you are using considers TDO an INPUT to the pod and that TDI is the output.
Given that you chained FPGA-TDO to Flash-TDI:
POD-TDO <== Flash-TDO
POD-TDI ==> FPGA-TDI
for a Xilinx or Xilinx like pod
If the pod uses the opposite nomenclature: Pod thinks TDO is it's output and TDI is it's input.
POD-TDO ==> FPGA-TDI
POD-TDI <== Flash-TDO
- - - Updated - - -
Have you tried putting a scope on TCK on the FPGA and see if there is a clock when you try to connect to the target? There should be a number of TCK clocks generated by the pod when it analyzes the chain.
- - - Updated - - -
Oh, I forgot to mention previously that the DONE pin being driven low after power up is normal. It won't go high until the FPGA is configured.