FFT of triangular wave
Do i have any mistakes in my code ?


Code seems clean. I would instead replace 

% Calculate Spectrum
Y = fft(y_in,NFFT)/NFFT;
f = (Fs/1e6)*linspace(-0.5,0.5,NFFT); % it is better to center your spectrum

Ydb = 20*log10(abs(Y(1:NFFT))) + 6.02;

% % Plot amplitude spectrum.

plot(f,Ydb)
hold on
grid on

xlabel('Frequency (MHz)')
ylabel('dB')
set(gca,'YTick',-150:25:0)



  The response should have been $\text{sinc}^2$ .. i dont see it


It's not a sinc, per say. According to Fourier series, you can write a sawtooth wave as 
$$x(t) = - \frac{A}{\pi}\sum_{n=1}^{\infty} \frac{1}{n} \sin n \omega t$$
To verify plot

plot(real(Y(1:NFFT)))



  Why the difference between two plots.. i mean more spurs when ip is 5.5 mhz


Note that the spectral information is in $[-f_{in},f_{in}]$. The FFT will display you information in $[-\frac{F_s}{2},\frac{F_s}{2}]$ in discritized bins. Therefore, anything outside the band of interest [-5,5] MHz serves as a replica. 


  The amp peak should be in 1 in fft .. it -1.825 dbfs .. ? why ?


I don't quite get what you mean here.