Make a square, pretty big (this one is 1000 x 1000, 300 dpi) fill it with medium grey (808080).
Fiters > Noise > HSV Noise
Slide all the sliders as far right as they'll go. Repeat this step three times. (Make it real noisy.)
Desaturate, duplicate layer.
Filters > Blur > Motion Blur
Linear, Length 20, Angle 0
Brightness/Contrast
slide contrast up to about 25 to bring out the dark streaks better.
Lower opacity of this blurred layer to about 50-60% (depends on how you like it)
When you got a good mix of grain versus streaks, merge layers and duplicate again.
Gaussian Blur copy layer at about 5, just enough to wash out the specks.
Bump map at default settings with the bottom, unblurred layer as the map.
Push the bottom layer (map layer) to the top and set layer mode as overlay.
This is your basic granite texture. You can play around with colors, saturation, levels and grunge. This rock is solid and will take it all. You got my bedrock guarantee.